Instructions to use tangledgroup/tangled-alpha-0.2-core with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use tangledgroup/tangled-alpha-0.2-core with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="tangledgroup/tangled-alpha-0.2-core") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("tangledgroup/tangled-alpha-0.2-core", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use tangledgroup/tangled-alpha-0.2-core with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "tangledgroup/tangled-alpha-0.2-core" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "tangledgroup/tangled-alpha-0.2-core", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/tangledgroup/tangled-alpha-0.2-core
- SGLang
How to use tangledgroup/tangled-alpha-0.2-core with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "tangledgroup/tangled-alpha-0.2-core" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "tangledgroup/tangled-alpha-0.2-core", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "tangledgroup/tangled-alpha-0.2-core" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "tangledgroup/tangled-alpha-0.2-core", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use tangledgroup/tangled-alpha-0.2-core with Docker Model Runner:
docker model run hf.co/tangledgroup/tangled-alpha-0.2-core
| from typing import Optional, Iterator, Callable, Any | |
| import torch | |
| from datasets import load_dataset, concatenate_datasets | |
| from transformers import AutoTokenizer | |
| def load_text_dataset(tokenizer: AutoTokenizer, | |
| kind: str, | |
| path: str, | |
| name: Optional[str]=None, | |
| data_dir: Optional[str]=None, | |
| data_files: Optional[str]=None, | |
| keep_in_memory: bool=False, | |
| revision: Optional[str]=None, | |
| split: str='train', | |
| num_proc: Optional[int]=None, | |
| format: Optional[Callable|str]=None) -> Any: | |
| assert isinstance(format, str) or callable(format), f'{path=} {format=}' | |
| assert kind == 'base' | |
| dataset = load_dataset(path=path, | |
| name=name, | |
| data_dir=data_dir, | |
| data_files=data_files, | |
| keep_in_memory=keep_in_memory, | |
| revision=revision, | |
| split=split, | |
| trust_remote_code=True, | |
| num_proc=num_proc) | |
| EOS_TOKEN = tokenizer.eos_token | |
| def format_dataset(batch): | |
| nonlocal EOS_TOKEN | |
| nonlocal format | |
| texts: list = [] | |
| rows = [dict(zip(batch.keys(), values)) for values in zip(*batch.values())] | |
| if callable(format): | |
| for row in rows: | |
| # print(f'{row=}') | |
| text = format(row) | |
| if not text: | |
| text = '[NONE]' | |
| text += EOS_TOKEN | |
| texts.append(text) | |
| else: | |
| for row in rows: | |
| # print(f'{row=}') | |
| text = format.format(**row) | |
| if not text: | |
| text = '[NONE]' | |
| text += EOS_TOKEN | |
| texts.append(text) | |
| return {'text': texts} | |
| dataset = dataset.map(format_dataset, batched=True) | |
| return dataset | |
| def load_chat_dataset(tokenizer: AutoTokenizer, | |
| kind: str, | |
| path: str, | |
| name: Optional[str]=None, | |
| data_dir: Optional[str]=None, | |
| data_files: Optional[str]=None, | |
| keep_in_memory: bool=False, | |
| revision: Optional[str]=None, | |
| split: str='train', | |
| num_proc: Optional[int]=None, | |
| field: Optional[str]=None, | |
| transform: Optional[Callable]=None) -> Any: | |
| assert kind == 'instruct' | |
| dataset = load_dataset(path=path, | |
| name=name, | |
| data_dir=data_dir, | |
| data_files=data_files, | |
| keep_in_memory=keep_in_memory, | |
| revision=revision, | |
| split=split, | |
| trust_remote_code=True, | |
| num_proc=num_proc) | |
| EOS_TOKEN = tokenizer.eos_token | |
| def format_dataset(batch): | |
| nonlocal EOS_TOKEN | |
| nonlocal tokenizer | |
| nonlocal field | |
| nonlocal transform | |
| texts: list = [] | |
| rows = [dict(zip(batch.keys(), values)) for values in zip(*batch.values())] | |
| if callable(transform): | |
| for row in rows: | |
| if field: | |
| messages = transform(row[field]) | |
| else: | |
| messages = transform(row) | |
| text = tokenizer.apply_chat_template(messages, tokenize=False) | |
| text += EOS_TOKEN | |
| texts.append(text) | |
| else: | |
| for row in rows: | |
| if field: | |
| messages = row[field] | |
| else: | |
| raise ValueError(field) | |
| text = tokenizer.apply_chat_template(messages, tokenize=False) | |
| text += EOS_TOKEN | |
| texts.append(text) | |
| return {'text': texts} | |
| dataset = dataset.map(format_dataset, batched=True) | |
| return dataset | |