OpenAI 兼容接口
智脑实现了 OpenAI Chat Completions 协议的主要能力。原有代码只需替换两处:base_url 与 api_key。
基础地址与鉴权
- Base URL:https://zhinao.75zs.com/v1
- 鉴权头:Authorization: Bearer sk-zn-xxx
- 请求体:Content-Type: application/json
若你的 SDK 要求填写「完整接口地址」,则为 https://zhinao.75zs.com/v1/chat/completions;若 SDK 会自动拼接 /chat/completions,则只填到 https://zhinao.75zs.com/v1。
对话补全 POST /v1/chat/completions
bash
curl https://zhinao.75zs.com/v1/chat/completions \
-H "Authorization: Bearer sk-zn-xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [{ "role": "user", "content": "用一句话介绍你自己" }],
"stream": false
}'常用请求参数
| 参数 | 类型 | 说明 |
|---|---|---|
| model | string | 必填。智脑模型 slug,例如 deepseek-chat、gpt-4o-mini。 |
| messages | array | 必填。消息数组,角色为 system / user / assistant / tool,格式与 OpenAI 一致。 |
| stream | boolean | 为 true 时以 SSE 流式返回增量内容。 |
| max_tokens | integer | 限制本次输出长度,也会影响预检时的余额判断。 |
| temperature / top_p | number | 采样参数,按上游模型能力透传。 |
| tools / tool_choice | array / string | 函数调用(工具调用),按 OpenAI 格式传入。 |
| stop | string / array | 停止词,按上游支持情况透传。 |
响应结构
响应为标准的 Chat Completions 对象:id、model、choices[]、usage。usage.prompt_tokens 与 usage.completion_tokens 是计费依据,平台按实际 tokens 结算并写入用量日志。
流式输出(SSE)
开启 stream: true 后,响应为 text/event-stream, 每行以 data: 开头,最后以 data: [DONE] 结束。
bash
curl -N https://zhinao.75zs.com/v1/chat/completions \
-H "Authorization: Bearer sk-zn-xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"stream": true,
"messages": [{ "role": "user", "content": "分三点说明什么是流式输出" }]
}'大多数 SDK 已封装流式解析(如 Python 的 stream=True、Node 的 stream: true),一般无需手动处理 SSE。首字延迟与总耗时都会记录在用量日志中。
工具调用(Function Calling)
python
from openai import OpenAI
client = OpenAI(api_key="sk-zn-xxxx", base_url="https://zhinao.75zs.com/v1")
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询指定城市的天气",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
},
}]
resp = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "北京今天天气怎么样?"}],
tools=tools,
tool_choice="auto",
)
print(resp.choices[0].message.tool_calls)返回的 tool_calls 由你的程序执行本地函数后,再以 role: "tool" 的消息回传即可继续对话。是否支持取决于所选上游模型能力。
模型列表 GET /v1/models
bash
curl https://zhinao.75zs.com/v1/models \
-H "Authorization: Bearer sk-zn-xxxx"返回 OpenAI 格式的 { object: "list", data: [...] },其中 id 即请求时可用的模型 slug,另附 display_name、context_window 等辅助字段。
向量化 POST /v1/embeddings
bash
curl https://zhinao.75zs.com/v1/embeddings \
-H "Authorization: Bearer sk-zn-xxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": ["智脑 API 支持 OpenAI 兼容协议"]
}'仅向量类模型(例如 text-embedding-3-small)支持该端点,返回结构与 OpenAI 一致。
兼容性说明
- 协议层只做必要转换,请求与响应字段名与 OpenAI 保持一致,便于复用现有解析代码。
- 不同上游模型对 response_format、视觉输入、音频等高级字段支持程度不同, 不支持时上游会返回 400,平台原样透出错误信息。
- 单次请求的输入长度不能超过模型上下文窗口,超出会被上游拒绝并记录为失败请求(不计费)。
- 请求频率受套餐限制,超限返回 429,详见错误码与排查。