问题描述: 在使用自定义 API(如美团龙猫 LongCat 模型)进行 AI 文本纠错时,纠错结果无法正常显示纯文本,而是输出了模型返回的原始 Function Calling(函数调用) JSON 字符串。
Bug 表现: 纠错结果中包含类似 [{"name": "return_correction", "parameters": {"text": "..."}}] 的代码,而不是直接提取 text 字段中的内容。
技术原因分析:
解析逻辑缺失: 输入法前端或后端直接打印了 API 返回的 message 原始内容,未对 tool_calls 或 function_call 字段进行逻辑解析。
强制工具调用: 软件在请求参数中可能默认携带了 tools 定义,导致兼容 OpenAI 格式的模型(如 LongCat)优先触发了函数调用模式而非普通对话模式。
修复建议:
完善解析逻辑: 在接收到模型返回的数据后,请判断是否存在 tool_calls 字段。如果存在,请提取 parameters.text 的值作为最终结果显示。
优化请求参数: 建议在发送 API 请求时,提供一个选项允许用户关闭工具调用,或者将 tool_choice 设置为 "none" 以强制模型返回纯文本回复。
兼容性处理: 针对不同厂商的 API 适配,建议增加对 content 字段和 tool_calls 字段的兼容性读取。
复现环境:
API 地址: https://api.longcat.chat/openai
模型名称: LongCat-Flash-Chat
设置参数: Temperature = 0
Please authenticate to join the conversation.
In Review
Feature Request
About 2 months ago

kiss baby (熊大)
Get notified by email when there are changes.
In Review
Feature Request
About 2 months ago

kiss baby (熊大)
Get notified by email when there are changes.