创建一个聊天完成
使用 Bearer API 密钥发送 ShareAI 聊天完成请求,并了解支持的模型、消息和流字段。
本页面内容
POST
https://api.shareai.now/api/v1/chat/completions使用选定模型运行聊天请求。
- 基础 URL
https://api.shareai.now- 身份验证
- Bearer API 密钥
这是为您的 API 密钥工作区支付和授权的请求的默认集成路径。密钥的模型和提供者限制适用于分配,包括允许的回退路径。
请求正文#
| 字段 | 类型 | 含义 |
|---|---|---|
model | 字符串,必填 | 精确可用的模型标识符。从模型中复制。 |
messages | 数组 | 包含角色和内容的对话消息。 |
stream | 布尔值 | false 返回一个 JSON 结果;true 请求服务器发送事件。 |
使用文本消息内容。发送诸如 system, user 和 assistant 的角色以适应对话。包括您希望模型使用的对话历史记录;不要假设请求共享存储的对话。
cURL
curl --fail-with-body --request POST \
"https://api.shareai.now/api/v1/chat/completions" \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "MODEL_IDENTIFIER",
"messages": [
{
"role": "system",
"content": "Be concise and helpful."
},
{
"role": "user",
"content": "Give me three ideas for a local community event."
}
],
"stream": false
}'
Python
import json
import os
import urllib.request
headers = {"Authorization": "Bearer " + os.environ["SHAREAI_API_KEY"]}
headers["Content-Type"] = "application/json"
payload = {'model': 'MODEL_IDENTIFIER', 'messages': [{'role': 'system', 'content': 'Be concise and helpful.'}, {'role': 'user', 'content': 'Give me three ideas for a local community event.'}], 'stream': False}
data = json.dumps(payload).encode()
request = urllib.request.Request('https://api.shareai.now/api/v1/chat/completions', data=data, headers=headers, method='POST')
with urllib.request.urlopen(request, timeout=60) as response:
print(json.load(response))
TypeScript
const url = "https://api.shareai.now/api/v1/chat/completions";
const headers: Record = {
Authorization: `Bearer ${process.env.SHAREAI_API_KEY}`,
};
headers["Content-Type"] = "application/json";
const payload = {
"model": "MODEL_IDENTIFIER",
"messages": [
{
"role": "system",
"content": "Be concise and helpful."
},
{
"role": "user",
"content": "Give me three ideas for a local community event."
}
],
"stream": false
};
const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) });
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.json());
响应#
完成的非流式结果设置 done 为 true 并返回生成的文本在 message.content。顶层还包含 done_reason 和 consumption_type。流式使用不同的聊天完成块格式。不要假设非流式结果具有 OpenAI 风格的选择数组。
JSON
{
"done": true,
"done_reason": "stop",
"consumption_type": "credits",
"message": {
"role": "assistant",
"content": "Here are three ideas for your community event.",
"done": true,
"done_reason": "stop"
}
}
这是一个说明性的完成结果;consumption_type 描述实际分配模式。即使 HTTP 状态为 200,也要检查顶层错误。目前无设备结果使用 error.code = no_device 和 HTTP 200。
模型和提供者限制#
密钥可能仅限于特定模型和执行提供者。如果访问被拒绝,请检查 密钥信息 并仅在拥有工作区打算授予该访问权限时在控制台中更新密钥。
流式或客户授权#
最近更新于 9 月 15, 2026