开发文档
Codeable API 文档
快速集成 AI 能力,为您的应用赋能。
快速开始
2. 发送第一个请求
使用 cURL 发送一个简单的请求:
curl https://api.codeable.cn/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-3-haiku",
"messages": [
{"role": "user", "content": "Hello, world!"}
]
}'3. 使用 SDK
我们的 API 与 OpenAI SDK 兼容,只需更改 base URL:
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.codeable.cn/v1"
)
response = client.chat.completions.create(
model="claude-3-haiku",
messages=[
{"role": "user", "content": "Hello, world!"}
]
)
print(response.choices[0].message.content)认证方式
所有 API 请求都需要在 HTTP Header 中携带 API Key:
Authorization: Bearer sk_your_api_key_here安全提示:请勿在客户端代码中暴露 API Key。 建议在服务端调用 API,或使用环境变量存储密钥。
API 参考
POST
/v1/chat/completions创建聊天对话。这是最常用的 API 端点。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型 ID,如 "claude-3-haiku" |
messages | array | 是 | 对话消息列表 |
temperature | number | 否 | 采样温度,0-2,默认 1 |
max_tokens | number | 否 | 最大生成 token 数 |
stream | boolean | 否 | 是否流式返回,默认 false |
响应示例
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1703980800,
"model": "claude-3-haiku",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! How can I help you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 12,
"total_tokens": 22
}
}支持的模型
| 模型 ID | 提供商 | 最大 Token | 特点 |
|---|---|---|---|
claude-3-opus | Anthropic | 200K | 最强能力,复杂任务 |
claude-3-sonnet | Anthropic | 200K | 平衡性能与成本 |
claude-3-haiku | Anthropic | 200K | 快速响应,经济实惠 |
gpt-4o | OpenAI | 128K | 多模态,强大推理 |
gpt-4-turbo | OpenAI | 128K | 高性能,长上下文 |
gpt-3.5-turbo | OpenAI | 16K | 快速经济,日常任务 |
速率限制
为确保服务稳定性,我们对 API 请求实施速率限制:
| 套餐 | 请求/分钟 | 并发请求 | Token/分钟 |
|---|---|---|---|
| 体验版 | 10 | 1 | 10K |
| 专业版 | 60 | 10 | 100K |
| 企业版 | 无限制 | 无限制 | 无限制 |
超过速率限制时,API 将返回 429 Too Many Requests 错误。 请实现指数退避重试机制。
错误处理
API 使用标准 HTTP 状态码表示请求结果:
| 状态码 | 说明 | 处理建议 |
|---|---|---|
200 | 成功 | 正常处理响应 |
400 | 请求参数错误 | 检查请求参数格式 |
401 | 认证失败 | 检查 API Key 是否正确 |
403 | 权限不足 | 检查账户权限或配额 |
429 | 请求过多 | 实现指数退避重试 |
500 | 服务器错误 | 稍后重试或联系支持 |
错误响应格式
{
"error": {
"type": "invalid_request_error",
"code": "invalid_api_key",
"message": "Incorrect API key provided",
"param": null
}
}