跳转到主内容
版本:开发版

创建聊天机器人

创建一个通用聊天机器人。


已弃用!

新版本即将发布。

聊天机器人是最常见的人工智能场景之一。然而,如何有效地理解用户查询并作出适当回应仍然是一个挑战。RAGFlow 的通用聊天机器人 Agent 是我们为解决这个长期存在的问题所做的尝试。

这个聊天机器人与开始 AI 对话中介绍的聊天机器人非常相似,但有一个关键区别——它引入了一种反思机制,通过重写用户查询来改进从目标知识库中的检索效果。

本文档提供了使用我们的聊天机器人模板创建此类聊天机器人的指南。

前提条件

  1. 请确保您已正确设置要使用的大语言模型(LLM)。更多信息,请参阅配置您的 API 密钥部署本地 LLM的指南。
  2. 请确保您已配置知识库,并正确解析了相应的文件。更多信息,请参阅配置知识库的指南。
  3. 请确保您已阅读Agentic RAG 简介

从模板创建聊天机器人 Agent

要使用我们的模板创建一个通用聊天机器人 Agent:

  1. 点击页面中上方的 Agent 标签页,以显示 Agent 页面。

  2. 点击页面右上角的 + 创建 Agent,以显示 Agent 模板页面。

  3. Agent 模板页面,将鼠标悬停在通用聊天机器人卡片上,然后点击使用此模板
    您现在将被引导至无代码工作流编辑器页面。

    workflow_editor

注意

RAGFlow 的无代码编辑器免去了您编码的麻烦,使 Agent 开发变得毫不费力。

了解模板中的每个组件

以下是聊天机器人模板中每个组件及其作用和要求的详细说明:

  • 开始 (Begin)

    • 功能:为用户设置开场问候语。
    • 目的:营造欢迎的氛围,为用户互动做好准备。
  • 交互 (Interact)

    • 功能:作为人与机器人之间的交互界面。
    • 角色:作为开始 (Begin) 组件的下游组件。
  • 检索

    • 功能:从指定的知识库中检索信息。
    • 要求:必须设置好 `knowledgebases` 才能正常工作。
  • 相关性 (Relevant)

    • 功能:评估从检索 (Retrieval) 组件检索到的信息与用户查询的相关性。
    • 流程
      • 如果相关,它会将数据导向生成 (Generate) 组件以生成最终响应。
      • 否则,它会触发改写 (Rewrite) 组件来优化用户查询并重新执行检索过程。
  • 生成 (Generate)

    • 功能:提示大语言模型(LLM)根据检索到的信息生成响应。
    • 注意:提示词设置允许您控制 LLM 生成响应的方式。请务必检查提示词并进行必要的修改。
  • 改写 (Rewrite):

    • 功能:当从知识库中未检索到相关信息时,优化用户查询。
    • 用途:常与相关性 (Relevant)检索 (Retrieval) 组件结合使用,以创建反思/反馈循环。

配置您的聊天机器人 Agent

  1. 点击开始 (Begin) 设置开场问候语。
    opener

  2. 点击检索 (Retrieval) 选择正确的知识库并进行任何必要的调整。
    setting_knowledge_bases

  3. 点击生成 (Generate) 配置 LLM 的摘要行为。
    3.1. 确认模型。
    3.2. 检查提示词设置。如果存在变量,请确保它们与正确的组件 ID 匹配。
    prompt_settings

  4. 点击相关性 (Relevant) 查看或更改其设置。
    您可以保留当前设置,但也可以随意尝试更改,以了解 Agent 的运作方式。 relevant_settings

  5. 点击改写 (Rewrite) 选择不同的模型进行查询改写,或更新查询改写的最大循环次数。
    choose_model loop_time

注意

增加最大循环次数可能会显著延长接收最终响应所需的时间。

  1. 在您认为必要的地方更新您的工作流。

  2. 点击保存以应用您的更改。
    您的 Agent 会作为一张卡片出现在 Agent 页面上。

测试您的聊天机器人 Agent

  1. Agent 页面找到您的聊天机器人 Agent。
    find_chatbot

  2. 尝试用您的问题进行实验,以验证此聊天机器人是否按预期工作。
    test_chatbot