论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
数据库
›
Nosql
›
大模子应用开辟平台Dify推出1.0版本,基于向量数据库Mil ...
大模子应用开辟平台Dify推出1.0版本,基于向量数据库Milvus实现RAG ...
郭卫东
论坛元老
|
2025-4-18 11:00:14
|
显示全部楼层
|
阅读模式
楼主
主题
1782
|
帖子
1782
|
积分
5346
用 Dify 和 Milvus 搭建 RAG 系统实战指南。
微信搜刮关注《AI科技论谈》
在生成式人工智能(GenAI)的应用范畴,检索增强生成,即 RAG,是当之无愧的热门技术。
RAG 可以或许赋能企业充分挖掘大语言模子(LLM)的潜力,依托企业内部的知识库,如各类文档、陈诉和手册等,精准且高效地解答用户的各种问题。
不外,搭建 RAG 系统并非易事,颇具挑战性,相关技术知识储备是绕不开的 “门槛”。正因如此,许多技术爱好者和企业都在寻找更简便的搭建方法。
本文教你用开源平台 Dify 和向量数据库 Milvus 来构建 RAG 系统。Dify 作为编排平台,能快速启动系统;Milvus 则负责存储知识文档,为系统提供数据支持。
一、RAG基本原理剖析
RAG 重要是为解决大语言模子(LLM) “幻觉” 问题的技术。大语言模子基于特定截止日期前的海量数据训练,回答常见公开问题还行,但涉及内部文档信息就容易出错。而且它给出的错误答案极具疑惑性,不熟悉相关范畴很难察觉。
RAG 的出现,就是为了解决这个难题。它会给大语言模子提供相关上下文,辅助其更准确地回答用户问题。
RAG 系统重要由检索、增强、生成这三大组件构成 :
检索组件
:按用户查询找前k个相关上下文,并依相似程度排序。
增强组件
:将排序后的最相关上下文和原始问题整合,作为大语言模子输入。
生成组件
:大语言模子据此生成答案。
搭建RAG系统前,要把原始数据转为嵌入情势用于相似性搜刮,这须要嵌入模子;还得有向量数据库存储嵌入向量,以及大语言模子生成答案。
RAG系统运行前预备工作繁杂,若无整合工作流程的编排平台,搭建难度很大,这就是我们须要Dify的原因。
二、Dify:RAG 系统搭建的得力助手
开辟生成式 AI 应用时,Dify 是个不可多得的强大工具。Dify 一词源于 “Define”(定义)和 “Modify”(修改),是开源平台,能帮开辟者便捷构建各类生成式AI应用,无需纠结复杂组件设置。
这背后的原因在于,Dify 融合了后端即服务(Backend-as-a-Service)与大语言模子运营(LLMOps)的功能,可对包括 RAG 在内的热门生成式AI应用工作流程进行高效编排。
而且 Dify 接纳低代码工作流程,极大降低了搭建 RAG 系统的难度,非技术专家也能轻松上手。另外,Dify 集成主流 LLM 方便,框架灵活,UI 和 API 易用,还配备高质量 RAG 引擎,为应用的性能提供有力保障。
下表说明了 Dify 如何简化复杂 GenAI 应用步伐的开辟流程:
在生成式人工智能应用开辟中,自托管应用是重要考量因素,既能保障数据安全,又方便定制基础设施。
Dify 支持两种自托管方式:利用 Docker Compose 摆设和通过当地代码源启动。相比之下,利用 Docker Compose 摆设的操作更简朴,上手难度更低。
下面就用 Docker Compose 摆设 Dify。在这之前,先了解下另一个重要工具 ——Milvus。
三、Milvus:RAG 系统的 “数据基石”
搭建 RAG 应用时,除了 Dify 编排流程,向量数据库也很重要。向量数据库负责存储数据和搜刮相关上下文,选对它对 RAG 系统性能影响重大。
Milvus 是开源向量数据库,特殊适合 RAG 等生成式 AI 应用。它有不少高级功能,像先进的索引方法、方便与编排工具集成,还支持混合搜刮。
Milvus 的索引方法丰富多样。寻求精准匹配,可用 FLAT 索引;想要分身速度和结果,IVF_FLAT、HNSW、SCANN 等更先进的索引方法更合适。而且,在利用 IVF_FLAT 和 HNSW 索引时,还能通过乘积量化对数据进行处置惩罚,进一步压缩内存占用。
Milvus 兼容性强,能和嵌入模子、大语言模子、Dify 等编排平台轻松集成。下一节会具体先容它们之间的集成步骤。
在相似性搜刮时,Milvus 的混合搜刮很实用,结合不同嵌入找相似上下文,还能元数据过滤优化,提升上下文质量,进而让大语言模子生成的内容更加优质。
四、利用Dify和Milvus构建RAG系统
进入实战,利用 Dify 搭建一个浅显的 RAG 应用。通过这个应用,我们能查询特定研究论文里的相关信息。研究论文可自行选择,这里以引入 Transformer 架构的经典论文《Attention is All You Need》为例(https://arxiv.org/abs/1706.03762)。
此前提到,创建 RAG 应用,三个焦点组件必不可少:向量存储、嵌入模子和大语言模子。
在本示例中,选用 Milvus 做向量存储,存论文文本片断。而嵌入模子和大语言模子,这里接纳 OpenAI 的产品。
步骤1:启动Dify和Milvus容器
在本示例中,利用Docker Compose自托管Dify。因此,在开始之前,请确保当地呆板上已安装Docker。
安装好Docker后,我们须要利用以下下令将Dify源代码克隆到当地呆板上:
git clone <<https://github.com/langgenius/dify.git>>
复制代码
接下来,进入刚刚克隆的源代码中的docker目次。在那边,利用以下下令复制.env文件:
cd dify/docker
cp .env.example .env
复制代码
简而言之,.env文件包含使Dify应用启动并运行所需的配置,例如向量数据库的选择、访问向量数据库所需的凭据、Dify应用的地址等。
由于要利用Milvus作为向量数据库,因此须要将.env文件中VECTOR_STORE变量的值更改为milvus。此外,还须要将MILVUS_URI变量更改为http://host.docker.internal:19530,以确保摆设后Docker容器之间不会出现通信问题。
VECTOR_STORE=milvus
MILVUS_URI=http://host.docker.internal:19530
复制代码
现在预备启动Docker容器。为此,我们只需运行docker compose up -d下令。完成后,你会在终端中看到类似以下的输出:
docker compose up -d
复制代码
我们可以利用docker compose ps下令检查所有容器的状态,查看它们是否正常运行。假如所有容器都正常运行,你会看到如下输出:
docker compose ps
复制代码
最后,假如访问http://localhost/install,你会看到Dify的登录页面,在这里我们可以注册并立刻开始构建RAG应用。
注册完成后,你就可以利用凭据登录Dify了。
步骤2:设置OpenAI API密钥
注册Dify后,首先要做的是设置用于调用嵌入模子和大语言模子的API密钥。由于我们利用OpenAI的模子,因此须要将OpenAI API密钥插入到个人资料中。为此,请把鼠标悬停在用户界面右上角的个人资料上,然后点击“Settings”(设置),如下截图所示:
接下来,进入“Model Provider”(模子提供商),将鼠标悬停在OpenAI上,然后点击“Setup”(设置)。你会看到一个弹出窗口,提示你输入OpenAI API密钥。完成后,就可以利用OpenAI的模子作为嵌入模子和大语言模子了。
步骤3:向知识库插入文档
现在为 RAG 应用搭建知识库,知识库由一系列内部文档或文本构成,辅助大语言模子精准回复。
此例中,知识库是《Attention is All You Need》论文。但不能直接存储,原因有两点:一是论文太长,给大语言模子提供长上下文结果不佳;二是原始文本无法用于相似性搜刮,难以获取最相关上下文。
以是,存储论文到知识库前,至少要完成两步操作:先把论文切分成文本片断,再借助嵌入模子将每个片断转化为嵌入向量,最后把这些嵌入向量存入 Milvus 向量数据库。
Dify 简化了这一过程,只需简朴几步,就能把论文文天职割成片断并转化为嵌入向量:进入 “Knowledge” (知识)板块,点击 “Create Knowledge”(创建知识),系统会提示从当地计算机上传 PDF 文件,以是要提前从 arXiv 下载论文并生存到电脑。
上传后设置各项参数:
片断设置
:在“Chunk Setting”设最大片断长度,示例设为100 。
索引方法
:“Index Method”选“High Quality”,用于相似性搜刮。
嵌入模子
:“Embedding Model”从OpenAI模子选,此例用text - embedding - 3 - small 。
检索设置
:“Retrieval Setting”选“Vector Search”,便于搜相关上下文。
设置完点“Save & Process”(生存并处置惩罚),乐成会出现绿色对勾 。
步骤4:创建RAG应用
此前,已乐成创建知识库并存储至Milvus数据库,现在可以动手创建RAG应用了。
借助Dify创建RAG应用十分简便:
进入“Studio”(工作室)板块,而非之前的“Knowledge”(知识)板块,点击“Create from Blank”(从空缺创建)。
选择“Chatbot”(聊天呆板人)作为应用范例,并在指定字段为应用定名,完成后点击“Create”(创建),随即会出现如下页面。
在“Instruction”(指令)字段,编写系统提示,如“简便回答用户查询”。在“Context”(上下文)部分,点击“Add”(添加)图标,添加刚创建的知识库。如此,RAG应用便能从该知识库获取相关上下文,用以回答用户问题 。
将知识库添加进RAG应用后,最后一步是从OpenAI挑选大语言模子(LLM),点击右上角的模子列表即可操作,如下图所示。
完成上述步骤,RAG应用就能发布了。点击右上角的“Publish”(发布),有多种发布方式可选:可直接在浏览器运行,可嵌入网站,还能通过API访问。本示例选择在浏览器中直接运行,点击“Run App”(运行应用)即可。
至此,大功告成!现在你能就《Attention is All You Need》论文或知识库中的其他文档,向大语言模子提问了 。
保举书单
《深入浅出呆板学习:从数据到AI算法》
《深入浅出呆板学习:从数据到大模子》是一本旨在资助读者系统学习呆板学习的著作。本书通过深入浅出的方式,将复杂的呆板学习理论和技术讲解得深入浅出。
本书从呆板学习的基础开始,为读者提供了对数据处置惩罚、特性工程和模子评估等焦点概念的全面先容。读者将学习如何预备和清洗数据,如何选择和构建合适的特性,并学会利用各种评估指标来评估模子性能。
然后,本书深入探讨了常见的呆板学习算法和技术。具体解释了线性回归、逻辑回归和神经网络等算法的原理和应用,通过丰富的示例和实践项目,把握这些算法的实现和调优本领。
本书聚焦于大规模模子和深度学习,先容了深度学习的基本原理和常用的深度学习框架,如TensorFlow和PyTorch。读者将学习如何构建深度神经网络,如何进行模子训练和调优,并了解大规模呆板学习系统的实现和摆设。
购买链接:https://item.jd.com/14387333.html
精彩回顾
从推理到编程,具体比力DeepSeek 32B、70B、R1实践性能
百度App携手DeepSeek满血版,体验飙升!
DeepSeek R1与Qwen大模子,构建Agentic RAG全攻略
利用当地DeepSeek R1和n8n框架,创建AI智能体
当地摆设Deepseek R1,并利用当地知识库创建RAG
满足个性化需求,手把手教你微调DeepSeek大模子
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
郭卫东
论坛元老
这个人很懒什么都没写!
楼主热帖
SQL的约束
界面组件DevExpress ASP.NET Core v21. ...
Cilium 系列-3-Cilium 的基本组件和重 ...
用python对美女内容采集,舞蹈区内容真 ...
vue 详情页返回列表,过滤查询条件保留 ...
在本地运行Kusto服务器
2023团队天梯模拟赛 L2-3 智能护理中心 ...
拦截|篡改|伪造.NET类库中不限于public ...
ASP.NET Core MVC 从入门到精通之HttpC ...
mysql5.7.35安装配置教程【超级详细安 ...
标签云
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表