Skip to content

通用对话接口(非流式)

通过 OpenAI Chat Completions 协议的非流式接口,一次性获取模型的完整回复,适用于后端处理、数据分析和批量任务场景。

快速开始

第 1 步: 获取您的 API Key(在 控制台 创建)。

第 2 步: 发送非流式请求:

bash
curl -X POST "https://open.dieyuyun.com/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxx" \
  -d '{
    "model": "deepseek-v4-flash",
    "stream": false,
    "messages": [
      {"role": "user", "content": "简要介绍量子计算"}
    ]
  }'
python
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxx",
    base_url="https://open.dieyuyun.com/v1"
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "user", "content": "简要介绍量子计算"}
    ]
    # stream 默认为 False,无需显式设置
)

print(response.choices[0].message.content)
print(f"用量: {response.usage.total_tokens} tokens")
javascript
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'sk-xxx',
  baseURL: 'https://open.dieyuyun.com/v1',
})

const response = await client.chat.completions.create({
  model: 'deepseek-v4-flash',
  messages: [{ role: 'user', content: '简要介绍量子计算' }],
})

console.log(response.choices[0].message.content)
console.log(`用量: ${response.usage.total_tokens} tokens`)

第 3 步: 从响应中的 choices[0].message.content 获取完整回复。

请求端点

项目
方法POST
路径/v1/chat/completions
Base URLhttps://open.dieyuyun.com
兼容协议OpenAI Chat Completions

认证

所有请求均需在请求头中携带 Bearer Token:

http
Authorization: Bearer sk-xxx

支持模型

模型提供商上下文长度说明
deepseek-v4-flashDeepSeek1M极速响应、低成本,适合高频调用
deepseek-v4-proDeepSeek1M复杂推理、高质量输出
qwen3.7-max通义千问1M通义千问旗舰模型
glm-5.7智谱清言200K智谱 GLM 旗舰模型
kimi-k2.6月之暗面256K超长上下文,擅长长文档分析
minimax-m3稀宇科技1MMiniMax 旗舰模型

TIP

完整模型列表请在 控制台 查看。

标准请求字段

字段类型必填默认值说明
modelstring模型标识符,如 deepseek-v4-flash
messagesarray消息列表,每条包含 rolecontent
streambooleanfalse设为 false 或不传以获取非流式响应
temperaturenumber1控制输出随机性,范围 0~2
top_pnumber1核采样参数
max_tokensinteger模型默认最大生成 Token 数
max_completion_tokensinteger模型默认最大补全 Token 数(新参数)
stopstring / arraynull停止生成的标记
presence_penaltynumber0存在惩罚,范围 -2~2
frequency_penaltynumber0频率惩罚,范围 -2~2
ninteger1生成的候选回复数量
toolsarray工具(函数)定义列表
tool_choicestring / objectauto工具调用策略
response_formatobject响应格式控制
reasoning_effortstring推理力度(仅推理模型支持)

请求示例

基础对话

bash
curl -X POST "https://open.dieyuyun.com/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxx" \
  -d '{
    "model": "deepseek-v4-flash",
    "stream": false,
    "messages": [
      {"role": "system", "content": "你是一个专业的 AI 助手。"},
      {"role": "user", "content": "介绍一下人工智能的发展历史。"}
    ]
  }'
python
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxx",
    base_url="https://open.dieyuyun.com/v1"
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": "你是一个专业的 AI 助手。"},
        {"role": "user", "content": "介绍一下人工智能的发展历史。"}
    ],
    temperature=0.7,
    max_tokens=1000
)

print(response.choices[0].message.content)
print(f"输入: {response.usage.prompt_tokens} tokens")
print(f"输出: {response.usage.completion_tokens} tokens")
javascript
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'sk-xxx',
  baseURL: 'https://open.dieyuyun.com/v1',
})

const response = await client.chat.completions.create({
  model: 'deepseek-v4-flash',
  messages: [
    { role: 'system', content: '你是一个专业的 AI 助手。' },
    { role: 'user', content: '介绍一下人工智能的发展历史。' },
  ],
  temperature: 0.7,
  max_tokens: 1000,
})

console.log(response.choices[0].message.content)
console.log(`输入: ${response.usage.prompt_tokens} tokens`)
console.log(`输出: ${response.usage.completion_tokens} tokens`)

JSON 格式输出

通过 response_format 强制模型返回 JSON:

json
{
  "model": "deepseek-v4-flash",
  "stream": false,
  "response_format": { "type": "json_object" },
  "messages": [
    { "role": "system", "content": "以 JSON 格式返回结果,包含 name 和 description 字段。" },
    { "role": "user", "content": "列出三种常见的机器学习算法。" }
  ]
}

多轮对话

json
{
  "model": "deepseek-v4-flash",
  "stream": false,
  "messages": [
    { "role": "system", "content": "你是一个技术面试官。" },
    { "role": "user", "content": "我想了解 React Hooks。" },
    { "role": "assistant", "content": "React Hooks 是 React 16.8 引入的特性..." },
    { "role": "user", "content": "能详细说说 useEffect 吗?" }
  ]
}

响应格式

成功响应

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1712345678,
  "model": "deepseek-v4-flash",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "人工智能的发展历史通常从 20 世纪 50 年代开始讨论。1956 年达特茅斯会议被认为是 AI 作为独立学科的诞生标志..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 256,
    "total_tokens": 284
  }
}

响应字段说明

字段说明
id请求唯一标识
object固定为 chat.completion
createdUnix 时间戳
model实际使用的模型 ID
choices[].message.role回复角色,固定为 assistant
choices[].message.content模型的完整回复内容
choices[].message.tool_calls工具调用请求(如有)
choices[].finish_reason结束原因:stoplengthtool_callscontent_filter
usage.prompt_tokens输入 Token 数
usage.completion_tokens输出 Token 数
usage.total_tokens总 Token 数

错误响应

json
{
  "error": {
    "message": "This model's maximum context length is 128000 tokens, however you requested 150000 tokens.",
    "type": "invalid_request_error",
    "param": "messages",
    "code": "context_length_exceeded"
  }
}

详见 错误码

兼容性说明

特性本平台上游(OpenAI 原生)
非流式响应格式完全兼容原生协议
JSON mode支持原生支持
tools / function支持透传原生支持
n > 1 多候选支持原生支持
reasoning_effort支持(仅推理模型)支持(o1/o3 系列)
端点路径/v1/chat/completions/v1/chat/completions

TIP

流式与非流式使用同一端点路径 /v1/chat/completions,仅通过 stream 参数区分。平台保持与 OpenAI 协议的完全兼容,成功响应直接返回上游原始格式。

最佳实践

  • 设置合理的 temperature:对于需要确定性的任务(如分类、提取),设置 temperature=0;对于创意任务,设置 0.7~1.0
  • 使用 max_tokens 控制成本:明确设置最大输出长度,避免模型生成过长的无关内容。
  • 实现错误重试:对于 5xx 错误和 429 错误,实现指数退避重试策略。
  • 管理对话上下文:多轮对话时注意控制消息列表长度,超出模型上下文限制的输入会被截断。
  • 结构化输出:需要 JSON 输出时,使用 response_format: {"type": "json_object"} 并在 system 提示中说明格式要求。

速率限制

详见 速率限制

相关文档