Instructions to use codellama/CodeLlama-7b-Instruct-hf with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use codellama/CodeLlama-7b-Instruct-hf with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="codellama/CodeLlama-7b-Instruct-hf") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("codellama/CodeLlama-7b-Instruct-hf") model = AutoModelForCausalLM.from_pretrained("codellama/CodeLlama-7b-Instruct-hf") 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
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use codellama/CodeLlama-7b-Instruct-hf with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "codellama/CodeLlama-7b-Instruct-hf" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "codellama/CodeLlama-7b-Instruct-hf", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/codellama/CodeLlama-7b-Instruct-hf
- SGLang
How to use codellama/CodeLlama-7b-Instruct-hf 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 "codellama/CodeLlama-7b-Instruct-hf" \ --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": "codellama/CodeLlama-7b-Instruct-hf", "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 "codellama/CodeLlama-7b-Instruct-hf" \ --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": "codellama/CodeLlama-7b-Instruct-hf", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use codellama/CodeLlama-7b-Instruct-hf with Docker Model Runner:
docker model run hf.co/codellama/CodeLlama-7b-Instruct-hf
code llama prompt template
is there a way to find code llama prompt template? I found one like
[INST] Write code to solve the following coding problem that obeys the constraints and passes the example test cases. Please wrap your code answer using ```:
{prompt}
[/INST], so I'm curious is there a set of prompt templates designed for codellama to carry out different tasks more efficiently
I'm also curious about the specialized tag like[INST] that code llama use, how to find more such tags
The conversational instructions follow the same format as Llama 2. Here's a template that shows the structure when you use a system prompt (which is optional) followed by several rounds of user instructions and model answers. The easiest way to ensure you adhere to that format is by using the new "Chat Templates" feature in transformers, which will take care of the delimiters for you: https://huggingface.co/docs/transformers/chat_templating
In addition to interfacing with the model using chat conversations, you can also ask it to fill a block of code with a suitable completion, which is what some code assistant tools do. To use this interaction mode, I'd recommend you follow the Code Infilling section of this blog post.
Here is a prompt template for 34b instruct model: https://huggingface.co/spaces/codellama/codellama-13b-chat/blob/main/model.py#L25-L36
I use following template for finetuning and inference:
<s>[INST] user_message_1 [/INST] response_1 </s><s>[INST] user_message_2 [/INST] response_2 </s>
Are you able to recover the performance on mbpp and human eval as mentioned in the paper
I have been trying to use the big code evaluation harness framework to recover the performance which I am not able to do so far.