当前位置: 首页 > news >正文

Cherry Studio缺失instructions导致OpenAI-Response API访问失败

Cherry Studio缺失instructions导致OpenAI-Response API访问失败

最近在使用Cherry Studio通过OpenAI-Response类型访问兼容OpenAI Responses API的接口时,遇到了一个400 Bad Request问题。最终定位发现,原因是请求体中缺失有效的顶层instructions字段。

问题现象

在Cherry Studio中配置OpenAI-Response服务后,请求接口:

https://api.example.com/v1/responses

报错如下:

错误名称: AI_APICallError 错误信息: Bad Request 状态码: 400

响应内容:

{"detail":"Instructions are required"}

Cherry Studio实际发送的请求体中,虽然已经在助手里配置了提示词:

You are a helpful assistant.

但请求体变成了类似这样:

{"model":"gpt-5.5","input":[{"role":"developer","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"input_text","text":"say hi"}]}],"instructions":"[undefined]","text":{"verbosity":"low"},"stream":true}

可以看到,助手提示词被放进了input数组中的developer消息里,而顶层的instructions字段却是:

"instructions":"[undefined]"

因此服务端返回:

Instructions are required

原因分析

OpenAI Responses API支持顶层instructions字段,例如:

{"model":"gpt-5.5","instructions":"You are a helpful assistant.","input":[{"role":"user","content":[{"type":"input_text","text":"say hi"}]}]}

但Cherry Studio在OpenAI-Response模式下,并没有自动把助手提示词映射到顶层instructions,而是将其作为developer消息放入input

对于某些兼容OpenAI Responses API的中转站或上游服务来说,顶层instructions是必填项。因此,即使input中存在developer消息,仍然会因为缺少有效的instructions而报错。

此外,请求体中还可能出现多个字符串形式的:

"[undefined]"

例如:

"temperature":"[undefined]","top_p":"[undefined]","max_output_tokens":"[undefined]","tools":"[undefined]"

这些未设置参数理论上应该被省略,而不是以字符串形式发送。

解决方法

在Cherry Studio的模型或供应商配置中,找到自定义参数,手动添加:

{"instructions":"You are a helpful assistant."}

如果希望使用中文提示词,也可以写成:

{"instructions":"你是一个有帮助的AI助手。"}

保存后重新测试,OpenAI-Response API即可正常访问。

修复后的请求体示例

添加自定义参数后,请求体中会包含有效的顶层instructions

{"model":"gpt-5.5","instructions":"You are a helpful assistant.","input":[{"role":"developer","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"input_text","text":"say hi"}]}],"text":{"verbosity":"low"},"stream":true}

虽然此时提示词可能同时出现在instructionsinput[0].role = developer中,但至少可以满足服务端对instructions的要求。

问题归因

这个问题主要与Cherry Studio的OpenAI-Response请求体构造有关:

  1. 助手提示词没有自动映射到顶层instructions
  2. 未设置的参数可能被序列化为字符串"[undefined]"
  3. 某些Responses API兼容服务要求必须提供顶层instructions

因此,这不属于OpenAI官方API本身的问题。中转站只是对instructions字段要求较严格,而Cherry Studio没有自动提供该字段。

总结

如果在Cherry Studio中使用OpenAI-Response时遇到:

Instructions are required

可以优先检查请求体中是否存在有效的顶层:

"instructions":"..."

如果没有,直接在Cherry Studio的自定义参数中手动添加instructions即可解决。

http://www.cnnetsun.cn/news/2815105.html

相关文章:

  • 大千万级文档 RAG,这 11 个步骤把幻觉压到极低
  • 分布式存储架构设计与一致性算法实践
  • Qt 入门 09|Qt 常用容器:QString/QByteArray/QList/QVector 字符串与容器使用大全
  • 终极JSXBIN解码器指南:快速解密Adobe ExtendScript二进制文件
  • Spring AI 从入门到精通-ChatClient你与 AI 对话的终极武器
  • 神经渲染:重塑室内设计的“造梦引擎”——从原理到落地全解析
  • 深度解析Jsxer:JSXBIN二进制反编译引擎的架构设计与实现原理
  • 终极macOS清理指南:使用Pearcleaner彻底告别应用残留文件
  • 3步掌握OBS多平台推流:免费插件让直播效率提升300%
  • 小米智能家居接入HomeAssistant的终极解决方案:Xiaomi Miot插件深度解析
  • Notepad-- 终极使用指南:跨平台文本编辑器的完整掌握手册
  • AI编程15-重构与AI辅助代码改进:让AI帮你还技术债,代码可维护性提升200%
  • AI驱动的内容获客革命(2024最新成本模型验证)
  • BAT 窗口不输出日志:三种静默方案,从半隐藏到完全消失
  • 5分钟学会使用免费在线法线贴图生成器,让3D模型细节飙升300%!
  • 镜像视界低延迟实景同步技术,实现通关现场实时视频孪生调度
  • Redis/MySQL 中间件深度优化与生产选型
  • B站视频下载器技术指南:基于异步架构的高效离线解决方案
  • GDA安卓逆向分析平台:无需Java虚拟机的原生逆向工程利器
  • SMUDebugTool深度解析:AMD Ryzen处理器硬件调试的技术实践
  • 书匠策AI官网www.shujiangce.com:揭秘一个让导师都查不出来的期刊论文“流水线“,附完整拆解
  • 从垂直整合到水平分工:手机产业如何降低门槛让跨界者入局
  • Java全栈面试进阶宝典(2026最新版)
  • 3个步骤,让你的Mac拥有Windows超能力:Whisky完全指南
  • 【字节跳动】该文摘揭示了计算机底层系统的核心配置参数与运行机制,涵盖六大关键领域:1)段寄存器固化配置与权限管理;2)浮点运算异常处理机制;3)存储设备扇区读写控制;4)实时时钟校准与校验;5)内存动
  • Warcraft Helper终极指南:5分钟解决魔兽争霸III所有兼容性问题
  • 终极Discord消息清理指南:如何一键删除数千条聊天记录
  • 如何快速掌握冒险岛游戏编辑器:面向新手的完整指南
  • Redis 有序集合(sorted set)
  • 别再死磕公式了!用Python实战模拟TDOA定位(附Chan‘s和Fang‘s算法对比代码)