跳到主要内容

聊​天补​全

聊​天补​全​端点​为​一​段​对话生​成​模​型​响应。​它兼容 OpenAI,​因此​请求​和​响应​的​结构​与​ OpenAI​ Chat Completions ​API ​一致。

POST https://api.shisa.ai/openai/v1/chat/completions
方法POST
认证Authorization: Bearer YOUR_API_KEY
Content-Typeapplication/json

请​求体

字段类型必填说​明
modelstring必填Shisa 模型​ ID,​例如​ shisa-ai/shisa-v2.1-llama3.3-70b。​参见模型
messagesarray必填迄今​为止​的​对话,​以​消息​对象​的​有序列表​表示。
streamboolean可​选当​为​ true ​时,​部分​令牌​将​作为​ Server-Sent Events ​流式​传输。​默​认为​ false
temperaturenumber可​选采样​温度。​值​越​高越​随机,​值​越​低越​确定。

路​由​器​接受​ top_pmax_tokensstoppresence_penalty ​和​ frequency_penalty ​等​标准​ OpenAI​ ​兼容​字段,​并​通常​将​其转​发至​后端。​针对​具体​模型​的​防护​规则​可能​会​应用​输出​ ​token 默​认值​或​上限,​并​注入​抑制​重复​的​采样​默​认值。​已​配置​的​有效默​认值​和​上限会​在​经过​身份验证​的​ /models 响​应中​公开。​其他​可​选​字段​是否​受​支持​以及​具体​如何​生效,​取决于​所​选​模型​和​后端。

消息​对​象

messages ​中​的​每个​条目​都​有​ role ​和​ content

字段类型说​明
rolestringsystemuser ​或​ assistant ​之一。
contentstring消息​文本。
{
"model": "shisa-ai/shisa-v2.1-llama3.3-70b",
"messages": [
{ "role": "system", "content": "You are a helpful assistant fluent in Japanese and English." },
{ "role": "user", "content": "日本の四季について教えてください。" }
],
"temperature": 0.7,
"stream": false
}

响​应

"stream": false ​时,​端点​返​回单​个​聊天​补全​对象。​生成​的​回复​位​于​ choices[0].message.content

{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1700000000,
"model": "shisa-ai/shisa-v2.1-llama3.3-70b",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "日本には四つの季節があります……" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 32,
"completion_tokens": 128,
"total_tokens": 160
}
}
备注

上​述示​例值仅供​说​明 ​——​ ​ID、​时间​戳​和​令牌​数量​会​因​每​次​请求​而异。

流式​响应

"stream": true ​时,​端点​返​回 Server-Sent Even​ts。​包含​文本​的​数据​块会​将​新​增文​本​放​在choices[0].delta.content中。​为​统计 token,​路​由​器会​在​发往​后端​的​请求​中​将stream_options.include_usage设为true。​支持​此​选​项​的​后端​可能​会​在data: [DONE]标记​之前​发送​一​个choices数​组​为​空​的​用量​数​据​块,​因此​不​要​假设​每​个​数​据​块​都​含​有choices[0]

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"日本"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"には"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[],"usage":{"prompt_tokens":32,"completion_tokens":128,"total_tokens":160}}
data: [DONE]

官​方 OpenAI SDK 会​为​您​处理​这​种​帧格式​ ​——​ Python ​和​ Node ​的​流式​示例请​参阅快速​开始

错误

认证​错误​和​请​求​错误会​以​标准​的​ H​TTP ​状态码​和​ J​SON ​主体​返回。​共享​的​错误​格式​和​状态​码请​参阅错误,​请​求头​要求​请​参阅认证

后续​步​骤

  • 模型 ​—— ​为​您​的​工作​负载​选择​合适​的​层级。
  • 价格 ​——​ ​令牌​如何​计费。
  • SDK ​—— ​在​ S​hisa ​上​使用​ OpenAI S​DK。