Instructions to use SeaLLMs/SeaLLMs-v3-7B-Chat with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use SeaLLMs/SeaLLMs-v3-7B-Chat with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="SeaLLMs/SeaLLMs-v3-7B-Chat") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("SeaLLMs/SeaLLMs-v3-7B-Chat") model = AutoModelForCausalLM.from_pretrained("SeaLLMs/SeaLLMs-v3-7B-Chat") 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]:])) - Inference
- Local Apps Settings
- vLLM
How to use SeaLLMs/SeaLLMs-v3-7B-Chat with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "SeaLLMs/SeaLLMs-v3-7B-Chat" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "SeaLLMs/SeaLLMs-v3-7B-Chat", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/SeaLLMs/SeaLLMs-v3-7B-Chat
- SGLang
How to use SeaLLMs/SeaLLMs-v3-7B-Chat 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 "SeaLLMs/SeaLLMs-v3-7B-Chat" \ --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": "SeaLLMs/SeaLLMs-v3-7B-Chat", "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 "SeaLLMs/SeaLLMs-v3-7B-Chat" \ --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": "SeaLLMs/SeaLLMs-v3-7B-Chat", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use SeaLLMs/SeaLLMs-v3-7B-Chat with Docker Model Runner:
docker model run hf.co/SeaLLMs/SeaLLMs-v3-7B-Chat
The generated results are very random
The torch version I am using: 2.4.0a0+f70bd71a48.nv24.06 from nvidia container and transformers version is 4.42.4.
When I use you to generate the get started code given in HuggingFace Seallm3-7B-Chat, the generating results are not ideal.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model onto
model = AutoModelForCausalLM.from_pretrained(
"SeaLLMs/SeaLLM3-7B-chat",
torch_dtype=torch.bfloat16,
device_map=device
)
tokenizer = AutoTokenizer.from_pretrained("SeaLLMs/SeaLLM3-7B-chat")
# prepare messages to model
prompt = "What can you do for me?"
messages = [
{"role": "system", "content": "You are an expert in parsing logistics addresses from the Philippines, specializing in converting addresses into structured JSON format based on specified fields."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
model_inputs = tokenizer([text], return_tensors="pt").to(device)
generated_ids = model.generate(model_inputs.input_ids, max_new_tokens=512, do_sample=True, temperature=0.8)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)
print(f"Response:\n {response[0]}")
Response:
I am an expert in parsing logistics addresses from the Philippines, specializing in converting addresses into structured JSON format based on specified fields.惢惢owellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowellcomeowell
more response
However, when I used your open-source demo in Huggingface space the model answered the same question very well. May I ask why?
Hi, you can just set the
eos_token_idin themodel.generate()function, then it will become normal. See the below example with your provided code snippet:
Thank you for your reply, the issue has been resolved. SeaLLMs is very meaningful work.
But could specifying eos_token_id lead to premature termination, reduced text diversity, and dependency on training data marking?
Looking forward to your reply.
Yes, you can also change the model config, but these two actions should actually be equivalent.
I have revised the generation_config file. Thanks for your feedback!




