Formatter LM
Collection
Some experiments with chat templates and tokenizers • 6 items • Updated
How to use qingy2024/Formatter-0.6B with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="qingy2024/Formatter-0.6B")
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("qingy2024/Formatter-0.6B")
model = AutoModelForCausalLM.from_pretrained("qingy2024/Formatter-0.6B")
messages = [
{"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))How to use qingy2024/Formatter-0.6B with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "qingy2024/Formatter-0.6B"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "qingy2024/Formatter-0.6B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/qingy2024/Formatter-0.6B
How to use qingy2024/Formatter-0.6B with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "qingy2024/Formatter-0.6B" \
--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": "qingy2024/Formatter-0.6B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'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 "qingy2024/Formatter-0.6B" \
--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": "qingy2024/Formatter-0.6B",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use qingy2024/Formatter-0.6B with Unsloth Studio:
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for qingy2024/Formatter-0.6B to start chatting
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for qingy2024/Formatter-0.6B to start chatting
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for qingy2024/Formatter-0.6B to start chatting
pip install unsloth
from unsloth import FastModel
model, tokenizer = FastModel.from_pretrained(
model_name="qingy2024/Formatter-0.6B",
max_seq_length=2048,
)How to use qingy2024/Formatter-0.6B with Docker Model Runner:
docker model run hf.co/qingy2024/Formatter-0.6B
This is mainly my experiment to play around with adding special tokens and changing the chat template while fine-tuning.
{%- set last_message = messages[-1] -%}
{%- if last_message.role == "user" -%}
{{- '<|problem_start|>\n' + last_message.content + '<|problem_end|>\n' -}}
{%- elif last_message.role == "assistant" -%}
{%- for message in messages -%}
{%- if message.role == "user" -%}
{{- '<|problem_start|>\n' + message.content + '<|problem_end|>\n' -}}
{%- elif message.role == "assistant" -%}
{{- '<|formatted_problem_start|>\n' + message.content + '<|formatted_problem_end|>\n' -}}
{%- else -%}
{{- raise('Unknown role: ' + message.role) -}}
{%- endif -%}
{%- endfor -%}
{%- else -%}
{{- raise('Unsupported role: ' + last_message.role) -}}
{%- endif -%}
{%- if add_generation_prompt and last_message.role == "user" -%}
{{- '<|formatted_problem_start|>\n' -}}
{%- endif -%}
Example:
User: Read the excerpt from Dr. Martin Luther King Jr.’s "I Have a Dream" speech.
I am not unmindful that some of you have come here out of great trials and tribulations. Some of you have come fresh from narrow jail cells. Some of you have come from areas where your quest for freedom left you battered by the storms of persecution and staggered by the winds of police brutality. You have been the veterans of creative suffering. Continue to work with the faith that unearned suffering is redemptive. Go back to Mississippi, go back to Alabama, go back to South Carolina, go back to Georgia, go back to Louisiana, go back to the slums and ghettos of our northern cities, knowing that somehow this situation can and will be changed. Let us not wallow in the valley of despair.
Which lines in this paragraph can be used as examples of metaphor? Select 3 options.
great trials and tribulations
storms of persecution
winds of police brutality
go back to Georgia
this situation can and will be changed
let us not wallow in the valley of despair
LLM: Read the excerpt from Dr. Martin Luther King Jr.’s "I Have a Dream" speech.
I am not unmindful that some of you have come here out of great trials and tribulations. Some of you have come fresh from narrow jail cells. Some of you have come from areas where your quest for freedom left you battered by the storms of persecution and staggered by the winds of police brutality. You have been the veterans of creative suffering. Continue to work with the faith that unearned suffering is redemptive. Go back to Mississippi, go back to Alabama, go back to South Carolina, go back to Georgia, go back to Louisiana, go back to the slums and ghettos of our northern cities, knowing that somehow this situation can and will be changed. Let us not wallow in the valley of despair.
Which lines in this paragraph can be used as examples of metaphor? Select 3 options.
A. great trials and tribulations
B. storms of persecution
C. winds of police brutality
D. go back to Georgia
E. this situation can and will be changed
F. let us not wallow in the valley of despair
<|endoftext|> as the EOS token. Then you can train it to use other tokens like <|im_end|>. If you set the EOS token to <|im_end|>, the model will get confused.<|endoftext|> at the end of each training example.