Text Generation
Transformers
Safetensors
llama
deepseek
commercial use
function-calling
function calling
conversational
text-generation-inference
Instructions to use Trelis/deepseek-coder-33b-instruct-function-calling-v3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Trelis/deepseek-coder-33b-instruct-function-calling-v3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Trelis/deepseek-coder-33b-instruct-function-calling-v3") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Trelis/deepseek-coder-33b-instruct-function-calling-v3") model = AutoModelForCausalLM.from_pretrained("Trelis/deepseek-coder-33b-instruct-function-calling-v3") 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]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Trelis/deepseek-coder-33b-instruct-function-calling-v3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Trelis/deepseek-coder-33b-instruct-function-calling-v3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Trelis/deepseek-coder-33b-instruct-function-calling-v3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Trelis/deepseek-coder-33b-instruct-function-calling-v3
- SGLang
How to use Trelis/deepseek-coder-33b-instruct-function-calling-v3 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 "Trelis/deepseek-coder-33b-instruct-function-calling-v3" \ --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": "Trelis/deepseek-coder-33b-instruct-function-calling-v3", "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 "Trelis/deepseek-coder-33b-instruct-function-calling-v3" \ --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": "Trelis/deepseek-coder-33b-instruct-function-calling-v3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use Trelis/deepseek-coder-33b-instruct-function-calling-v3 with Docker Model Runner:
docker model run hf.co/Trelis/deepseek-coder-33b-instruct-function-calling-v3
| tags: | |
| - deepseek | |
| - commercial use | |
| - function-calling | |
| - function calling | |
| extra_gated_prompt: "Purchase access to this repo [HERE](https://buy.stripe.com/14k3cY4pL4PFbQY3dq)" | |
| # Function Calling Fine-tuned DeepSeek Coder 33B | |
| Purchase access to this model [here](https://buy.stripe.com/14k3cY4pL4PFbQY3dq). | |
| Performance demo video [here](https://share.descript.com/view/0uQraTWCbkp). | |
| This model is fine-tuned for function calling. | |
| - The function metadata format is the same as used for OpenAI. | |
| - The model is suitable for commercial use. | |
| - AWQ and GGUF are available on request after purchase. | |
| Check out other fine-tuned function calling models [here](https://mart.trelis.com). | |
| ## Quick Server Setup | |
| Runpod one click templates: [You must add a HuggingFace Hub access token (HUGGING_FACE_HUB_TOKEN) to the environment variables as this is a gated model.] | |
| - [4bit awq](https://runpod.io/gsc?template=lvxofymu84&ref=jmfkcdio) | |
| - [8bit with eetq](https://runpod.io/gsc?template=pb0wx07yam&ref=jmfkcdio). | |
| Runpod Affiliate [Link](https://runpod.io?ref=jmfkcdio) (helps support the Trelis channel). | |
| ## Inference Scripts | |
| See below for sample prompt format. | |
| Complete inference scripts are available for purchase [here](https://trelis.com/enterprise-server-api-and-inference-guide/): | |
| - Easily format prompts using tokenizer.apply_chat_format (starting from openai formatted functions and a list of messages) | |
| - Automate catching, handling and chaining of function calls. | |
| ## Prompt Format | |
| ``` | |
| B_FUNC, E_FUNC = "You have access to the following functions. Use them if required:\n\n", "\n\n" | |
| B_INST, E_INST = "\n### Instruction:\n", "\n### Response:\n" #DeepSeek Coder Style | |
| prompt = f"{B_INST}{B_FUNC}{functionList.strip()}{E_FUNC}{user_prompt.strip()}{E_INST}\n\n" | |
| ``` | |
| ### Using tokenizer.apply_chat_template | |
| For an easier application of the prompt, you can set up as follows: | |
| Set up `messages`: | |
| ``` | |
| [ | |
| { | |
| "role": "function_metadata", | |
| "content": "FUNCTION_METADATA" | |
| }, | |
| { | |
| "role": "user", | |
| "content": "What is the current weather in London?" | |
| }, | |
| { | |
| "role": "function_call", | |
| "content": "{\n \"name\": \"get_current_weather\",\n \"arguments\": {\n \"city\": \"London\"\n }\n}" | |
| }, | |
| { | |
| "role": "function_response", | |
| "content": "{\n \"temperature\": \"15 C\",\n \"condition\": \"Cloudy\"\n}" | |
| }, | |
| { | |
| "role": "assistant", | |
| "content": "The current weather in London is Cloudy with a temperature of 15 Celsius" | |
| } | |
| ] | |
| ``` | |
| with `FUNCTION_METADATA` as: | |
| ``` | |
| [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "get_current_weather", | |
| "description": "This function gets the current weather in a given city", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "city": { | |
| "type": "string", | |
| "description": "The city, e.g., San Francisco" | |
| }, | |
| "format": { | |
| "type": "string", | |
| "enum": ["celsius", "fahrenheit"], | |
| "description": "The temperature unit to use." | |
| } | |
| }, | |
| "required": ["city"] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "get_clothes", | |
| "description": "This function provides a suggestion of clothes to wear based on the current weather", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "temperature": { | |
| "type": "string", | |
| "description": "The temperature, e.g., 15 C or 59 F" | |
| }, | |
| "condition": { | |
| "type": "string", | |
| "description": "The weather condition, e.g., 'Cloudy', 'Sunny', 'Rainy'" | |
| } | |
| }, | |
| "required": ["temperature", "condition"] | |
| } | |
| } | |
| } | |
| ] | |
| ``` | |
| and then apply the chat template to get a formatted prompt: | |
| ``` | |
| tokenizer = AutoTokenizer.from_pretrained('Trelis/deepseek-coder-33b-instruct-function-calling-v3', trust_remote_code=True) | |
| prompt = tokenizer.apply_chat_template(prompt, tokenize=False, add_generation_prompt=True) | |
| ``` | |
| If you are using a gated model, you need to first run: | |
| ``` | |
| pip install huggingface_hub | |
| huggingface-cli login | |
| ``` | |
| ### Manual Prompt: | |
| ``` | |
| Human: You have access to the following functions. Use them if required: | |
| [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "get_stock_price", | |
| "description": "Get the stock price of an array of stocks", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "names": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| }, | |
| "description": "An array of stocks" | |
| } | |
| }, | |
| "required": [ | |
| "names" | |
| ] | |
| } | |
| } | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "get_big_stocks", | |
| "description": "Get the names of the largest N stocks by market cap", | |
| "parameters": { | |
| "type": "object", | |
| "properties": { | |
| "number": { | |
| "type": "integer", | |
| "description": "The number of largest stocks to get the names of, e.g. 25" | |
| }, | |
| "region": { | |
| "type": "string", | |
| "description": "The region to consider, can be \"US\" or \"World\"." | |
| } | |
| }, | |
| "required": [ | |
| "number" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| Get the names of the five largest stocks by market cap Assistant: | |
| { | |
| "name": "get_big_stocks", | |
| "arguments": { | |
| "number": 5 | |
| } | |
| }<|EOT|>``` | |
| # Dataset | |
| See [Trelis/function_calling_v3](https://huggingface.co/datasets/Trelis/function_calling_v3). | |
| # License | |
| This model may be used commercially for inference according to the terms of the DeepSeek license, or for further fine-tuning and inference. Users may not re-publish or re-sell this model in the same or derivative form (including fine-tunes). | |
| ** | |
| The SFT chat fine-tuned model's repo card follows below. | |
| ** | |
| <p align="center"> | |
| <img width="1000px" alt="DeepSeek Coder" src="https://github.com/deepseek-ai/DeepSeek-Coder/blob/main/pictures/logo.png?raw=true"> | |
| </p> | |
| <p align="center"><a href="https://www.deepseek.com/">[🏠Homepage]</a> | <a href="https://coder.deepseek.com/">[🤖 Chat with DeepSeek Coder]</a> | <a href="https://discord.gg/Tc7c45Zzu5">[Discord]</a> | <a href="https://github.com/guoday/assert/blob/main/QR.png?raw=true">[Wechat(微信)]</a> </p> | |
| <hr> | |
| ### 1. Introduction of Deepseek Coder | |
| Deepseek Coder is composed of a series of code language models, each trained from scratch on 2T tokens, with a composition of 87% code and 13% natural language in both English and Chinese. We provide various sizes of the code model, ranging from 1B to 33B versions. Each model is pre-trained on project-level code corpus by employing a window size of 16K and a extra fill-in-the-blank task, to support project-level code completion and infilling. For coding capabilities, Deepseek Coder achieves state-of-the-art performance among open-source code models on multiple programming languages and various benchmarks. | |
| - **Massive Training Data**: Trained from scratch on 2T tokens, including 87% code and 13% linguistic data in both English and Chinese languages. | |
| - **Highly Flexible & Scalable**: Offered in model sizes of 1.3B, 5.7B, 6.7B, and 33B, enabling users to choose the setup most suitable for their requirements. | |
| - **Superior Model Performance**: State-of-the-art performance among publicly available code models on HumanEval, MultiPL-E, MBPP, DS-1000, and APPS benchmarks. | |
| - **Advanced Code Completion Capabilities**: A window size of 16K and a fill-in-the-blank task, supporting project-level code completion and infilling tasks. | |
| ### 2. Model Summary | |
| deepseek-coder-33b-instruct is a 33B parameter model initialized from deepseek-coder-33b-base and fine-tuned on 2B tokens of instruction data. | |
| - **Home Page:** [DeepSeek](https://deepseek.com/) | |
| - **Repository:** [deepseek-ai/deepseek-coder](https://github.com/deepseek-ai/deepseek-coder) | |
| - **Chat With DeepSeek Coder:** [DeepSeek-Coder](https://coder.deepseek.com/) | |
| ### 3. How to Use | |
| Here give some examples of how to use our model. | |
| #### Chat Model Inference | |
| ```python | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-coder-33b-instruct", trust_remote_code=True) | |
| model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-coder-33b-instruct", trust_remote_code=True).cuda() | |
| messages=[ | |
| { 'role': 'user', 'content': "write a quick sort algorithm in python."} | |
| ] | |
| inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device) | |
| # 32021 is the id of <|EOT|> token | |
| outputs = model.generate(inputs, max_new_tokens=512, do_sample=False, top_k=50, top_p=0.95, num_return_sequences=1, eos_token_id=32021) | |
| print(tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True)) | |
| ``` | |
| ### 4. License | |
| This code repository is licensed under the MIT License. The use of DeepSeek Coder models is subject to the Model License. DeepSeek Coder supports commercial use. | |
| See the [LICENSE-MODEL](https://github.com/deepseek-ai/deepseek-coder/blob/main/LICENSE-MODEL) for more details. | |
| ### 5. Contact | |
| If you have any questions, please raise an issue or contact us at [agi_code@deepseek.com](mailto:agi_code@deepseek.com). | |