AI小白用Dify搭建知识库

第一印象出现的问题

  • 什么是Dify?

    Dify 是一款开源的大语言模型(LLM) 应用开发平台

    Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API

    一种使用大模型的工具,属于工具层,用来连接应用和大数据模型的一种工具系统。

  • Dify的基础概念???

    见下面章节

  • 知识库的作用?

    可以将企业内部文档、FAQ、规范信息等内容上传至知识库进行结构化处理,供后续 LLM 查询。

    相比于 AI 大模型内置的静态预训练数据,知识库中的内容能够实时更新,确保 LLM 可以访问到最新的信息,避免因信息过时或遗漏而产生的问题。

Dify的基础概念

  • 支持的模型矩阵

    https://docs.dify.ai/zh-hans/getting-started/readme/model-providers

  • 应用

    • 聊天助手

      基于LLM的对话机器人

    • 文本生成应用

      用于文本生产的AI助手

    • Agent

      具有推理和自主工具调用的智能助手

    • 工作流

      单轮自动化任务编排的工作流

    • 对话流

      支持记忆复杂的多轮对话的工作流

  • 工作流

    • 节点

      节点是工作流中的关键构成,通过连接不同功能的节点,执行工作流的一系列操作。

      • 核心节点

        • Start

          • 输入字段

            六种类型输入变量

            • 类型

              • 文本

              • 段落

              • 下拉选项

              • 数字

              • 单文件

              • 文件列表

          • 系统变量

        • LLM

          调用大语言模型的能力

          • 应用场景

            • 意图识别

            • 文本生成

            • 内容分类

            • 文本转换

            • 代码生成

            • RAG

            • 图片理解

            • 文件分析

          • 特殊变量

            • 上下文变量

            • 图片变量

            • 文件变量

            • 会话历史

            • 模型参数

          • 高级功能

            • 记忆

            • 记忆窗口

            • 对话角色名设置

            • Jinja-2 模板

            • 错误重试

        • Knowledge Retrieval

          从知识库中检索与用户问题相关的文本内容,可作为下游 LLM 节点的上下文来使用

        • Question Classifier

          问题分类
          客服对话意图分类、产品评价分类、邮件批量分类

        • IF/ELSE

          条件类型

        • Code

          代码节点支持运行 Python / NodeJS 代码以在工作流程中执行数据转换。它可以简化你的工作流程,适用于Arithmetic、JSON transform、文本处理等情景。

          • 结构化数据处理

          • 数学计算

          • 拼接数据

        • Tempalte

          允许借助 Jinja2 的 Python 模板语言灵活地进行数据转换、文本处理

        • DOC EXTRACTOR

          LLM 自身无法直接读取或解释文档的内容。因此需要将用户上传的文档,通过文档提取器节点解析并读取文档文件中的信息,转化文本之后再将内容传给 LLM 以实现对于文件内容的处理。

        • Variable Aggregator

          将多路分支的变量聚合为一个变量,以实现下游节点统一配置。
          变量聚合

        • Parameter Extractor

          利用 LLM 从自然语言推理并提取结构化参数,用于后置的工具调用或 HTTP 请求。

        • Iteration

          对数组中的元素依次执行相同的操作步骤,直至输出所有结果,可以理解为任务批处理器。迭代节点通常配合数组变量使用。

        • HTTP Request

          允许通过 HTTP 协议发送服务器请求,适用于获取外部数据、webhook、生成图片、下载文件等情景

        • Tools

          为工作流提供强大的第三方能力支持

        • Variable Assigner

          变量赋值节点用于向可写入变量进行变量赋值,已支持以下可写入变量
          会话变量

        • Loop

          用于执行依赖前一轮结果的重复任务,直到满足退出条件或达到最大循环次数

        • Answer

          定义一个 Chatflow 流程中的回复内容。

          你可以在文本编辑器中自由定义回复格式,包括自定义一段固定的文本内容、使用前置步骤中的输出变量作为回复内容、或者将自定义文本与变量组合后回复。

        • end

          定义一个工作流程结束的最终输出内容。

          Chatflow 内不支持结束节点

    • 变量

      • 系统变量

        • Workflow

        • Chatflow

      • 环境变量

      • 会话变量

    • Chatflow

    • Workflow

    • 编排节点

      • 串行

      • 并行

    • 文件上传

    • 异常处理

    • 预览与调试

    • 应用发布

      • 发布为公开 Web 站点

      • 嵌入网站

      • 基于 APIs 开发

      • 基于前端组件再开发

与知识库相关的部分

  • 检索增强生成(RAG)

    帮助大模型临时性地获得他所不具备的外部知识,允许它在回答问题之前先找答案。

  • Documents

    • 长文本内容(TXT、Markdown、DOCX、HTML、JSON 甚至是 PDF)

    • 结构化数据(CSV、Excel 等)

    • 在线数据源(网页爬虫、Notion 等)

  • 建立知识库

    • 导入文本数据

    • 指定分段模式

    • 设置索引方法与索引设置

    • 等待分段嵌入

    • 在应用内关联知识库并使用(关联聊天助手)

  • 管理知识库

    • 基础信息

      • 知识库名称

      • 知识库描述

      • 可见权限

      • 索引方法

      • 嵌入模型

      • 检索设置

    • 维护文档

      • 启用

      • 禁用

      • 归档

      • 删除

    • 文本分段(Chunks)

      • 检查分段质量

      • 添加文本分段

      • 编辑文本分段

    • 元数据

      • 定义

        • 字段

        • 字段值

        • 字段值计数

        • 值类型

      • 内置元数据

      • 自定义元数据

  • 知识库请求频率限制

    一个工作区在知识库中每分钟可执行的最大操作数。这些操作包括数据集创建、文档管理,以及在应用或工作流中的知识库查询

    管理和应用操作没有分离限制

  • 连接外部知识库

辅助功能的完善需求

  • 权限控制

与现有系统的集成方式

  • 账号集成

  • Web页面

搭建知识库实操

略,可以百度

大模型能力

LLM

大量文本数据训练的深度学习模型

Text Embedding

将文本数据转换为向量的技术,通过深度学习模型将文本的语义信息嵌入到高维向量空间中。这些向量不仅能表达文本内容,还能捕捉文本之间的相似性和关系,从而让计算机高效地进行文本检索、分类、聚类等任务‌

Rerank

一种优化检索结果的技术,它在初次检索(粗排)之后,对检索到的文档或信息进行更精细的评估和排序,以提高最终生成内容的相关性和准确性。

Speech to text

语音文本转换

TTS

从文本到语音(text to Speech)

Function Calling

允许开发者将大语言模型与外部函数或工具集成

视觉能力

它模拟人类视觉系统的工作原理,通过复杂的神经网络结构,实现对图像和视频数据的高度识别、分析和表达能力

AI应用开发平台

RAGFlow

RAGFlow 是一个基于深度文档理解的开源 RAG(检索-增强生成)引擎。当与 LLM 集成时,它能够提供真实的问题解答功能,并从各种复杂格式的数据中获得有理有据的引文支持。

官网地址https://ragflow.io/

coze

Coze 利用大型语言模型极大地简化了 Bot 的搭建过程。在充分利用大语言模型优势的同时,Coze 还支持用户通过知识库、工作流等功能来配置 Bot 如何响应用户查询,以保证 Bot 符合预期。

扣子地址:https://www.coze.cn/

Dify

官网地址https://docs.dify.ai/zh-hans

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