关于 AI 纠错功能返回原始 JSON 字符的 Bug 反馈

问题描述: 在使用自定义 API(如美团龙猫 LongCat 模型)进行 AI 文本纠错时,纠错结果无法正常显示纯文本,而是输出了模型返回的原始 Function Calling(函数调用) JSON 字符串。

Bug 表现: 纠错结果中包含类似 [{"name": "return_correction", "parameters": {"text": "..."}}] 的代码,而不是直接提取 text 字段中的内容。

技术原因分析:

  1. 解析逻辑缺失: 输入法前端或后端直接打印了 API 返回的 message 原始内容,未对 tool_callsfunction_call 字段进行逻辑解析。

  2. 强制工具调用: 软件在请求参数中可能默认携带了 tools 定义,导致兼容 OpenAI 格式的模型(如 LongCat)优先触发了函数调用模式而非普通对话模式。

修复建议:

  1. 完善解析逻辑: 在接收到模型返回的数据后,请判断是否存在 tool_calls 字段。如果存在,请提取 parameters.text 的值作为最终结果显示。

  2. 优化请求参数: 建议在发送 API 请求时,提供一个选项允许用户关闭工具调用,或者将 tool_choice 设置为 "none" 以强制模型返回纯文本回复。

  3. 兼容性处理: 针对不同厂商的 API 适配,建议增加对 content 字段和 tool_calls 字段的兼容性读取。

复现环境:

  • API 地址: https://api.longcat.chat/openai

  • 模型名称: LongCat-Flash-Chat

  • 设置参数: Temperature = 0

Please authenticate to join the conversation.

Upvoters
Status

In Review

Board
💡

Feature Request

Date

About 2 months ago

Author

kiss baby (熊大)

Subscribe to post

Get notified by email when there are changes.