How to

【How to】升级你的 Dify 对话机器人:集成 InfraNodus 实现高级问答与创意生成

文章分类:How to

摘要
本文介绍如何将 InfraNodus 与 Dify 深度集成。通过构建知识图谱并识别结构空白,InfraNodus 能自动生成高质量问题与提示词。结合 Dify 的工作流,可打造具备深度问答与创意生成能力的智能聊天机器人,显著提升知识库的交互价值。

升级你的 Dify 聊天机器人:集成 InfraNodus 实现高级问答与创意生成

Dify 是一款功能强大的开源 LLM 应用开发平台,赋能用户构建复杂的 AI 应用。本指南将深入探讨一种高级集成方案:结合 InfraNodus,打造不仅能回答问题,还能从知识库中挖掘洞察、生成新颖创意的 AI 问答聊天机器人。

想象一下,将你的知识库(如研究论文、网站内容、支持文档)导入 InfraNodus,并将其可视化为知识图谱。InfraNodus 擅长识别“结构空白”——即概念之间连接薄弱的区域。通过其 API,你可以直接针对这些空白生成富有洞察力的问题或提示词。

你可以将这一能力无缝嵌入 Dify 应用中。生成的问题可用作:
- 互动开场白:提升聊天机器人用户的对话趣味性。
- 灵感跳板:快速定位需要深入探索或补充文档的内容领域。
- 智能提示词:供 Dify AI 智能体基于现有信息激发头脑风暴或创意构思。

借助 Dify,你可以将增强版聊天机器人嵌入任意网站。用户不仅能以独特方式交互,还能触发更复杂的工作流。由 InfraNodus 生成的问题将作为燃料,在 Dify 内部驱动进一步的 AI 处理。该技术对激发研究资料中的新灵感、或基于内外部数据挖掘商业机会极具价值。

以下是具体的集成步骤:

第一步:使用 InfraNodus 可视化你的知识库

首先,将内容导入 InfraNodus。本例中我们使用了来自此处(here)的内容。你可以使用 InfraNodus 内置的 URL 导入器,或借助 Firecrawl 等工具将网站数据抓取为 Markdown (MD) 文件再导入。

此过程会为你的内容生成知识图谱表示。

该图谱为你提供了知识库的全景视图。它能清晰揭示核心概念、彼此间的关联以及关键的知识空白。这些往往是标准 RAG 系统容易忽略的深层洞察。

第二步:优化图谱以获取更深层次的洞察

集成前,建议先优化知识图谱。在 InfraNodus 的分析面板(Analytics Panel)中,查看主题多样性(Topical Diversity)指标。如果显示为“低(Low)”,说明图谱可能过于聚焦于过于宽泛的概念(如本例中的“graph”或“infranodus”)。这会导致 AI 回复过于泛泛。

优化方法很简单:选中并移除这些主导性的宽泛节点。将它们加入永久停用词列表(stopwords),防止其再次出现。


经过优化,图谱将更聚焦于具体且深层的主题。主题多样性指标会变为“聚焦(Focused)”。此时生成的洞察会更加细腻精准。

第三步:将 InfraNodus 集成到 Dify 聊天机器人工作流

现在,让我们在 Dify 中构建工作流。你可以使用 Dify Cloud,或自行部署实例(例如通过 Elest.io)。

导航至 Studio > Chatbot > Create Blank 开始创建高级聊天机器人。

核心工作流逻辑如下:
- 开始节点(Start Node):启动对话。我们将使用 Dify 的“对话开场白(Conversation Opener)”功能,提供自动生成的高质量问题。
- 条件路由(IF/ELSE Node):判断用户是否点击了“生成问题(Generate a Question)”。
- 如果是:触发 HTTP 请求调用 InfraNodus API,基于知识图谱空白生成问题。
- 如果否(用户输入查询):将用户输入转发至信息检索机制。
- 信息检索(Information Retrieval):处理用户查询(或自动生成问题)以查找相关信息。(下文将介绍两种方案)
- 回复生成(Response Generation):Dify 的 LLM 基于检索到的信息生成答案。
- 继续对话(Continuation):用户可继续提问,展开多轮交互。

实现细节

你可以通过 Studio > Import from YML file 导入预构建的工作流,快速完成设置。

提供两种问答方案供选择:
- 方案 A(InfraNodus GraphRAG 用于问答):InfraNodus 同时负责问题生成与答案回复。能提供更丰富、基于图谱的回复,但速度可能稍慢。[YML文件] [在线演示]
- 方案 B(Dify RAG 用于问答):仅使用 InfraNodus 生成问题。用户查询由 Dify 原生 RAG 处理(需在 Dify 内创建知识库)。通常速度更快,但需额外配置 Dify 知识库。[YML文件] [在线演示]

选择最适合你需求的工作流。以下是关键配置步骤:

子步骤 3.1:配置 InfraNodus 问题生成(HTTP 请求节点)

添加一个 HTTP Request 节点,配置为调用 InfraNodus 的 graphAndAdvice API 端点以生成问题。
- Method: POST
- URL: (包含查询参数)
- Body (JSON):

{
  "requestMode": "question",
  "modelToUse": "gpt-4o-mini",
  "name": "support_nodus_labs",
  "aiTopics": "true"
}

(注:name 字段请替换为你实际的 InfraNodus 图谱名称)

子步骤 3.2:添加“生成问题”开场白

在聊天机器人的 Features > Conversation Opener 中,添加一个对话开场白,文案设为“生成问题(Generate a Question)”。当用户打开聊天窗口时,可点击该按钮自动调用 InfraNodus 生成问题。若用户不点击,则直接输入自由问题。该问题将作为提示词转发给 InfraNodus。

子步骤 3.3:路由用户输入(IF/ELSE 节点)

在开始节点后添加一个 IF/ELSE 节点
- 条件:检查输入变量 sys.query(来自开始节点)是否完全匹配你的开场白文案(例如“生成一个富有洞察力的问题”)。
- IF True:路由至 HTTP 请求节点(子步骤 3.1)。
- IF False:路由至选定的知识检索机制(子步骤 3.4)。

子步骤 3.4:处理用户查询

在此处实现方案 A 或方案 B 的问答逻辑。

a) 使用 Dify 的 RAG 知识库(对应方案 B)
在 Dify 中创建知识库(Knowledge Base),并上传与 InfraNodus 图谱相同的内容。
在工作流的 ELSE 分支中,添加一个知识检索节点(Knowledge Retrieval node),并关联该 Dify 知识库。用户查询(sys.query)或生成的问题(从 HTTP 节点传入)将用于检索上下文。
(可选)你可在此分支进一步添加工具或 LLM 节点,在检索前优化用户查询。具体操作可参考相关教程。

完整示例请参考 YML 文件。

b) 使用 InfraNodus 的 GraphRAG(对应方案 A)
在 Dify 中创建自定义工具(Custom Tool)(导航至 Tools > Custom > Create Custom Tool)。
选择 Import via OpenAPI Schema 选项,粘贴 InfraNodus graphAndAdvice 端点的 OpenAPI 架构定义。按需配置身份验证。
在工作流的 ELSE 分支(以及接收问题生成 HTTP 节点输出的位置),添加刚创建的 InfraNodus 自定义工具节点。将用户查询(sys.query)或生成的问题传入该工具。该工具将基于图谱处理上下文检索与初步回复生成。

![](https://framerusercontent.c

文章来源: https://dify.ai/blog/level-up-your-dify-chatbot-integrating-infranodus-for-advanced-q-a-and-idea-generation
← 返回文章列表