Instructions to use nvidia/Llama3-ChatQA-1.5-8B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use nvidia/Llama3-ChatQA-1.5-8B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="nvidia/Llama3-ChatQA-1.5-8B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("nvidia/Llama3-ChatQA-1.5-8B") model = AutoModelForCausalLM.from_pretrained("nvidia/Llama3-ChatQA-1.5-8B", device_map="auto") 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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use nvidia/Llama3-ChatQA-1.5-8B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "nvidia/Llama3-ChatQA-1.5-8B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "nvidia/Llama3-ChatQA-1.5-8B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/nvidia/Llama3-ChatQA-1.5-8B
- SGLang
How to use nvidia/Llama3-ChatQA-1.5-8B 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 "nvidia/Llama3-ChatQA-1.5-8B" \ --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": "nvidia/Llama3-ChatQA-1.5-8B", "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 "nvidia/Llama3-ChatQA-1.5-8B" \ --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": "nvidia/Llama3-ChatQA-1.5-8B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use nvidia/Llama3-ChatQA-1.5-8B with Docker Model Runner:
docker model run hf.co/nvidia/Llama3-ChatQA-1.5-8B
generation_config.json adds a mapping with the special token '<|im_end|>' to solve the problem of non-stop generation when <|im_end|> is encountered.
Using vllm to infer 'Llama3-ChatQA-1.5-8B', it will continue to be generated when encountering the special token '<|im_end|>', as shown in the figure below. This PR adds a mapping to '<|im_end|>' in the tokenizer.
At the same time, '<|im_end|>' needs to be configured in the tokenizer: https://huggingface.co/nvidia/Llama3-ChatQA-1.5-8B/discussions/16
Hi,
what's your prompt format for our model? if you try to follow the prompt template we provide in the model card, it should avoid this issue.
Hi,
what's your prompt format for our model? if you try to follow the prompt template we provide in the model card, it should avoid this issue.
The prompt in the above picture is as follows:
prompt: '<|im_start|>user\n24*(1.0824) = ?<|im_end|>\n<|im_start|>assistant\n'
prompt: '<|im_start|>user\n24(1.0824) = ?<|im_end|>\n<|im_start|>assistant\n24(1.0824) = ?<|im_end|>\n<|im_start|>system\n24(1.0824) = ?<|im_end|>\n<|im_start|>assistant (24(1.08*24) = ?<|im_end|>)<|im_end|>\n<|im_start|>user\n24(1.08^24)<|im_end|>\n<|im_start|>assistant\n'
This prompt is what I checked in vllm docker log.
I used vllm to deploy Llama3-ChatQA-1.5-70B on my local machine and used vllm's compatible openai api interface. I also encountered the problem of <|im_end|> not stopping the generation. As shown below:
Hi,
This template is not correct for our models, and we do not use <|im_start|> and <|im_end|> tokens in the training. Please refer to the prompt format or sample codes we provide in the model card.
