通用调用方法
只要工具支持 OpenAI Compatible,一般只需要三个值:
Base URL: https://api.chutibe.com/v1
API Key: 你的 Chutibe API Key
Model: 从 /v1/models 返回结果中选择
先设置环境变量
macOS、Linux 或 WSL:
read -rsp "Chutibe API Key: " CHUTIBE_API_KEY && echo
export CHUTIBE_API_KEY
Windows PowerShell:
$secureKey = Read-Host "Chutibe API Key" -AsSecureString
$env:CHUTIBE_API_KEY = [System.Net.NetworkCredential]::new('', $secureKey).Password
这些写法只在当前终端会话中保留 Key。关闭终端后变量失效,也不会把 Key 写进项目文件。
最小 curl 请求
curl https://api.chutibe.com/v1/chat/completions \
-H "Authorization: Bearer $CHUTIBE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-luna",
"messages": [
{"role": "user", "content": "用三句话解释什么是 API 网关"}
]
}'
先用短问题验证 Key、Base URL 和模型名,再接入业务代码。这样能把认证问题和应用逻辑问题分开。
Python
安装官方 OpenAI SDK:
python -m pip install openai
最小代码:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["CHUTIBE_API_KEY"],
base_url="https://api.chutibe.com/v1",
)
response = client.chat.completions.create(
model="gpt-5.6-luna",
messages=[{"role": "user", "content": "给这段产品介绍写一个短标题"}],
)
print(response.choices[0].message.content)
JavaScript
安装 SDK:
npm install openai
最小代码:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.CHUTIBE_API_KEY,
baseURL: 'https://api.chutibe.com/v1',
});
const response = await client.chat.completions.create({
model: 'gpt-5.6-luna',
messages: [{role: 'user', content: '把这段会议记录整理成待办事项'}],
});
console.log(response.choices[0].message.content);
Responses API
需要推理、工具调用或较新的 OpenAI 工作流时,可以使用 Responses API:
response = client.responses.create(
model="gpt-5.6-terra",
input="分析这个上线方案的三个主要风险",
)
print(response.output_text)
并非每个厂商模型都完整支持 Responses API 的全部工具。通过中转站调用 Claude、Gemini 或 Grok 时,先从普通文本输入开始,再逐项验证工具调用、图片或结构化输出。
流式输出
stream = client.chat.completions.create(
model="gpt-5.6-luna",
messages=[{"role": "user", "content": "写一份五步排错清单"}],
stream=True,
)
for chunk in stream:
text = chunk.choices[0].delta.content
if text:
print(text, end="", flush=True)
生产环境建议
- 为请求设置超时,不要无限等待。
- 只对
429、500、502、503、504做有限次数重试,并使用指数退避。 - 记录请求 ID、模型名、耗时和状态码,不记录完整 API Key 或敏感输入。
- 把开发、测试和生产 Key 分开,发生泄露时立即撤销。
- 对模型输出做业务校验,模型返回成功不等于内容一定正确。
常见错误
| 状态 | 常见原因 | 处理方法 |
|---|---|---|
401 | Key 无效、过期或复制不完整 | 重新创建或复制 Key |
404 | Base URL 重复 /v1,或接口路径错误 | 检查最终请求 URL |
model_not_found | 模型 不在当前账号分组 | 查询 /v1/models 后更换 |
429 | 额度、并发或速率限制 | 降低并发并延迟重试 |
5xx | 网关或上游暂时异常 | 有限重试,仍失败则切换模型 |
下一步可以按厂商查看更具体的模型建议,或进入工具教程配置常用客户端。