Skip to content

fix: 兼容 LM Studio 的 JSON 响应格式 - #587

Merged
origami-chen merged 1 commit into
MemTensor:v1.2.2from
jia030928:fix-lmstudio-response-format
Oct 10, 2026
Merged

origami-chen merged 1 commit into
MemTensor:v1.2.2from
jia030928:fix-lmstudio-response-format

Conversation

@jia030928

Copy link
Copy Markdown

问题说明

Memmy 在生成记忆摘要和反思时,会向 OpenAI 兼容接口发送 response_format.type=json_object。当前版本的 LM Studio 仅接受 json_schema 或 text,因此请求会在模型执行前返回 HTTP 400:

response_format.type must be json_schema or text

这会导致使用本地 LM Studio 模型时,记忆摘要和反思任务无法完成。

修复方案

  • 保留现有 json_object 行为,兼容原有服务。
  • 当接口明确返回上述格式兼容错误时,自动改用 text 重试。
  • 在当前 LLM 客户端内记住兼容格式,后续摘要和反思请求直接使用 text。
  • 用户通过 extraBody.response_format 显式指定的格式不受影响。
  • 模型不存在等其他 HTTP 400 错误不会触发降级重试。

测试结果

  • 真实 LM Studio google/gemma-4-e4b:摘要成功、反思成功。
  • 打包产物中的 Memory runtime 连接 LM Studio:摘要成功、反思成功。
  • npm run test -w @memmy/memory:119 个测试文件通过,1092 项测试通过,1 项跳过。
  • npm run lint:通过。
  • npm run typecheck:通过。
  • macOS arm64 中文未签名安装包:构建成功,DMG 完整性校验通过。

@origami-chen
origami-chen merged commit 62a371f into MemTensor:v1.2.2 Oct 10, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants