菜单

对话系统

相关源文件

对话系统负责管理用户与 Dify 中 AI 应用程序之间的对话交互。该系统处理从发起、消息交换、反馈收集到对话管理的全生命周期。它支持多种应用模式,包括聊天应用、补全应用和基于工作流的应用。

有关对话中可触发的工作流执行系统,请参阅 工作流引擎。有关用户界面组件的详细信息,请参阅 聊天和对话界面

核心数据模型

对话系统围绕几个关键数据库模型构建,这些模型代表了对话数据结构。

对话实体

Conversation 模型作为对话交互的主要容器。

来源: api/models/model.py614-874

消息处理组件

消息在对话中有几个关联组件以增强功能。

来源: api/models/model.py1121-1400

对话生命周期管理

对话创建和初始化

当用户首次与应用程序交互时,会创建对话。系统根据应用程序类型确定对话模式。

来源: web/app/components/base/chat/chat/hooks.ts47-176 api/models/model.py614-720

消息处理管道

消息处理流程处理从用户输入到 AI 响应的流程。

来源: web/app/components/base/chat/chat/hooks.ts212-410 web/app/components/base/chat/chat/chat-input-area/index.tsx86-108

聊天界面组件

聊天组件架构

聊天界面采用模块化组件架构构建。

来源: web/app/components/base/chat/chat/index.tsx78-346 web/app/components/base/chat/chat/answer/index.tsx40-237

消息状态管理

聊天系统使用基于树的数据结构来管理对话分支和消息线程。

来源: web/app/components/base/chat/utils.ts1-150 web/app/components/base/chat/chat/hooks.ts72-106

对话管理功能

对话历史和持久化

系统提供全面的对话管理功能。

来源: web/app/components/base/chat/chat-with-history/hooks.tsx186-250 models/web.py1-50

消息反馈和标注

用户可以对 AI 响应提供反馈和标注。

来源: api/models/model.py1252-1310 web/app/components/base/chat/chat/answer/operation.tsx1-200

与应用类型的集成

多模态应用支持

对话系统支持不同应用模式,功能各异。

应用模式对话功能特殊功能
聊天标准聊天界面开场白,建议性提问
补全单轮补全输入表单,文件上传
高级聊天工作流增强聊天工作流进程显示,调试信息
代理聊天工具驱动的对话代理思考,工具调用
工作流工作流执行跟踪节点执行状态,进程可视化

来源: api/models/model.py48-68 web/app/components/base/chat/chat-with-history/chat-wrapper.tsx52-64

工作流集成

高级聊天和工作流应用将对话管理与工作流执行集成。

来源: core/workflow/workflow_cycle_manager.py40-200 api/models/workflow.py380-533

安全和访问控制

多租户隔离

对话系统实施严格的租户隔离。

来源: api/models/model.py622-824 api/models/account.py83-189

数据隐私和清理

系统包含全面的数据清理功能。

来源: api/tasks/remove_app_and_related_data_task.py36-71