03+ Responses API (响应接口)
这里只记录 response api 区别于 chat completions 的一些特性。
text.verbosity 参数
Responses API 里新的文本配置可以控制啰嗦程度。
可选 low、medium、high,低值更简洁,高值更详细。
{
"text": {
"verbosity": "low"
}
}text.format 格式控制参数
默认普通文本 在这里可以开JSON schema
{
"text": {
"format": {
"type": "text"
}
}
}开JSON SCHEMA
{
"text": {
"format": {
"type": "json_schema",
"name": "summary_result",
"schema": {
"type": "object",
"properties": {
"title": {"type": "string"},
"summary": {"type": "string"},
"tags": {
"type": "array",
"items": {"type": "string"}
}
},
"required": ["title", "summary", "tags"],
"additionalProperties": false
},
"strict": true
}
}
}老版本还有 json_object:旧版 JSON mode,只保证合法 JSON
instructions
高优先级指令,可以理解为开发者指令。
{
"instructions": "你是一个严谨但说人话的 AI 应用开发老师。"
}
官方说明:`store` 表示是否存储生成的模型 response,以便之后通过 API 取回。
笔记:
store是否保存本次 response。`json{ "store": true}
用途:
之后 retrieve调试记录对话构建 conversation
如果你不想服务端保存,可以考虑设为 false,具体看业务和平台能力。
---## truncation控制上下文太长时怎么截断。`json{ "truncation": "auto"}
笔记:
truncation控制输入超过上下文窗口时如何处理。常见理解:`textdisabled:不自动截断,太长就报错auto:自动截断部分上下文
做严肃 RAG / 文档问答时,要小心自动截断,因为可能把关键资料截没。
---# 9. 缓存 / 成本 / 性能参数## prompt_cache_key用于提升 prompt cache 命中率。`json{ "prompt_cache_key": "user_123_project_ai_notes"}
官方文档说 `prompt_cache_key` 用于让 OpenAI 缓存相似请求,以优化 cache hit rate,并替代旧的 `user` 字段。
笔记:
prompt_cache_key用于提示缓存。适合:`text很多请求共享同一大段前缀例如固定 system prompt固定知识库说明固定工具描述
好处:
提升缓存命中降低延迟可能降低成本
---## prompt_cache_retention缓存保留策略。`json{ "prompt_cache_retention": "24h"}
官方文档说可选 `in-memory` 或 `24h`;`24h` 可以启用 extended prompt caching,让缓存前缀活跃更久,最长 24 小时。
笔记:
prompt_cache_retention控制 prompt cache 保留策略。可选:`textin-memory24h
新手阶段知道有这个即可。
---## service_tier控制请求服务层级。`json{ "service_tier": "default"}
官方文档说 `service_tier` 可以指定处理类型;`auto` 会用项目设置,`default` 是标准价格和性能,`flex`、`priority` 等对应不同处理层级。
笔记:
service_tier控制请求使用哪个服务层级。常见:`textautodefaultflexpriority
入门阶段一般不用管,默认即可。
---# 10. 安全 / 元数据参数## metadata给请求附加业务元数据。`json{ "metadata": { "user_id": "u_123", "feature": "ai_notes", "env": "dev" }}
笔记:
metadata给请求附加业务元数据。用途:`text日志调试统计后台筛选追踪是哪一个功能发起的请求
不要放敏感信息,比如明文邮箱、手机号、密码、API key。
---## safety_identifier用于安全风控的稳定用户标识。`json{ "safety_identifier": "hashed_user_id_abc"}
官方文档说 `safety_identifier` 是稳定标识,用于帮助检测应用用户是否违反使用政策;建议哈希用户名或邮箱,避免发送可识别信息,最大长度 64。
笔记:
safety_identifier用于安全风控的稳定用户标识。建议:`text传 hash 后的 user_id / email不要传明文个人信息
用途:
帮助平台识别异常使用滥用检测安全审计
---# 11. 最小请求模板你可以放进笔记:markdown## 最小 Responses API 请求bashcurl https://api.openai.com/v1/responses \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.2", "input": "解释一下 API 是什么" }'
---# 12. 稍微完整一点的请求模板markdown## 常用 Responses API 请求模板json{ "model": "gpt-5.2", "instructions": "你是一个严谨但说人话的 AI 应用开发老师。", "input": "解释一下 RAG 是什么", "temperature": 0.7, "max_output_tokens": 800, "stream": false, "text": { "verbosity": "medium", "format": { "type": "text" } }, "store": true, "metadata": { "feature": "learning_notes" }}
---# 13. Chat Completions 对应参数如果你用旧的 /chat/completions,大致这样:markdown## Chat Completions 常见参数json{ "model": "gpt-5.2", "messages": [ { "role": "developer", "content": "你是一个编程老师。" }, { "role": "user", "content": "解释一下 API 是什么" } ], "temperature": 0.7, "max_completion_tokens": 800, "stream": false, "tools": [], "tool_choice": "auto"}
核心区别:
Responses API:input + instructionsChat Completions:messages
---# 14. 新手优先掌握哪些参数?你现在别全背。先按这个顺序学:markdown## 参数学习优先级### 第一优先级:必须会textmodelinput / messagesAuthorizationContent-Type
### 第二优先级:马上会用
instructionstemperaturemax_output_tokensstream
### 第三优先级:做 AI 应用必须学
text.formatjson_schematoolstool_choiceprevious_response_idstore
### 第四优先级:进阶优化
reasoning.effortprompt_cache_keyservice_tiermetadatasafety_identifiertruncation
---# 15. 一句话总笔记markdown一次 LLM API 请求,本质上是:textPOST BaseURL + Endpoint带上 Authorization指定 model提交 input/messages用可选参数控制输出、格式、流式、工具、上下文、成本和安全
最核心参数:
model:用哪个模型input/messages:给模型什么instructions:模型应该怎么做temperature:随机性max_output_tokens:最长输出stream:是否流式text.format:输出格式tools:可调用工具tool_choice:是否必须/允许调用工具
::contentReference[oaicite:16]{index=16}
---