- Kimi k2.5 强制传参拦截: 当 provider=kimi 且 model 包含 k2.5 时, 从请求体中 delete temperature/top_p/presence_penalty/frequency_penalty, 彻底解决 HTTP 400 报错 - 完善导出AI日志: 新增 lastExchangeLog 状态, 记录每次调用的 完整请求体(requestPayload)、原始响应(responsePayload)、 错误详情(errorDetail含status/statusText/responseText)、模型配置 - 更新导出按钮 JSON 结构, 包含 lastExchange 字段
2.2 KiB
2.2 KiB
功能变更需求文档(20260419_2249)
需求 1:Kimi k2.5 模型强制传参规则适配
问题背景
Kimi 最新版 kimi-k2.5 模型对 API 请求体有极其苛刻的要求,不允许出现非标准的温度和概率参数。当前系统在向所有模型发送请求时均硬编码了 temperature: 0.3,导致调用 kimi-k2.5 时返回 HTTP 400 错误。
需求描述
在封装向大模型发起 fetch 请求的地方,增加条件判断:
- 触发条件:当前激活供应商为
kimi且模型名包含k2.5(大小写不敏感) - 数据处理:强制从请求体中
delete移除temperature、top_p、presence_penalty、frequency_penalty等可选参数,让 Kimi 官方服务器使用其默认安全值 - 兼容性:其他供应商(deepseek/openai/custom)及 Kimi 非 k2.5 模型不受影响,继续保留
temperature: 0.3
参考文档
https://platform.kimi.com/docs/guide/kimi-k2-5-quickstart
需求 2:完善「导出 AI 日志」功能
问题背景
当前「导出 AI 日志」按钮仅导出 chatMessages(UI 对话历史)和少量元数据,缺少:
- 实际发往 AI 的完整请求体(System Prompt + Messages + Parameters)
- AI 返回的原始 JSON 响应
- API 调用失败时的具体错误信息(HTTP 状态码 + 响应体)
- 当前生效的模型完整配置
这些信息对于排查大模型幻觉、优化提示词、定位网络/接口故障至关重要。
需求描述
- 在
ReportEditor.tsx中建立lastExchangeLog状态,每次handleAIGenerate调用时记录:startTime:请求发起时间requestPayload:完整请求体(model、messages、实际发送的参数)responsePayload:AI 原始响应 JSONerrorDetail:失败时的完整错误信息(含 HTTP 状态码、错误响应体文本)modelConfig:当前 provider、endpoint、modelName
- 更新「导出 AI 日志」按钮,将
lastExchangeLog一并写入导出的 JSON - 保持向后兼容:无 AI 调用记录时,
lastExchangeLog为null,导出时不影响其他字段
影响范围
src/pages/ReportEditor.tsx(主要修改文件)- 无新增依赖