跳至内容

DeepSeek 入门指南

本指南展示如何设置一个最小化部署,以便将TensorZero网关与DeepSeek结合使用。

简易设置

你可以使用简写形式deepseek::model_name来在TensorZero中使用DeepSeek模型,除非你需要像备用方案或自定义凭证这样的高级功能。

您可以在TensorZero变体中使用DeepSeek模型,只需将model字段设置为deepseek::model_name。 例如:

[functions.my_function_name.variants.my_variant_name]
type = "chat_completion"
model = "deepseek::deepseek-chat"

此外,您可以在推理请求中设置model_name来使用特定的DeepSeek模型,而无需在TensorZero中配置函数和变体。

终端窗口
curl -X POST http://localhost:3000/inference \
-H "Content-Type: application/json" \
-d '{
"model_name": "deepseek::deepseek-chat",
"input": {
"messages": [
{
"role": "user",
"content": "What is the capital of Japan?"
}
]
}
}'

高级设置

在更复杂的场景中(例如回退机制、自定义凭证),您可以在TensorZero中配置自己的模型和DeepSeek提供商。

对于这个最小化配置,您的项目目录中只需要两个文件:

  • Directoryconfig/
    • tensorzero.toml
  • docker-compose.yml

关于生产环境部署,请参阅我们的部署指南

配置

创建一个最小化的配置文件,定义模型和一个简单的聊天功能:

config/tensorzero.toml
[models.deepseek_chat]
routing = ["deepseek"]
[models.deepseek_chat.providers.deepseek]
type = "deepseek"
model_name = "deepseek-chat"
[functions.my_function_name]
type = "chat"
[functions.my_function_name.variants.my_variant_name]
type = "chat_completion"
model = "deepseek_chat"

我们已经测试了与deepseek-chat(DeepSeek-v3)和deepseek-reasoner(R1)的集成。 DeepSeek目前仅支持deepseek-chat的JSON模式,且两个模型都尚未支持工具调用功能。 我们在响应和数据模型中为deepseek-reasoner等推理模型加入了thought内容块。

Credentials

在运行网关之前,您必须设置DEEPSEEK_API_KEY环境变量。

您可以通过将api_key_location设置为env::YOUR_ENVIRONMENT_VARIABLEdynamic::ARGUMENT_NAME来自定义凭证存储位置。 更多信息请参阅凭证管理指南和配置参考

部署 (Docker Compose)

创建一个最小化的Docker Compose配置:

docker-compose.yml
# This is a simplified example for learning purposes. Do not use this in production.
# For production-ready deployments, see: https://www.tensorzero.com/docs/gateway/deployment
services:
gateway:
image: tensorzero/gateway
volumes:
- ./config:/app/config:ro
command: --config-file /app/config/tensorzero.toml
environment:
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:?Environment variable DEEPSEEK_API_KEY must be set.}
ports:
- "3000:3000"
extra_hosts:
- "host.docker.internal:host-gateway"

您可以通过docker compose up命令启动网关。

推理

向网关发起推理请求:

终端窗口
curl -X POST http://localhost:3000/inference \
-H "Content-Type: application/json" \
-d '{
"function_name": "my_function_name",
"input": {
"messages": [
{
"role": "user",
"content": "What is the capital of Japan?"
}
]
}
}'