通用对话接口(非流式)
通过 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 URL | https://open.dieyuyun.com |
| 兼容协议 | OpenAI Chat Completions |
认证
所有请求均需在请求头中携带 Bearer Token:
http
Authorization: Bearer sk-xxx支持模型
| 模型 | 提供商 | 上下文长度 | 说明 |
|---|---|---|---|
| deepseek-v4-flash | DeepSeek | 1M | 极速响应、低成本,适合高频调用 |
| deepseek-v4-pro | DeepSeek | 1M | 复杂推理、高质量输出 |
| qwen3.7-max | 通义千问 | 1M | 通义千问旗舰模型 |
| glm-5.7 | 智谱清言 | 200K | 智谱 GLM 旗舰模型 |
| kimi-k2.6 | 月之暗面 | 256K | 超长上下文,擅长长文档分析 |
| minimax-m3 | 稀宇科技 | 1M | MiniMax 旗舰模型 |
TIP
完整模型列表请在 控制台 查看。
标准请求字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | — | 模型标识符,如 deepseek-v4-flash |
| messages | array | 是 | — | 消息列表,每条包含 role 和 content |
| stream | boolean | 否 | false | 设为 false 或不传以获取非流式响应 |
| temperature | number | 否 | 1 | 控制输出随机性,范围 0~2 |
| top_p | number | 否 | 1 | 核采样参数 |
| max_tokens | integer | 否 | 模型默认 | 最大生成 Token 数 |
| max_completion_tokens | integer | 否 | 模型默认 | 最大补全 Token 数(新参数) |
| stop | string / array | 否 | null | 停止生成的标记 |
| presence_penalty | number | 否 | 0 | 存在惩罚,范围 -2~2 |
| frequency_penalty | number | 否 | 0 | 频率惩罚,范围 -2~2 |
| n | integer | 否 | 1 | 生成的候选回复数量 |
| tools | array | 否 | — | 工具(函数)定义列表 |
| tool_choice | string / object | 否 | auto | 工具调用策略 |
| response_format | object | 否 | — | 响应格式控制 |
| reasoning_effort | string | 否 | — | 推理力度(仅推理模型支持) |
请求示例
基础对话
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 |
| created | Unix 时间戳 |
| model | 实际使用的模型 ID |
| choices[].message.role | 回复角色,固定为 assistant |
| choices[].message.content | 模型的完整回复内容 |
| choices[].message.tool_calls | 工具调用请求(如有) |
| choices[].finish_reason | 结束原因:stop、length、tool_calls、content_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 提示中说明格式要求。
速率限制
详见 速率限制。
相关文档
- 通用对话接口(流式) - 实时流式输出
- 管理 API Key - 创建和配置 API Key