开发文档
从注册到完成第一次调用,这里有你需要的一切
快速开始
从注册到完成第一次API调用,只需3步:
1. 注册账号并登录控制台
2. 创建API Key
3. 使用API Key发起第一次请求
安装SDK
bash
pip install openai发起请求
python
import openai
client = openai.OpenAI(
base_url="https://api.aihub.example.com/v1",
api_key="your-api-key"
)
response = client.chat.completions.create(
model="qwen-max",
messages=[
{"role": "user", "content": "你好"}
]
)
print(response.choices[0].message.content)认证方式
所有API请求需要在Header中携带API Key进行认证:
Authorization: Bearer YOUR_API_KEY获取API Key
1. 登录控制台
2. 进入「API Key管理」页面
3. 点击「创建新的Key」
4. 复制生成的Key并妥善保存
注意:API Key仅在创建时显示一次,请妥善保存。如遗失需重新创建。
模型列表
以下是当前支持的所有模型及其标识符:
| 模型名称 | model参数值 | 类型 |
|---|---|---|
| 通义千问 Max | qwen-max | 对话 |
| 通义千问 Plus | qwen-plus | 对话 |
| 文心一言 4.0 | ernie-bot-4 | 对话 |
| 智谱 GLM-4 | glm-4 | 对话 |
| DeepSeek V3 | deepseek-v3 | 对话/代码 |
| Moonshot v1 | moonshot-v1 | 对话 |
| Qwen-VL | qwen-vl | 图像理解 |
| --------- | ----------- | ------ |
|---|---|---|
| 通义千问 Plus | qwen-plus | 对话 |
| 文心一言 4.0 | ernie-bot-4 | 对话 |
| 智谱 GLM-4 | glm-4 | 对话 |
| DeepSeek V3 | deepseek-v3 | 对话/代码 |
| Moonshot v1 | moonshot-v1 | 对话 |
| Qwen-VL | qwen-vl | 图像理解 |
| 通义千问 Max | qwen-max | 对话 |
|---|---|---|
| 文心一言 4.0 | ernie-bot-4 | 对话 |
| 智谱 GLM-4 | glm-4 | 对话 |
| DeepSeek V3 | deepseek-v3 | 对话/代码 |
| Moonshot v1 | moonshot-v1 | 对话 |
| Qwen-VL | qwen-vl | 图像理解 |
| 通义千问 Plus | qwen-plus | 对话 |
|---|---|---|
| 智谱 GLM-4 | glm-4 | 对话 |
| DeepSeek V3 | deepseek-v3 | 对话/代码 |
| Moonshot v1 | moonshot-v1 | 对话 |
| Qwen-VL | qwen-vl | 图像理解 |
| 文心一言 4.0 | ernie-bot-4 | 对话 |
|---|---|---|
| DeepSeek V3 | deepseek-v3 | 对话/代码 |
| Moonshot v1 | moonshot-v1 | 对话 |
| Qwen-VL | qwen-vl | 图像理解 |
| 智谱 GLM-4 | glm-4 | 对话 |
|---|---|---|
| Moonshot v1 | moonshot-v1 | 对话 |
| Qwen-VL | qwen-vl | 图像理解 |
| DeepSeek V3 | deepseek-v3 | 对话/代码 |
|---|---|---|
| Qwen-VL | qwen-vl | 图像理解 |
| Moonshot v1 | moonshot-v1 | 对话 |
|---|
切换模型只需更改 `model` 参数,无需修改其他代码。
API参考
创建对话 (Chat Completions)
POST /v1/chat/completions
#### 请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型标识符 |
| messages | array | 是 | 消息列表 |
| temperature | number | 否 | 采样温度 (0-2) |
| max_tokens | integer | 否 | 最大输出Token数 |
| stream | boolean | 否 | 是否流式输出 |
| ----- | ------ | ------ | ------ |
|---|---|---|---|
| messages | array | 是 | 消息列表 |
| temperature | number | 否 | 采样温度 (0-2) |
| max_tokens | integer | 否 | 最大输出Token数 |
| stream | boolean | 否 | 是否流式输出 |
| model | string | 是 | 模型标识符 |
|---|---|---|---|
| temperature | number | 否 | 采样温度 (0-2) |
| max_tokens | integer | 否 | 最大输出Token数 |
| stream | boolean | 否 | 是否流式输出 |
| messages | array | 是 | 消息列表 |
|---|---|---|---|
| max_tokens | integer | 否 | 最大输出Token数 |
| stream | boolean | 否 | 是否流式输出 |
| temperature | number | 否 | 采样温度 (0-2) |
|---|---|---|---|
| stream | boolean | 否 | 是否流式输出 |
| max_tokens | integer | 否 | 最大输出Token数 |
|---|
#### 请求示例
bash
curl https://api.aihub.example.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-max",
"messages": [
{"role": "user", "content": "你好"}
]
}'#### 响应示例
json
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!有什么可以帮你的吗?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 5,
"completion_tokens": 12,
"total_tokens": 17
}
}错误码
常见错误码及处理方式:
| 错误码 | 说明 | 处理方式 |
|---|---|---|
| 401 | 认证失败 | 检查API Key是否正确 |
| 403 | 权限不足 | 确认账户套餐是否支持该模型 |
| 429 | 请求过于频繁 | 降低请求频率或升级套餐 |
| 500 | 服务内部错误 | 稍后重试,持续出现请联系支持 |
| 503 | 模型暂时不可用 | 稍后重试或切换其他模型 |
| ------- | ------ | --------- |
|---|---|---|
| 403 | 权限不足 | 确认账户套餐是否支持该模型 |
| 429 | 请求过于频繁 | 降低请求频率或升级套餐 |
| 500 | 服务内部错误 | 稍后重试,持续出现请联系支持 |
| 503 | 模型暂时不可用 | 稍后重试或切换其他模型 |
| 401 | 认证失败 | 检查API Key是否正确 |
|---|---|---|
| 429 | 请求过于频繁 | 降低请求频率或升级套餐 |
| 500 | 服务内部错误 | 稍后重试,持续出现请联系支持 |
| 503 | 模型暂时不可用 | 稍后重试或切换其他模型 |
| 403 | 权限不足 | 确认账户套餐是否支持该模型 |
|---|---|---|
| 500 | 服务内部错误 | 稍后重试,持续出现请联系支持 |
| 503 | 模型暂时不可用 | 稍后重试或切换其他模型 |
| 429 | 请求过于频繁 | 降低请求频率或升级套餐 |
|---|---|---|
| 503 | 模型暂时不可用 | 稍后重试或切换其他模型 |
| 500 | 服务内部错误 | 稍后重试,持续出现请联系支持 |
|---|
所有错误响应格式:
json
{
"error": {
"code": 401,
"type": "authentication_error",
"message": "Invalid API key provided"
}
}