API 参考
聊天补全
使用 TOKI OpenAI 兼容 API 创建聊天补全。
创建聊天补全
使用该端点为给定的对话生成模型响应。TOKI 的请求和响应结构遵循 OpenAI Chat Completions 的常用格式,因此可以配合 OpenAI 官方 SDK 或兼容客户端使用。
端点
POST https://www.tokiai.ai/v1/chat/completions请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型标识符(如 deepseek/deepseek-chat-v3)。 |
messages | array | 是 | 消息对象数组,构成当前的对话历史。 |
temperature | number | 否 | 采样温度(0-2)。较高的值会使输出更具随机性。默认值:1。 |
top_p | number | 否 | 核采样参数,作为温度采样的替代方案。默认值:1。 |
frequency_penalty | number | 否 | 介于 -2.0 到 2.0 之间。正值会根据 token 在文本中出现的频率对其进行惩罚。 |
presence_penalty | number | 否 | 介于 -2.0 到 2.0 之间。正值会根据 token 是否已在文本中出现过对其进行惩罚。 |
max_tokens | integer | 否 | 聊天补全中生成的最大 token 数量。 |
stream | boolean | 否 | 是否启用流式传输,以类似 ChatGPT 的方式逐块返回增量消息。 |
response_format | object | 否 | 指定模型输出的格式,可用于强制开启 JSON 模式。 |
tools | array | 否 | 工具定义。是否支持取决于所选模型。 |
tool_choice | string/object | 否 | 控制模型是否以及如何调用工具。 |
消息对象 (Message Object)
messages 数组中的每个对象都必须包含 role 和 content。
interface Message {
role: 'system' | 'developer' | 'user' | 'assistant' | 'tool';
content: string | ContentPart[];
name?: string; // 在工具调用 (Tool Calls) 时使用
}不同模型对多模态输入、工具调用、JSON 模式、developer 消息和采样参数的支持可能不同。请以模型页面、控制台和服务端返回为准。
请求示例
curl https://www.tokiai.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKI_API_KEY" \
-d '{
"model": "deepseek/deepseek-chat-v3",
"messages": [
{"role": "system", "content": "你是一个有用的助手。"},
{"role": "user", "content": "什么是机器学习?"}
],
"temperature": 0.7,
"max_tokens": 500
}'响应
返回的响应遵循 OpenAI Chat Completions 的常用结构。
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1714000000,
"model": "deepseek/deepseek-chat-v3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "机器学习是人工智能的一个子领域……"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 150,
"total_tokens": 175
}
}流式响应
设置 stream: true 后,服务端会以 Server-Sent Events 形式返回增量数据:
curl https://www.tokiai.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKI_API_KEY" \
-d '{
"model": "deepseek/deepseek-chat-v3",
"messages": [
{"role": "user", "content": "用一句话介绍 TOKI"}
],
"stream": true
}'客户端应按 SSE 逐行读取 data: 内容,并在收到 [DONE] 时结束读取。