---
url: https://limapi.com/docs/guide/responses.md
---
# 协议二：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);
```
