开发接入

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 试一次。

基础调用

examples/curl/responses.sh
#!/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。

本页目录