本地AI知识库问答开源技术实现(三)--配置模型和知识库

本文较长,建议点赞收藏,以免遗失。更多AI大模型开发学习视频籽料,

都在这>>Github<<

搭建知识库问答助手

  • 在模型和知识库都准备完成后,就可以搭建一个智能助手了;

  • 在 Dify 里,可以使用 工作流 的形式来搭建智能助手;

  • 打开 工作室 -> 创建空白应用 ,选择 Chatflow 来创建一个应用

  • 最简单的知识库助手是使用 聊天助手 来创建应用,但它太单一,无法进行复杂一点的操作,所以这里选择 Chatflow 来创建助手;

  • 创建完成后会来到编排界面

  • 整个流程由多个 节点 组成, Dify 支持多种类型的节点,他们功能不同,本例中使用以下几种类型

    • LLM :配置大语言模型
    • 知识检索 :配置知识库
    • 直接回复 :显示输出结果
  • 为了更精准的匹配到知识库里的内容,首先添加一个 LLM 节点,命名为 拆词 ,目的是借用大模型的语言处理功能来对用户的问题进行拆解,这里模型选择 qwen2.5:14b ,因为经过多轮测试后 qwen2.5:14b 速度和表现达到预期,配置如下:

    • SYSTEM 提示词参考

      diff 复制代码
      - 你的任务是生成用于检索增强生成(RAG)的关键词;
      - 首先你需要直接记住用户的问题作为一个关键词;
      - 其次,用户为公司员工,他的问题和公司制度有关,你需要根据用户的问题推测他的真实需求,进行深度思考后给出RAG关键词,关键词总数量控制在10个以内;
      - 最后你只需将两组关键词合并后返回,每个关键词以","分隔,不需要其他说明和解释;
      - 你需要使用用户的语言来回复;
  • 然后添加一个 知识检索 节点,将他和 拆词 节点进行连接,查询变量设置为 拆词 节点的输出,知识库添加已配置好的知识库

  • 其次再添加一个 LLM 节点,将 知识检索 节点作为入口和它进行连接,模型选择 qwq ,上下文设置为 知识检索 节点的输出结果,点击 添加消息 ,将 USER 类型改为 ASSISTANT 用来指定模型的 提示词 ,配置如下:

    • SYSTEM 提示词参考

      arduino 复制代码
      仅基于上下文和以下内容作为授权知识库来回答用户问题,严格隔离外部知识源
      
      {{#context#}}
    • ASSISTANT 提示词参考

      diff 复制代码
      - 如果用户提的问题超出授权知识库范围,你可以委婉回答:已超出知识范围,让用户提供更多的信息;
      - 有明确定义的名词,不能用相近的词代替;
      - 公式等内容在输出时不能有格式错误;
      - 回复信息时能够表明意思且没遗漏信息的情况下尽可能简短;
      - 如果授权知识库中有公式和数字等,不要对它进行四舍五入操作,保持原来的内容;
      - 如果用户提的问题和上次提的问题没有很强的关联性,不需要考虑之前的问题;
  • 最后将这个节点和 直接回复 节点进行连接,回复内容修改为上一节点的输出结果,最终节点连接图如下:

  • 这样一个智能助手就配置完成了,可以点击 预览 进行测试,输入一个问题后按回车,如果配置正确,整个工作流将逐步进行,效果如下:

  • 测试完成没有问题后就可以发布了,Dify 可以支持将应用嵌入到其他 HTML 页面。

结语

通过三篇内容将最近学的内容梳理了一遍,从基本概念理解,到动手搭建,再到参数调整,最终达到一个基本可用的状态,所有数据都在内网流转;效果没有想像中的那么完美,但是用于知识库是可行的。

相关推荐
MoonOut1 小时前
LLM | OpenAI 兼容模式 与 Anthropic 协议的区别
llm
杨超越luckly1 小时前
一线加新一线占61.7%,506家店,西西弗书店的“贵地生存法则”
数据分析·agent·可视化·西西弗书店·生意经
半糖程序员2 小时前
从零构建 Agent(11):压缩过长的上下文
typescript·agent
长坡夜行2 小时前
复盘:一个 `continue` 让风控把 13% 持仓当成 0,自动触发了 -15.7% 假熔断
程序员
Solara2 小时前
我重算了 11 天,抓出自己抄错的 1 天:AI 会把"公式"记成"数列"
人工智能·程序员·ai编程
析数塔2 小时前
rea 逆向工具体验:把 Electron 应用、Native 模块、.NET 程序都交给 Agent 追问
开源·agent
北京地铁1号线2 小时前
为大模型创建一个简单的skill:在12306网站查询车次(仅作查询,不提供购票功能,仅作学习使用)
自然语言处理·大模型·agent·技能·skill
架构师那点事儿2 小时前
Agent Skill: 视频/PPT 内容提取 Skill —— 从 0 到 1 诞生记 + 使用指南
llm·agent·ai编程
lucas_AI2 小时前
CPSE:只给 3 篇范文,让 LLM 学会你的 478 字段抽取 schema,还不许动接口
llm
sarasuki2 小时前
MCP 为什么是一个协议而不是一个框架呢?
设计模式·agent·mcp