Dify + Milvus 强强联合:构建高可用、可落地的生产级RAG系统完整指南!建议收藏!!

1、原理介绍

大语言模型常因知识局限而产生“幻觉”。检索增强生成(RAG)技术通过连接外部知识库,有效解决了这一痛点。要实现高效的 RAG,一个强大的向量数据库至关重要。本文将聚焦于业界领先的 Milvus,并借助低代码 AI 平台 Dify,向您展示如何将二者无缝结合,快速搭建一个企业级的 RAG 应用,直观感受向量数据库在解决 AI “最后一公里”问题上的核心价值。

阿里云 Milvus 基本原理介绍

基本原理与架构概述

Milvus 是专为向量相似性搜索设计的分布式数据库,其核心基于以下关键技术:

  • 近似最近邻搜索(ANN):通过 HNSW、IVF、PQ 等算法实现高效向量检索,平衡精度与速度。
  • 向量索引与查询分离:支持动态构建多种索引类型(如 FLAT、IVF_FLAT、IVF_PQ、HNSW),适配不同场景需求。
  • 向量数据分片与分布式计算:数据水平切分(Sharding)并行处理,实现高吞吐与低延迟。

采用云原生和存算分离的微服务架构。该架构分为接入、协调、执行和存储四层。各组件可独立扩展,确保了系统的高性能、高可用性和弹性。它依赖成熟的第三方组件(如 etcd、对象存储)进行数据和元数据管理,稳定可靠。

图片

阿里云 Milvus 系统架构图

使用场景

阿里云 Milvus 适用于任何需要进行“相似性”匹配的场景。其核心应用包括:

  • 图像视频搜索:如电商平台的以图搜图、安防领域的人脸识别和视频轨迹追踪。

  • 文本语义搜索:构建智能客服、企业内部文档知识库和代码搜索引擎,能精准理解用户意图,而非简单的关键词匹配。

  • 个性化推荐系统:根据用户的行为和偏好向量,实时推荐最相似的商品、音乐、新闻或视频。

  • 前沿科学与安全:在生物信息学中加速药物分子筛选,或在网络安全领域进行异常流量和欺诈行为检测。

  • 智能驾驶数据准备与挖掘:对点云图像、车载传感器收集的音视频等多模态数据进行向量数据的实时查询。

Dify 平台介绍

Dify 是开源人工智能应用开发平台,具有低代码的工作流和友好的用户界面的特点,其核心使命是通过将“后端即服务”(Backend-as-a-Service)与“大语言模型运维”(LLMOps)的理念深度融合,来彻底简化和加速 AI 应用的构建全过程。

作为一个全栈式的解决方案,Dify 在后端层面,提供了稳定可靠的 API 服务、数据管理等基础设施,让开发者无需从零搭建;在 LLM 运维层面,提供了一个直观的可视化提示词编排界面,让复杂的提示工程变得简单高效。其内置的高质量检索增强生成(RAG)引擎,能够轻松连接企业文档、数据库等私有知识库,让大模型基于特定领域的知识进行回答,有效减少了信息幻觉,并确保答案的准确性和可追溯性。

2、操作步骤

前提条件

  • 已创建阿里云 Milvus 实例。

    具体操作,请参见快速创建 Milvus 实例 https://x.sm.cn/INSbdqp。

  • 已开通百炼服务并获得 API-KEY。

    具体操作,请参见开通 DashScope 并创建API-KEY https://x.sm.cn/3KK30nn。

  • 已安装 Git、Docker、Docker-Compose。

    具体操作请参见安装 Docker https://x.sm.cn/oS0RB9、安装 Git https://x.sm.cn/glEX9h。

Dify 安装与配置

安装 Dify

请通过 Git 命令将开源 Dify 项目从 GitHub 克隆至本地。

git clone https://github.com/langgenius/dify.git

进入目录备份.env 配置文件。

cd difycd dockercp .env.example .env

修改配置文件.env。

VECTOR_STORE=milvusMILVUS_URI=http://YOUR_ALIYUN_MILVUS_ENDPOINT:19530MILVUS_USER=YOUR_ALIYUN_MILVUS_USERMILVUS_PASSWORD=YOUR_ALIYUN_MILVUS_PASSWORD

