Skip to content

对话补全 API

Chat Completions API 是最常用的 API 接口,用于创建多轮对话和文本生成任务。

接口地址

POST http://122.51.35.238:5170/v1/chat/completions

请求头

Authorization: Bearer YOUR_API_KEY  
Content-Type: application/json

请求参数

参数类型必填说明
modelstring模型名称,如 gpt-4oclaude-3-opus-20240229
messagesarray消息数组,包含对话历史
temperaturenumber采样温度,0-2 之间,默认 1
max_tokensnumber最大生成 token 数
streamboolean是否流式输出,默认 false
top_pnumber核采样参数,0-1 之间

messages 参数格式

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

请求示例

Python

import openai  
  
client = openai.OpenAI(  
    api_key="YOUR_API_KEY",  
    base_url="http://122.51.35.238:5170/v1"  
)  
  
response = client.chat.completions.create(  
    model="gpt-4o",  
    messages=[  
        {"role": "system", "content": "你是一个有帮助的助手"},  
        {"role": "user", "content": "你好,请介绍一下你自己"}  
    ],  
    temperature=0.7,  
    max_tokens=1000  
)  
  
print(response.choices[0].message.content)

cURL

curl http://122.51.35.238:5170/v1/chat/completions \  
  -H "Content-Type: application/json" \  
  -H "Authorization: Bearer YOUR_API_KEY" \  
  -d '{  
    "model": "gpt-4o",  
    "messages": [  
      {"role": "system", "content": "你是一个有帮助的助手"},  
      {"role": "user", "content": "你好,请介绍一下你自己"}  
    ],  
    "temperature": 0.7,  
    "max_tokens": 1000  
  }'

Node.js

import OpenAI from 'openai';  
  
const client = new OpenAI({  
  apiKey: 'YOUR_API_KEY',  
  baseURL: 'http://122.51.35.238:5170/v1'  
});  
  
async function main() {  
  const response = await client.chat.completions.create({  
    model: 'gpt-4o',  
    messages: [  
      { role: 'system', content: '你是一个有帮助的助手' },  
      { role: 'user', content: '你好,请介绍一下你自己' }  
    ],  
    temperature: 0.7,  
    max_tokens: 1000  
  });  
  
  console.log(response.choices[0].message.content);  
}  
  
main();

响应示例

{  
  "id": "chatcmpl-xxx",  
  "object": "chat.completion",  
  "created": 1234567890,  
  "model": "gpt-4o",  
  "choices": [  
    {  
      "index": 0,  
      "message": {  
        "role": "assistant",  
        "content": "你好!我是一个 AI 助手,基于大型语言模型技术..."  
      },  
      "finish_reason": "stop"  
    }  
  ],  
  "usage": {  
    "prompt_tokens": 25,  
    "completion_tokens": 100,  
    "total_tokens": 125  
  }  
}

流式输出

设置 stream: true 可以启用流式输出:

response = client.chat.completions.create(  
    model="gpt-4o",  
    messages=[{"role": "user", "content": "写一首诗"}],  
    stream=True  
)  
  
for chunk in response:  
    if chunk.choices[0].delta.content:  
        print(chunk.choices[0].delta.content, end="")

多模态输入

部分模型支持图像输入:

response = client.chat.completions.create(  
    model="gpt-4o",  
    messages=[  
        {  
            "role": "user",  
            "content": [  
                {"type": "text", "text": "这张图片里有什么?"},  
                {  
                    "type": "image_url",  
                    "image_url": {"url": "https://example.com/image.jpg"}  
                }  
            ]  
        }  
    ]  
)

常见错误码

错误码说明解决方案
401API Key 无效检查 API Key 是否正确
429请求过于频繁降低请求频率或升级套餐
500服务器错误稍后重试
503服务暂时不可用稍后重试

本页内容来自文档知识库整理,已按 ArmNet 字元服务 服务命名统一更新。