Appearance
协议二:OpenAI Responses
POST /api/v1/responses
Authorization: Bearer sk-xxx
Content-Type: application/json兼容 OpenAI Responses API,新一代对话接口,支持多轮对话、工具调用、文件输入等。
Request
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | * | 模型 ID |
| input | string or array | * | 输入内容。可以是纯文本字符串,或 InputItem 列表 |
| instructions | string | 可选 | 系统指令 |
| tools | array | 可选 | 工具列表,支持 function、web_search、file_search、code_interpreter |
| tool_choice | string or object | 可选 | 工具选择策略 |
| temperature | number | 可选 | 采样温度 |
| top_p | number | 可选 | Nucleus sampling |
| max_output_tokens | integer | 可选 | 最大输出 token 数 |
| stream | boolean | 可选 | 是否流式输出 |
| previous_response_id | string | 可选 | 上一轮 Response ID,用于多轮对话 |
| reasoning | object | 可选 | 推理配置 |
| reasoning_effort | string | 可选 | 推理努力程度 |
| text | object | 可选 | 输出格式配置(结构化输出 / JSON mode) |
| metadata | object | 可选 | 业务元信息 |
InputItem 类型:
| 字段 | 类型 | 说明 |
|---|---|---|
| type | string | message / function_call_output |
| role | string | user / assistant / system / developer |
| content | string or array | 文本或内容片段列表 |
请求示例(简单文本):
json
{
"model": "qwen3.8-max",
"input": "你好!"
}请求示例(多轮对话):
json
{
"model": "qwen3.8-max",
"input": [
{ "type": "message", "role": "user", "content": "你好" },
{ "type": "message", "role": "assistant", "content": "你好!有什么可以帮助你的?" },
{ "type": "message", "role": "user", "content": "介绍一下自己" }
],
"instructions": "你是一个友好的助手"
}Response
返回 Response 对象,包含生成的输出内容、用量统计等信息。
代码示例
JavaScript / OpenAI SDK
javascript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://limapi.com/api/v1",
apiKey: "sk-xxx",
});
const response = await client.responses.create({
model: "qwen3.8-max",
input: "写一首关于春天的短诗",
});
console.log(response.output_text);Python / OpenAI SDK
python
from openai import OpenAI
client = OpenAI(
base_url="https://limapi.com/api/v1",
api_key="sk-xxx",
)
response = client.responses.create(
model="qwen3.8-max",
input="写一首关于春天的短诗",
)
print(response.output_text)流式输出
javascript
const stream = await client.responses.create({
model: "qwen3.8-max",
input: "介绍一下自己",
stream: true,
});
for await (const event of stream) {
if (event.type === "response.output_text.delta") {
process.stdout.write(event.delta);
}
}多轮对话(previous_response_id)
javascript
const first = await client.responses.create({
model: "qwen3.8-max",
input: "记住我的名字叫小明",
});
const second = await client.responses.create({
model: "qwen3.8-max",
previous_response_id: first.id,
input: "我叫什么名字?",
});
console.log(second.output_text);