Model reference · open weights

DeepSeek-1210

LLMs deepseek-ai Text gen 1 build Its own licence terms 770 dl/mo

DeepSeek-1210 is an open-weight language model from DeepSeek. DeepSeek-V2.5-1210 (BF16) weighs 471 GB; the smallest configuration that runs it is 4× H200 141 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • DeepSeek-1210 is a text-generation model developed by DeepSeek with 235.7B parameters and a context length of 163840 tokens.
  • It supports commercial use under a specific model license and is designed for tasks including mathematical reasoning, coding, and function calling.

Summary of the deepseek-ai/DeepSeek-V2.5-1210 model card, 2026-10-01

What it is

Released byDeepSeek
Released2024-12-10
Parameters235.7B
VRAM471 GB for the weights

What it runs on

Memory and cards for DeepSeek-V2.5-1210 (BF16)

471 GBweights, file size
69 MBcache per 1K tokens
1.5 GBruntime overhead, at least
163,840 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … B200 180 GB
12 smaller cards
4× H200 141 GB
tensor parallel
215all 160K138 GB a card
8× H100 80 GB
tensor parallel
205all 160K78.1 GB a card
8× A100 80 GB
tensor parallel
317all 160K78.2 GB a card
4× B200 180 GB
tensor parallel
8220all 160K176 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
1474 GB475 GB
5476 GB484 GB
8478 GB491 GB
16482 GB509 GB
32491 GB545 GB
64509 GB618 GB

One card, with vLLM's small-card settings.

From the model card

What DeepSeek says about DeepSeek-1210

Read the model card

1. Introduction

DeepSeek-V2.5-1210 is an upgraded version of DeepSeek-V2.5, with improvements across various capabilities:

  • Mathematical: Performance on the MATH-500 benchmark has improved from 74.8% to 82.8% .
  • Coding: Accuracy on the LiveCodebench (08.01 - 12.01) benchmark has increased from 29.2% to 34.38% .
  • Writing and Reasoning: Corresponding improvements have been observed in internal test datasets.

Additionally, the new version of the model has optimized the user experience for file upload and webpage summarization functionalities.

2. How to run locally

To utilize DeepSeek-V2.5 in BF16 format for inference, 80GB*8 GPUs are required.

Inference with Huggingface's Transformers

You can directly employ Huggingface's Transformers for model inference.

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig

model_name = "deepseek-ai/DeepSeek-V2.5-1210"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
# `max_memory` should be set based on your devices
max_memory = {i: "75GB" for i in range(8)}
# `device_map` cannot be set to `auto`
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, device_map="sequential", torch_dtype=torch.bfloat16, max_memory=max_memory, attn_implementation="eager")
model.generation_config = GenerationConfig.from_pretrained(model_name)
model.generation_config.pad_token_id = model.generation_config.eos_token_id

messages = [
    {"role": "user", "content": "Write a piece of quicksort code in C++"}
]
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_tensor.to(model.device), max_new_tokens=100)

result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=True)
print(result)

The complete chat template can be found within tokenizer_config.json located in the huggingface model repository.

Note: The chat template has been updated compared to the previous DeepSeek-V2-Chat version.

An example of chat template is as belows:

You can also add an optional system message:

Inference with vLLM (recommended)

To utilize vLLM for model inference, please merge this Pull Request into your vLLM codebase: https://github.com/vllm-project/vllm/pull/4650.

from transformers import AutoTokenizer
from vllm import LLM, SamplingParams

max_model_len, tp_size = 8192, 8
model_name = "deepseek-ai/DeepSeek-V2.5-1210"
tokenizer = AutoTokenizer.from_pretrained(model_name)
llm = LLM(model=model_name, tensor_parallel_size=tp_size, max_model_len=max_model_len, trust_remote_code=True, enforce_eager=True)
sampling_params = SamplingParams(temperature=0.3, max_tokens=256, stop_token_ids=[tokenizer.eos_token_id])

messages_list = [
    [{"role": "user", "content": "Who are you?"}],
    [{"role": "user", "content": "Translate the following content into Chinese directly: DeepSeek-V2 adopts innovative architectures to guarantee economical training and efficient inference."}],
    [{"role": "user", "content": "Write a piece of quicksort code in C++."}],
]

prompt_token_ids = [tokenizer.apply_chat_template(messages, add_generation_prompt=True) for messages in messages_list]

outputs = llm.generate(prompt_token_ids=prompt_token_ids, sampling_params=sampling_params)

generated_text = [output.outputs[0].text for output in outputs]
print(generated_text)

Function calling

Function calling allows the model to call external tools to enhance its capabilities.

Here is an example:

# Assume that `model` and `tokenizer` are loaded
model.generation_config = GenerationConfig(do_sample=False, max_new_tokens=128, eos_token_id=tokenizer.eos_token_id, pad_token_id=tokenizer.eos_token_id)

tool_system_prompt = """You are a helpful Assistant.

## Tools

### Function

You have the following functions available:

- `get_current_weather`:
```json
{
    "name": "get_current_weather",
    "description": "Get the current weather in a given location",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {
                "type": "string",
                "description": "The city and state, e.g. San Francisco, CA"
            },
            "unit": {
                "type": "string",
                "enum": [
                    "celsius",
                    "fahrenheit"
                ]
            }
        },
        "required": [
            "location"
        ]
    }
}
```"""

tool_call_messages = [{"role": "system", "content": tool_system_prompt}, {"role": "user", "content": "What's the weather like in Tokyo and Paris?"}]
tool_call_inputs = tokenizer.apply_chat_template(tool_call_messages, add_generation_prompt=True, return_tensors="pt")
tool_call_outputs = model.generate(tool_call_inputs.to(model.device))
# Generated text: 'functionget_current_weather\n```json\n{"location": "Tokyo"}\n```\nfunctionget_current_weather\n```json\n{"location": "Paris"}\n```'

# Mock response of calling `get_current_weather`
tool_messages = [{"role": "tool", "content": '{"location": "Tokyo", "temperature": "10", "unit": null}'}, {"role": "tool", "content": '{"location": "Paris", "temperature": "22", "unit": null}'}]
tool_inputs = tokenizer.apply_chat_template(tool_messages, add_generation_prompt=False, return_tensors="pt")[:, 1:]
tool_inputs = torch.cat([tool_call_outputs, tool_inputs.to(model.device)], dim=1)
tool_outputs = model.generate(tool_inputs)
# Generated text: The current weather in Tokyo is 10 degrees, and in Paris, it is 22 degrees.

JSON output

You can use JSON Output Mode to ensure the model generates a valid JSON object. To active this mode, a special instruction should be appended to your system prompt.

# Assume that `model` and `tokenizer` 

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms