兼容接口
Anthropic Messages、OpenAI Responses、legacy Completions 与模型清单。
兼容接口
除了 OpenAI 标准端点,网关还提供几个生态兼容入口,让现有客户端不改代码直接指向本站。
Anthropic Messages(Claude 生态)
把 Anthropic SDK 的 base_url 设为 https://api.chenra.com/api/relay(SDK 会自己补 /v1/messages)。
支持文本、图片、工具调用与流式;返回的 content 是 Anthropic 的内容块数组。
from anthropic import Anthropic
client = Anthropic(
api_key="sk-你的密钥",
base_url="https://api.chenra.com/api/relay",
)
msg = client.messages.create(
model="deepseek-chat",
max_tokens=512,
messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)
OpenAI Responses
POST /responses:支持 instructions、input(字符串或消息数组)、图片、工具调用与流式
(response.created → response.output_* → response.completed)。
文本补全(legacy Completions)
POST /completions:OpenAI 已废弃的补全接口,折成一次文本对话,响应为 text_completion 形状
(choices[].text)。只支持文本模型。
模型清单
GET /models 返回 OpenAI 格式的模型列表({object:"list", data:[...]}),
GET /models/{id} 返回单个模型;id 即填进请求体 model 字段的标识。
/messagesAnthropic Messages(兼容)Claude 生态入口;base_url 用 https://api.chenra.com/api/relay,SDK 自动补 /v1/messages。
| 参数 | 类型 | 必填 | 说明 | 默认值 |
|---|---|---|---|---|
model | string | 是 | 模型标识 | — |
max_tokens | integer | 是 | 最大生成 token 数(Anthropic 必填) | — |
messages | array | 是 | Anthropic 消息数组 | — |
system | string | 否 | 系统提示 | — |
stream | boolean | 否 | 是否流式 | false |
curl https://api.chenra.com/api/relay/v1/messages \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"max_tokens": 512,
"messages": [{"role": "user", "content": "你好"}]
}'
{
"id": "msg_9c1a...",
"type": "message",
"role": "assistant",
"model": "deepseek-chat",
"content": [
{ "type": "text", "text": "你好!有什么可以帮你的吗?" }
],
"stop_reason": "end_turn",
"usage": { "input_tokens": 10, "output_tokens": 12 }
}
| 错误码 | 说明 |
|---|---|
400 | 缺少 model / messages 参数 |
404 | 模型不存在或未启用 |
/responsesOpenAI Responses(兼容)支持 instructions、input(字符串或消息数组)、图片、工具调用与流式。
| 参数 | 类型 | 必填 | 说明 | 默认值 |
|---|---|---|---|---|
model | string | 是 | 模型标识 | — |
input | string | array | 是 | 输入内容 | — |
instructions | string | 否 | 系统指令 | — |
stream | boolean | 否 | 是否流式 | false |
curl https://api.chenra.com/api/relay/v1/responses \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-flash",
"input": "你好"
}'
{
"id": "resp_5b7c...",
"object": "response",
"status": "completed",
"model": "qwen3.7-flash",
"output": [
{ "type": "message", "role": "assistant", "status": "completed", "content": [{ "type": "output_text", "text": "你好!" }] }
],
"output_text": "你好!",
"usage": { "input_tokens": 8, "output_tokens": 4, "total_tokens": 12 }
}
| 错误码 | 说明 |
|---|---|
400 | 缺少 model / input 参数 |
404 | 模型不存在或未启用 |
/completions文本补全(legacy)OpenAI 已废弃的补全接口,折成一次文本对话,响应为 text_completion 形状。
| 参数 | 类型 | 必填 | 说明 | 默认值 |
|---|---|---|---|---|
model | string | 是 | 文本模型标识 | — |
prompt | string | 是 | 提示词 | — |
stream | boolean | 否 | 是否流式 | false |
curl https://api.chenra.com/api/relay/v1/completions \
-H "Authorization: Bearer sk-你的密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.7-flash",
"prompt": "用一句话介绍杭州"
}'
{
"id": "cmpl-1f3b...",
"object": "text_completion",
"model": "qwen3.7-flash",
"choices": [
{ "index": 0, "text": "杭州是一座以西湖闻名的历史文化名城。", "finish_reason": "stop" }
]
}
| 错误码 | 说明 |
|---|---|
400 | 缺少 model / prompt,或该模型不支持文本补全 |
/models模型清单OpenAI 格式的模型列表;id 即填进请求体 model 字段的标识。
curl https://api.chenra.com/api/relay/v1/models \
-H "Authorization: Bearer sk-你的密钥"
{
"object": "list",
"data": [
{ "id": "qwen3.7-flash", "object": "model", "owned_by": "bailian", "capabilities": ["llm", "vlm"] }
]
}
| 错误码 | 说明 |
|---|---|
401 | 未带 Key 或 Key 无效 |