注意

  • 将 YOUR_ALIYUN_MILVUS_ENDPOINT 替换为您的阿里云 Milvus 公网地址。
  • 将 YOUR_ALIYUN_MILVUS_USER 替换为您的阿里云 Milvus 用户。
  • 将 YOUR_ALIYUN_MILVUS_PASSWORD 替换为您的阿里云 Milvus 密码。

启动 Dify。

docker compose up -d

图片

安装成功验证

启动后访问部署的 Dify 服务 IP 地址 http://127.0.0.1/ 进入 Dify 的登陆页面,设置管理员账号密码,并登陆进管控台。

图片

设置默认模型

登录成功后,单击右上角头像,下拉菜单中选择设置。

图片

在设置–模型提供商处安装模型供应商,在这里我们选用了通义千问的模型,可以在百炼平台获取 API-KEY。安装后,将 API-KEY 输入,验证绿灯即可。

弹出的设置菜单中,选择左侧模型供应商,下拉选择通义千问,单击安装按钮安装模型。

图片

模型安装成功后,选择设置 API-KEY,将提前准备好的百炼平台 API-KEY 输入。

图片

图片

系统模型设置可以参照以下设置。

图片

验证绿灯即可。

图片

准备数据集创建知识库

接下来准备测试数据来创建知识库。

单击上方知识库按钮,点击创建知识库。

图片

数据源选择导入已有文本,您可以点此下载示例数据阿里云 Milvus 简介 https://x.sm.cn/DPjxqnr。

图片

数据源参考如下配置,单击保存并处理。

图片

可以看到数据库已经成功创建,并且索引创建完毕。

图片

验证向量检索是否成功

通过 docker logs 查看,可以看到 dify 日志里显示上传成功。

图片

也可以通过登录阿里云 Milvus 控制台 https://x.sm.cn/970ZFWE,选择您配置的 Milvus 实例,单击右上角 Attu Manager 进入 Attu 页面,可以看到对应的 collection 数据已导入。详情请参见 Attu 工具管理 https://x.sm.cn/JGSJ00T。

图片

图片

验证 RAG 效果

单击上方工作室回到首页,选择从应用模板中创建。

图片

左侧菜单中选择 Knowledge Retrieval,使用 knowledge Retreival + Chatbot模板。

图片

创建模板。

图片

选择 Knowledge Retrieval 节点,知识库设置为上面步骤中创建的知识库。

图片

选择 LLM 节点,将模型设置为 qwen-max。

图片

单击右上角发布按钮,选择发布更新。

图片

选择运行,进入测试页面,输入一个与知识库中内容相关的问题,即可获得答案。

图片

同样,阿里云人工智能平台 PAI 支持在 Dify 工作流中调用推理服务 PAI-EAS 部署的模型。使用阿里云人工智能平台 PAI 作为云端大模型部署资源,开启稳定、高效的 AI 开发新体验。

具体操作步骤为:

\1. 安装并启动 Dify;

\2. 使用 PAI-Model Gallery 零代码部署模型,如通义千问最新 Think 模型:Qwen3-235B-A22B-Thinking-2507;

\3. 返回 Dify 页面,配置 PAI 部署的模型调用地址等信息;

\4. 执行完整 Dify 工作流。

最后

为什么要学AI大模型

当下,⼈⼯智能市场迎来了爆发期,并逐渐进⼊以⼈⼯通⽤智能(AGI)为主导的新时代。企业纷纷官宣“ AI+ ”战略,为新兴技术⼈才创造丰富的就业机会,⼈才缺⼝将达 400 万!

DeepSeek问世以来,生成式AI和大模型技术爆发式增长,让很多岗位重新成了炙手可热的新星,岗位薪资远超很多后端岗位,在程序员中稳居前列。

在这里插入图片描述

与此同时AI与各行各业深度融合,飞速发展,成为炙手可热的新风口,企业非常需要了解AI、懂AI、会用AI的员工,纷纷开出高薪招聘AI大模型相关岗位。
在这里插入图片描述
最近很多程序员朋友都已经学习或者准备学习 AI 大模型,后台也经常会有小伙伴咨询学习路线和学习资料,我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频 全系列的学习资料,这些学习资料不仅深入浅出,而且非常实用,让大家系统而高效地掌握AI大模型的各个知识点。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

