开篇问题
第八篇我们从/api/v1/chat/completions看到了聊天主链路,第九篇进一步拆解了鉴权、权限、频控和用量。
这一篇继续沿着同一条链路往下看:
一次聊天完成后,FastGPT 到底把什么保存到了数据库?这个问题看似简单,实际牵涉很多设计:
- 会话列表如何展示。
- Human 消息和 AI 消息如何表达。
- 文件、图片、工具调用、交互节点、引用信息如何持久化。
- 流式生成失败时如何恢复状态。
- 节点响应详情为什么不直接塞进 AI 消息。
- 用户反馈、错误统计、应用运营数据如何从对话记录中汇总。
- 标题生成、收藏应用、输入引导这些辅助能力如何围绕会话工作。
FastGPT 的聊天数据不是一张表解决,而是多张表协同:
chats -> chat_items -> chat_item_responses -> app_chat_logs -> chat_favourite_apps -> chat_input_guides本篇重点拆解这些模型,以及它们如何支撑一次完整聊天。