AI Router 文档AI Router 文档
首页
快速开始
如何充值
Codex Desktop
Codex CLI
Claude Desktop
Claude CLI
Gemini CLI
API 文档
售后支持
首页
快速开始
如何充值
Codex Desktop
Codex CLI
Claude Desktop
Claude CLI
Gemini CLI
API 文档
售后支持
  • API 接口

    • API 接口
    • 聊天补全接口
    • 文本补全接口
    • 文本嵌入接口
    • 图像生成接口

聊天补全接口

创建聊天补全请求,支持多轮对话和流式响应。

接口信息

  • 接口地址: POST /v1/chat/completions
  • 认证方式: Bearer Token
  • Content-Type: application/json

请求参数

必填参数

参数类型说明
modelstring模型名称
messagesarray消息列表

可选参数

参数类型默认值说明
temperaturenumber1.0采样温度,范围 0-2
top_pnumber1.0核采样参数,范围 0-1
ninteger1生成回复数量
streambooleanfalse是否流式返回
stopstring/arraynull停止生成的标记
max_tokensintegernull最大生成 token 数
presence_penaltynumber0存在惩罚,范围 -2 到 2
frequency_penaltynumber0频率惩罚,范围 -2 到 2
logit_biasobjectnulltoken 偏好设置
userstringnull用户标识

messages 格式

{
  "messages": [
    {
      "role": "system",
      "content": "你是一个有用的助手"
    },
    {
      "role": "user",
      "content": "你好"
    },
    {
      "role": "assistant",
      "content": "你好!有什么可以帮助你的吗?"
    },
    {
      "role": "user",
      "content": "请介绍一下自己"
    }
  ]
}

role 类型:

角色说明
system系统消息,设定助手的行为
user用户消息
assistant助手回复

请求示例

基础请求

curl https://aigc.aochengcloud.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {"role": "user", "content": "你好"}
    ]
  }'

带参数的请求

curl https://aigc.aochengcloud.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
    "model": "gpt-4",
    "messages": [
      {"role": "system", "content": "你是一个专业的编程助手"},
      {"role": "user", "content": "用Python写一个快速排序"}
    ],
    "temperature": 0.7,
    "max_tokens": 1000,
    "stream": false
  }'

流式请求

curl https://aigc.aochengcloud.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {"role": "user", "content": "讲一个故事"}
    ],
    "stream": true
  }'

响应格式

非流式响应

{
  "id": "chatcmpl-8VYRlGZS4uPpnS3FyW32vM",
  "object": "chat.completion",
  "created": 1704067200,
  "model": "gpt-3.5-turbo-0613",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "你好!有什么可以帮助你的吗?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 15,
    "total_tokens": 25
  }
}

流式响应

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"role":"assistant","content":""},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"你"},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"好"},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}

data: {"id":"chatcmpl-8VYRlGZS4uPpnS3FyW32vM","object":"chat.completion.chunk","created":1704067200,"model":"gpt-3.5-turbo-0613","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

响应字段说明

字段类型说明
idstring请求的唯一标识
objectstring对象类型
createdinteger创建时间戳
modelstring使用的模型
choicesarray生成的回复列表
usageobjecttoken 用量统计

choices 字段

字段类型说明
indexinteger回复索引
messageobject回复内容
finish_reasonstring结束原因

finish_reason 类型

值说明
stop正常结束
length达到最大 token 数
content_filter内容过滤
function_call函数调用

usage 字段

字段类型说明
prompt_tokensinteger输入 token 数
completion_tokensinteger输出 token 数
total_tokensinteger总 token 数

SDK 示例

Python

import openai

client = openai.OpenAI(
    api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    base_url="https://aigc.aochengcloud.com/v1"
)

# 非流式请求
response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "你好"}
    ]
)
print(response.choices[0].message.content)

# 流式请求
stream = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "讲一个故事"}
    ],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Node.js

import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  baseURL: 'https://aigc.aochengcloud.com/v1'
});

// 非流式请求
const response = await openai.chat.completions.create({
  model: 'gpt-3.5-turbo',
  messages: [
    { role: 'user', content: '你好' }
  ]
});
console.log(response.choices[0].message.content);

// 流式请求
const stream = await openai.chat.completions.create({
  model: 'gpt-3.5-turbo',
  messages: [
    { role: 'user', content: '讲一个故事' }
  ],
  stream: true
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || '');
}

错误处理

常见错误

错误码说明处理方式
400请求参数错误检查请求参数格式
401认证失败检查 API Key
429请求频率超限降低请求频率或增加限额
500服务器错误稍后重试

错误响应示例

{
  "error": {
    "message": "Invalid request: missing required parameter 'messages'",
    "type": "invalid_request_error",
    "param": "messages",
    "code": "missing_required_parameter"
  }
}

最佳实践

temperature 设置

  • 0: 最确定性的输出,适合事实性回答
  • 0.7: 平衡创造性和准确性
  • 1.0: 默认值,适中
  • 2.0: 最高创造性,可能产生不相关输出

max_tokens 设置

根据预期回复长度设置:

  • 简短回答:100-200
  • 中等长度:500-1000
  • 长文本:2000-4000

流式响应

使用流式响应改善用户体验:

# 实时显示生成内容
for chunk in stream:
    print(chunk.choices[0].delta.content, end="", flush=True)
最后更新:
Prev
API 接口
Next
文本补全接口