掘金 人工智能 07月12日 10:39
10分钟构建本地RAG应用
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了在本地部署大语言模型(LLM)和构建检索增强生成(RAG)系统的过程。首先,文章区分了专有和开源模型,推荐使用Ollama平台安装和运行开源模型,如Llama。接着,详细阐述了RAG的基本原理,即通过外挂知识库来增强LLM的回答能力。RAG架构主要包括数据索引和数据查询两个环节,数据索引涉及加载文档、切分块、向量转换和存储,数据查询则将用户问题转化为向量,并在向量数据库中检索相关内容,最终结合检索结果和用户问题,由LLM生成回答。

💻本地模型分为专有模型和开源模型。专有模型如GPT4和Claude,拥有强大的商业支持,但需付费且存在数据隐私问题;开源模型如Phi、Llama和Deepseek,则无需联网,可在本地运行,适合学习阶段。

⚙️Ollama是一个模型平台,用于安装和运行各种模型。通过ollama run <模型的名字>命令,可以启动模型,若本地无该模型则会自动下载。启动模型后,Ollama会启动一个服务,监听11434端口,用户可以通过curl命令查看本地模型。

🤔RAG(检索增强生成)是一种增强大语言模型的技术,通过外挂知识库来提高回答的准确性和针对性。RAG架构的核心在于为大模型提供额外的知识来源,从而弥补其基于训练数据回答问题的局限性。

📚RAG架构包含数据索引和数据查询两个主要环节。数据索引涉及加载文档、切分块、转换为高维度向量,并将结果存储到向量数据库;数据查询则将用户问题转化为向量,在向量数据库中检索相关内容,并结合检索结果和用户问题,交给大语言模型处理。

准备工作

本地模型

模型分为两种:

1.专有模型:闭源模型

    OpenAI GPT4Cluade

优点:强大的商业支持

缺点:付费、数据的隐私

2.开源模型(学习阶段)

不需要联网

安装Ollama

ollama run <模型的名字>

本身是运行XX模型的意思,如果没有该模型,会先去下载。

启动模型后,ollama 会启动一个服务,坚听 11434 端口。

curl http://localhost:11434/api/tags   # 查看本地模型

本地的一个聊天机器人

回头RAG应用基于这个聊天机器人。

RAG基本的理论

大语言模型的缺陷:回答问题基于训练过的数据。

RAG:Retrieval-Augmented Generation,检索增强生成。

RAG 就是临时给大模型外挂一个知识库

整个 RAG 的架构如下:

1. 数据索引

Data Indexing

数据索引主要是做下面几件事情:

    加载文档(你要外挂的知识库)切分成一个一个 chunks(块)转换为高维度向量将结果存储到向量数据库
这是一只小猫。
[0.71, 0.32, -0.56, ....]

2. 数据查询

Query

介绍一下香蕉手机。

首先会把这个 Query 也转换成向量的形式。(方便计算)

拿到这个 Query Embeding 之后,去向量数据库里面找和 Query Embeding 相关的内容,取出相关内容的向量(Vector Embedding),然后将:

1. Vector Embedding2. 用户的问题

一起交给大模型进行处理。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

本地LLM RAG Ollama 开源模型 向量数据库
相关文章