AI实战之RAG知识库构建和私有化agent设计

RAG = 检索增强生成(Retrieval‑Augmented Generation) 简单说:让 AI 先查你的私有资料,再回答问题,不瞎编、用你自己的数据。解决了大模型幻觉问题.之后生成回答时,先从知识库检索相关知识,然后把检索结果和原始问题一起给大模型,大模型再生成最后结果.

例如刚才下载的本地qwen3:8b大模型,只知道训练它的历史数据,也不知道你针对的知识库,根据你的问题很可能乱说回答,因此RAG :把你本地的 ** 私有知识库(源码、日志、运维手册)** 喂给 AI,AI 回答前先检索这些资料,再生成答案.Dify:就是帮你做 RAG 的可视化工具

通俗类比

  • 大模型(Ollama):一个普通大学生,只有课本知识
  • RAG :给他你的公司机密运维档案、源码、故障手册
  • 提示词工程:教他怎么看档案、怎么专业回答
  • Dify :帮你把档案整理好、让大学生快速查找、回答(私有数据不外泄:源码、生产日志不能上传到 GPT、通义千问,RAG 完全本地私有化)

第一步文档准备,要注意信息处理,命名规范

第二步文档切片,为了适应上下文限制;切分方式:按照字数;按照符号;按照语义.一般选择按照符号和字数,选择三四百字吧

第三步:文档向量化

实操步骤1.创建知识库;2.选择数据源;3.文本分段;4.构建向量化索引;5.检索设置;6.查看结果

打开dify

复制代码
http://localhost/apps

还有embedding

Embedding = 把文字变成一串数字(向量),让 AI 能看懂 "文字之间的相似度" 它是 RAG(知识库)的核心底层技术,没有 Embedding 就做不了私有知识库。

  • 日志文本:线程死锁,通信超时
  • 代码片段:pthread_mutex 未释放

变成一串几百个数字:[0.21, 0.87, -0.33, ...] 这串数字就叫 向量 / Embedding

  • 意思相近的文字 → 数字也接近
  • 意思完全无关 → 数字差距很大

完整工作流程(串联 Docker / Dify / Ollama / RAG / Embedding)

  1. 你上传 C++ 源码、生产日志 到 Dify 知识库
  2. Embedding 模型(也是 Ollama 里跑的一个小模型)把每一段文字变成数字向量
  3. 向量存入数据库
  4. 你提问:为什么线程死锁?
  5. 提问也被转成向量
  6. 系统对比向量,找出最相似的源码 / 日志片段(这就是 RAG 的检索步骤)
  7. 把片段发给大模型(qwen3:8b),生成回答
  • Ollama:本地运行 AI(大脑 + 指纹生成器)
  • Embedding:给文字做指纹,用于检索
  • RAG:用指纹查私有知识库,再让大脑回答
  • 提示词工程:教大脑怎么专业回答
  • Dify:可视化工具,把上面全部串起来
  • Docker:隔离运行 Dify 整套服务

简单说:Embedding 就是给文字做 "指纹",用来快速找相似内容。

然后我们让ai用这个,创建一个智能体agent,一个agent可以多个知识库.

创建游戏助手后,测试一下

点击知识库,选择这个新的知识库

下面我们看看如何用function calling

Function Calling = 让 AI 自动调用你写好的工具 / 代码 / 接口,去查数据、执行操作,再回来回答你 简单说:AI 不只靠脑子想,还会自己动手查工具、查数据库、执行命令'

场景:你问 AI:

"最近 3 天线程死锁的日志有哪些?帮我定位根因"

普通 AI(没有 Function Calling)

只能基于你上传的静态日志回答,查不到实时最新数据

开启 Function Calling(你的私有运维 AI)

AI 自动执行 3 步:

  1. 识别意图 :你要查实时最新日志
  2. 调用函数 / 接口:自动调用你写的 Python 脚本、数据库接口、运维系统 API,拉取最新崩溃日志
  3. 分析 + 回答:拿到实时数据后,结合知识库,给出故障根因 + 排查步骤
  • Ollama:本地运行 AI 大脑(Qwen3:8b)
  • Embedding:文字转数字,给内容打指纹(RAG 检索用)
  • RAG :查静态私有知识库(源码、历史日志、手册)
  • Function Calling :调用外部工具 / 接口,查实时数据、执行操作
  • 提示词工程:教 AI 角色、规则、格式
  • Dify:可视化搭建以上全部功能
  • Docker:隔离运行整套服务

最简单的类比

  • RAG = 查历史档案(静态资料)
  • Function Calling = 打电话查实时数据、执行命令(动态工具)

下面我们用dify里面的插件看看怎么用

创建一个agent

直接问几点大模型是不知道的,现在改好时间区域

这是一个dify已经定义好的插件的使用,下一个文章我们来试一下自己定义插件

基本流程:1.脚本开发;2.运行脚本;3.创建工具;4.schema操作;5.测试和保存

相关推荐
tntxia33 分钟前
正则化在机器学习中的作用
人工智能
fuquxiaoguang5 小时前
中间件的“价值重估”:传统同质化竞争终结,AI智能编排时代开启
人工智能·中间件
触底反弹6 小时前
🔥 前端也能玩转 AI 流式输出!从二进制流到打字机效果,一篇讲透
javascript·人工智能·node.js
腾渊信息科技公司6 小时前
工业数据运维痛点根治方案:基于AI Agent的产线自动化台账系统落地
运维·人工智能·自动化·个人开发·ai编程
西安老张(AIGC&ComfyUI)6 小时前
第030章:ComfyUI视频制作LTX-2.3模型文生视频工作流详解(三)
人工智能·aigc·comfyui
苦猿的大模型日记6 小时前
Day25 | 模型量化横评 GPTQ vs AWQ vs GGUF vs INT8——同一个 Qwen3-8B 压四遍,谁还活着
人工智能
benchmark_cc6 小时前
如何用 Python + QuantDash 快速构建高胜率“配对交易(Pairs Trading)”策略?
开发语言·人工智能·python·pandas·量化交易·quantdash
深海鱼肝油ya6 小时前
小说自动生成系统(二)
人工智能·大模型·agent·智能体·自动化编程·小说生成系统
通问AI7 小时前
Apple Intelligence 国行备案深度技术解析:阿里千问如何被集成到苹果端侧AI架构
人工智能·架构
视***间7 小时前
算力赋能零售与创意新生态:视程空间Pandora,解锁线下场景智能化无限可能
人工智能·边缘计算·智慧零售·ai算力·视程空间·创意开发