AI大模型系统学习路线

在面对AI大模型开发领域的复杂与深入,精准学习显得尤为重要。一份系统的技术路线图,不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点,还能提供一条高效、有序的学习路径。

img

但知道是一回事,做又是另一回事,初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性,在这基础上,找到高质量的学习资源,不浪费时间、不走弯路,又是重中之重。

AI大模型入门到实战的视频教程+项目包

看视频学习是一种高效、直观、灵活且富有吸引力的学习方式,可以更直观地展示过程,能有效提升学习兴趣和理解力,是现在获取知识的重要途径

在这里插入图片描述
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

海量AI大模型必读的经典书籍(PDF)

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。
在这里插入图片描述

600+AI大模型报告(实时更新)

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

AI大模型面试真题+答案解析

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

### DifyRAG Flow的集成和使用方式 Dify 是一个支持多种模型和数据源的开发框架,而 RAG(Retrieval-Augmented Generation)是一种结合了检索和生成的技术,能够显著提升生成内容的相关性和准确性。以下是关于 DifyRAG Flow 的集成及使用方式的详细说明。 #### 1. RAG Flow 的基本概念 RAG Flow 的核心思想是通过从外部知识库中检索相关信息来增强生成模型的表现。具体流程包括以下三个主要部分[^2]: - **检索阶段**:从结构化或非结构化的数据集中检索与用户问题最相关的文档片段。 - **生成阶段**:将检索到的信息作为上下文输入到生成模型中,从而生成更加准确和相关的内容。 - **反馈循环**:根据生成结果调整检索策略,进一步优化系统的性能。 #### 2. Dify 的功能概述 Dify 提供了一个灵活的框架,允许开发者轻松地将不同类型的模型和服务整合在一起。其主要特点包括[^3]: - 支持多种预训练语言模型的调用。 - 提供了简单易用的 API 接口,便于与其他系统集成。 - 内置对向量数据库的支持,可以直接用于实现 RAG 中的检索部分。 #### 3. 集成方法 为了实现 DifyRAG Flow 的集成,可以按照以下方式操作: ##### (1)设置向量数据库 首先需要配置一个向量数据库(如 Milvus 或 Pinecone),用于存储和检索文档的嵌入向量。这一步骤是 RAG Flow 的基础[^4]。 ```python from milvus import MilvusClient client = MilvusClient(uri="http://localhost:19530") collection_name = "dify_rag" client.create_collection(collection_name, dimension=768) ``` ##### (2)加载和嵌入文档 接下来,将目标文档集加载到系统中,并计算每篇文档的嵌入向量,然后将其插入到向量数据库中[^5]。 ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer('all-MiniLM-L6-v2') documents = ["This is the first document.", "This is the second document."] embeddings = model.encode(documents) for i, embedding in enumerate(embeddings): client.insert(collection_name, [embedding], ids=[i]) ``` ##### (3)构建检索服务 利用向量数据库提供的相似度查询功能,为用户提供高效的检索服务[^6]。 ```python def search(query, top_k=3): query_embedding = model.encode([query])[0] results = client.search(collection_name, data=[query_embedding], limit=top_k) return results[0] ``` ##### (4)调用生成模型 最后,在 Dify 框架中调用生成模型时,将检索到的相关文档作为额外的上下文信息传递给模型[^7]。 ```python from dify import DifyClient dify_client = DifyClient(api_key="your_api_key") def generate_response(user_input): retrieved_docs = search(user_input) context = "\n".join([doc.text for doc in retrieved_docs]) response = dify_client.generate(text=user_input, context=context) return response ``` #### 4. 注意事项 - 确保向量数据库中的数据质量,低质量的数据可能会导致检索结果不准确。 - 根据实际需求调整检索参数(如 top_k 值),以达到最佳效果。 - 在生产环境中,建议对整个流程进行性能优化,例如批量处理请求、缓存常用结果等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值