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
关于生产环境部署,请参阅我们的部署指南。
配置
创建一个最小化的配置文件,定义模型和一个简单的聊天功能:
[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_VARIABLE或dynamic::ARGUMENT_NAME来自定义凭证存储位置。
更多信息请参阅凭证管理指南和配置参考。
部署 (Docker Compose)
创建一个最小化的Docker Compose配置:
# 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?" } ] } }'