链载Ai

标题: 最新|Milvus_local_RAG,笔记本也能跑的本地知识库 [打印本页]

作者: 链载Ai    时间: 3 小时前
标题: 最新|Milvus_local_RAG,笔记本也能跑的本地知识库

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">多数前端开发工程师可能都面临这样一个困境:每天需要查阅大量技术文档、项目规范和学习资料。传统的文件夹分类和搜索方式效率低下,经常为了找一个API用法翻遍整个项目文档。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">一些大公司,可能会采用企业级知识库方案,通过智能问答来解决这个问题。但问题是:

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">1、不是所有公司都有这个预算

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">2、个人部署一套企业级知识库,环境配置复杂、学习门槛高,对新手极不友好

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">3、使用企业级知识库的平替,在线服务又会出现数据隐私泄露风险。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">当然,以上问题不止是前端会遇到,所有有复杂文档管理、检索需求的朋友,其实都会遇到。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">那怎么解决?这篇“milvus_local_rag”指南正是为你准备的。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">这个轻量级RAG方案,用一台普通笔记本就能搭建起个人知识库,查询响应时间,也可以从几分钟缩短到几秒钟。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">(备注:本项目是基于Shubham Saboo作者开源的awesome-llm-apps项目二次开发完成的。)

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: block;background-color: rgb(255, 255, 255);line-height: 1.75em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">01

核心概念解释

在开始之前,让我们先了解几个关键概念,这样后续的操作会更加清晰:

RAG(检索增强生成):简单来说,就是让AI在回答问题时,先从你的文档库中找到相关信息,再基于这些信息给出答案。就像考试时可以"翻书"一样,让AI的回答更准确、更有依据。

向量数据库:把文档转换成数字形式存储的"智能仓库"。它能理解文档的含义,当你提问时,能快速找到最相关的内容片段。

嵌入模型:负责把文字转换成数字的"翻译官"。它能理解文字的语义,让计算机也能"读懂"文档内容。

02

RAG工作原理:从文档到智能问答的完整流程

了解了基本概念后,让我们看看整个系统是如何工作的:

这个流程确保了AI的回答既基于你的文档内容,又具备良好的理解能力。

03

为什么选择轻量级方案?

这是一个专为个人用户设计的轻量级RAG项目,核心思路是用最少的依赖实现最完整的功能。本文作者对awesome-llm-apps项目源代码进行了调整,整个系统只需要Ollama和Qdrant两个组件,一条命令就能启动完整的本地知识库。

核心特点

实际价值:让你用最小的成本获得企业级RAG能力,适合处理个人文档、学习资料或项目知识库,既保护隐私又提供智能问答体验。

04

实践部署

(1)环境准备要求

本教程不含Python3、Conda以及Ollama安装展示,请自行按照官方手册进行配置。

相关官网链接:

(2)系统环境配置表

(3)Milvus向量数据库部署

Milvus简介

Milvus是由Zilliz开发的全球首款开源向量数据库产品,能够处理数百万乃至数十亿级的向量数据,在Github获得3万+star数量。基于开源Milvus,Zilliz还构建了商业化向量数据库产品Zilliz Cloud,这是一款全托管的向量数据库服务,通过采用云原生设计理念,在易用性、成本效益和安全性上实现了全面提升。

部署环境要求

必要条件:

下载部署文件

wgethttps://github.com/milvus-io/milvus/releases/download/v2.5.12/milvus-standalone-docker-compose.yml-Odocker-compose.yml

启动Milvus服务

docker-composeup-d
docker-composeps-a

(4) 模型下载与配置

下载大语言模型

#下载Qwen3模型ollamapullqwen3:1.7b

下载嵌入模型

#下载embedding模型ollamapullsnowflake-arctic-embed

验证模型安装

#查看已安装模型列表ollamalist

(5)Python环境配置

创建虚拟环境

#创建conda虚拟环境condacreate-nmilvus#激活虚拟环境condaactivatemilvus项目代码获取
#克隆项目代码gitclonehttps://github.com/yinmin2020/milvus_local_rag.git

依赖包安装

#安装项目依赖pip3install-rrequirements.txt-ihttps://pypi.tuna.tsinghua.edu.cn/simple/(6)项目配置与部署

参数配置说明

关键配置参数:

COLLECTION_NAME:自定义集合名称(必须配置)"uri":"tcp://192.168.7.147:19530":Milvus连接地址(必须修改为实际地址)启动应用服务
#启动Streamlit应用streamlitrunrelease.py

(7)功能测试与验证

访问应用界面

应用启动后会自动跳转到Web界面,通常地址

http://localhost:8501

文档上传测试

  1. 在Web界面中选择文档上传功能

  2. 上传测试PDF文档(建议使用Milvus相关介绍文档)

  3. 等待文档处理完成

RAG功能验证

测试查询示例:

milvus向量查询能力有哪些?

通过此查询可以验证:

05

写在最后

回望文章开头提到的那些令人望而却步的部署障碍:做RAG为什么要让简单的事情变得复杂?

其实,企业级知识库流行的同时,轻量级RAG也逐渐成为了个人侧的主流趋势。

轻量级RAG最大的价值在于各种成本低,能解决的问题很实在。几行代码就能让文档"活"起来,能问能答,而且简单好用,是很多中小企业或者个人用户入门RAG的第一步。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5