AI相关

设计模仿DeepSeek网页版的前端用户交互接口之疑问二

在设计模仿DeepSeek网页版的前端用户交互接口文章中疑问:创建新会话接口、发送新问题(生成基础回答)接口 这俩接口入参就只有chatId这个字段区别吗?如果我chatId是有前端页面创建的,那么这两个接口是不是没区别了?

在设计模仿DeepSeek网页版的前端用户交互接口文章中

疑问:

还有疑问:创建新会话接口、发送新问题(生成基础回答)接口 这俩接口入参就只有chatId这个字段区别吗?如果我chatId是有前端页面创建的,那么这两个接口是不是没区别了?

回答:

你提出的疑问很关键——即使chatId由前端生成,这两个接口依然有本质区别,绝非仅差一个chatId字段。它们的核心差异在于业务职责、操作的数据表、以及在业务流程中的定位完全不同,具体分析如下:

一、核心区别:不止是chatId的差异

1. 接口的核心目的与业务逻辑不同

  • 创建新会话接口:
    本质是初始化一个“会话容器”,解决“这个聊天归属哪个会话”的问题。它的核心是在ai_application_chat表中新增一条记录,确定会话的所属应用(application_id)、所属用户(client_id)、会话标题(overview)等会话级元数据。
    哪怕chatId由前端生成,这个接口依然要完成“会话元数据的持久化”——否则后续的问答记录会失去归属的会话信息。

  • 发送新问题接口:
    本质是在已有会话容器中添加具体的问答内容,解决“会话内的具体交互”问题。它的核心是在ai_application_chat_record表中新增基础记录,同时调用dify API生成回答,还要关联到已有的会话(chat_id)。
    它依赖于“会话已存在”这

原创不易,完成人机校验,阅读全文

相关推荐