Skip to content

聊天补全 API

聊天补全(Chat Completions)是 Star API 最核心的接口,用于与大语言模型进行对话交互。

请求端点

POST https://star.zhxyclaw.cn/v1/chat/completions

请求参数

必填参数

参数类型说明
modelstring模型名称,例如 gpt-5.4claude-sonnet-5
messagesarray消息列表,包含对话历史

可选参数

参数类型默认值说明
temperaturenumber1.0采样温度,范围 0-2。值越高回答越随机,值越低越确定
max_tokensinteger模型默认生成的最大 Token 数
top_pnumber1.0核采样参数,范围 0-1
frequency_penaltynumber0频率惩罚,范围 -2.0 到 2.0
presence_penaltynumber0存在惩罚,范围 -2.0 到 2.0
streambooleanfalse是否开启流式输出
stopstring/arraynull停止生成的标记
ninteger1生成的回复数量
userstringnull用户标识,用于追踪和监控

messages 数组结构

每条消息包含以下字段:

字段类型说明
rolestring消息角色:systemuserassistant
contentstring消息内容
  • system:系统提示词,设定 AI 的行为和角色
  • user:用户发送的消息
  • assistant:AI 之前的回复,用于多轮对话

请求示例

curl

bash
curl https://star.zhxyclaw.cn/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "gpt-5.4",
    "messages": [
      {
        "role": "system",
        "content": "你是一个专业的技术顾问。"
      },
      {
        "role": "user",
        "content": "请用简洁的语言解释什么是 RESTful API。"
      }
    ],
    "temperature": 0.7,
    "max_tokens": 500
  }'

Python

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://star.zhxyclaw.cn/v1"
)

response = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "system", "content": "你是一个专业的技术顾问。"},
        {"role": "user", "content": "请用简洁的语言解释什么是 RESTful API。"}
    ],
    temperature=0.7,
    max_tokens=500
)

print(response.choices[0].message.content)

Node.js

javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-your-api-key",
  baseURL: "https://star.zhxyclaw.cn/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-5.4",
  messages: [
    { role: "system", content: "你是一个专业的技术顾问。" },
    { role: "user", content: "请用简洁的语言解释什么是 RESTful API。" },
  ],
  temperature: 0.7,
  max_tokens: 500,
});

console.log(response.choices[0].message.content);

响应格式

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1720000000,
  "model": "gpt-5.4",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "RESTful API 是一种基于 HTTP 协议的软件架构风格..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 35,
    "completion_tokens": 120,
    "total_tokens": 155
  }
}

响应字段说明

字段类型说明
idstring响应的唯一标识符
objectstring对象类型,固定为 chat.completion
createdinteger创建时间(Unix 时间戳)
modelstring使用的模型名称
choicesarray生成的回复列表
choices[].indexinteger回复索引
choices[].messageobject回复消息对象
choices[].message.rolestring固定为 assistant
choices[].message.contentstring回复内容
choices[].finish_reasonstring停止原因:stoplength
usageobjectToken 使用量
usage.prompt_tokensinteger输入 Token 数
usage.completion_tokensinteger输出 Token 数
usage.total_tokensinteger总 Token 数

流式输出

设置 "stream": true 开启流式输出,适合实时展示生成内容。

流式输出示例(Python)

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://star.zhxyclaw.cn/v1"
)

stream = client.chat.completions.create(
    model="gpt-5.4",
    messages=[
        {"role": "user", "content": "请给我讲一个短故事。"}
    ],
    stream=True
)

for chunk in stream:
    content = chunk.choices[0].delta.content
    if content is not None:
        print(content, end="", flush=True)

print()

流式输出示例(Node.js)

javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-your-api-key",
  baseURL: "https://star.zhxyclaw.cn/v1",
});

const stream = await client.chat.completions.create({
  model: "gpt-5.4",
  messages: [{ role: "user", content: "请给我讲一个短故事。" }],
  stream: true,
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content;
  if (content) {
    process.stdout.write(content);
  }
}
console.log();

流式输出数据格式

流式输出时,服务器会以 Server-Sent Events(SSE)格式发送数据:

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","created":1720000000,"model":"gpt-5.4","choices":[{"index":0,"delta":{"content":"你"},"finish_reason":null}]}

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","created":1720000000,"model":"gpt-5.4","choices":[{"index":0,"delta":{"content":"好"},"finish_reason":null}]}

data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","created":1720000000,"model":"gpt-5.4","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

多轮对话示例

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="https://star.zhxyclaw.cn/v1"
)

messages = [
    {"role": "system", "content": "你是一个有帮助的AI助手。"}
]

while True:
    user_input = input("你: ")
    if user_input.lower() in ["exit", "quit", "退出"]:
        break

    messages.append({"role": "user", "content": user_input})

    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=messages,
        temperature=0.7,
        max_tokens=1000
    )

    assistant_message = response.choices[0].message.content
    messages.append({"role": "assistant", "content": assistant_message})

    print(f"AI: {assistant_message}")

支持的模型

以下是聊天补全接口支持的部分模型:

模型服务商说明
gpt-5.5OpenAIGPT-5.5 旗舰模型
gpt-5.6OpenAIGPT-5.6 最新模型
gpt-5.4OpenAIGPT-5.4 均衡模型
gpt-5.4-miniOpenAIGPT-5.4 轻量版
claude-opus-4-8AnthropicClaude Opus 4.8
claude-sonnet-5AnthropicClaude Sonnet 5
claude-fable-5AnthropicClaude Fable 5
deepseek-v4-proDeepSeekDeepSeek V4 Pro
deepseek-v4-flashDeepSeekDeepSeek V4 Flash
gemini-3.1-pro-previewGoogleGemini 3.1 Pro
gemini-2.5-flashGoogleGemini 2.5 Flash
grok-4.5xAIGrok 4.5
qwen3.7-plus阿里云通义千问 3.7 Plus

完整模型列表请查看 模型与定价 页面,或通过 模型列表 API 获取。

Star API - 统一的大模型接口网关