开发接入
Responses 接口
使用 OpenAI Responses 格式(POST /v1/responses)调用模型,附实测结论和已知限制。
Responses 是 OpenAI 较新的接口格式,用 input 代替 messages,用 output 返回结果。Athandra 提供 POST /v1/responses,OpenAI SDK 的 client.responses.create() 可以直接使用。
先看实测结论
Responses 接口是否可用取决于具体模型。线上实测结果:
qwen3.7-flash:可用,非流式和流式(SSE)均通过。deepseek-v3.2、kimi-k2.7-code:返回 400,Agent capabilities are not enabled for the current model。claude-haiku-4-5:返回 500,not implemented,请改用 Anthropic Messages。gpt-5.x系列:实测时上游服务返回 401,暂不可用。
不确定的模型,请先用 游乐场 或下面的 curl 试一次。
基础调用
#!/usr/bin/env bash
# Responses 格式:路径 /v1/responses,用 input 代替 messages
# 实测 qwen3.7-flash 可用;enable_thinking=false 是千问模型的参数,关闭思考可节省 token
curl -sS https://ai.athandra.com/v1/responses \
-H "Authorization: Bearer $ATHANDRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "'"${ATHANDRA_RESPONSES_MODEL:-qwen3.7-flash}"'",
"input": "用一句话介绍你自己",
"max_output_tokens": 600,
"enable_thinking": false
}'
要点:
- Base URL 同样是
https://ai.athandra.com/v1,Key 用Authorization: Bearer <Key>。 enable_thinking: false是千问模型的专用参数,关闭思考可以省 token;其它模型请去掉。Python SDK 里用extra_body传,Node SDK 直接写在参数里。max_output_tokens对应 Chat Completions 里的max_tokens。
返回结构
回答在 output[].content[].text(SDK 里用 resp.output_text 直接取),用量在 usage.input_tokens / usage.output_tokens:
{
"id": "resp_deaedc17-...",
"object": "response",
"model": "qwen3.7-flash",
"status": "completed",
"output": [
{
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{ "type": "output_text", "text": "我是通义千问,由阿里巴巴集团通义实验室独立开发的大型语言模型。" }
]
}
],
"usage": { "input_tokens": 52, "output_tokens": 18, "total_tokens": 70 }
}流式
加上 "stream": true,服务端以 SSE 返回事件,增量文字在 response.output_text.delta 事件的 delta 字段,最后以 response.completed 事件结束:
event: response.output_text.delta
data: {"delta":"好","type":"response.output_text.delta", ...}
event: response.completed
data: {"response":{"status":"completed", ...}, "type":"response.completed"}完整字段见 API 参考:Responses。