10分钟构建本地RAG应用

准备工作

本地模型

模型分为两种:

1.专有模型:闭源模型

  1. OpenAI GPT4
  2. Cluade

优点:强大的商业支持

缺点:付费、数据的隐私

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

  • 微软:Phi
  • Meta:Llama
  • deepseek

不需要联网

安装Ollama

  • Ollama:模型平台,可以安装各种模型:Qwen、Deepseek、Llama...
  • Llama:模型(最新 Llama)
arduino 复制代码
ollama run <模型的名字>

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

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

bash 复制代码
curl http://localhost:11434/api/tags   # 查看本地模型

本地的一个聊天机器人

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

RAG基本的理论

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

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

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

整个 RAG 的架构如下:

1. 数据索引

Data Indexing

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

  1. 加载文档(你要外挂的知识库)

  2. 切分成一个一个 chunks(块)

  3. 转换为高维度向量

  4. 将结果存储到向量数据库

    这是一只小猫。

csharp 复制代码
[0.71, 0.32, -0.56, ....]

2. 数据查询

Query

复制代码
介绍一下香蕉手机。

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

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

markdown 复制代码
1. Vector Embedding
2. 用户的问题

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

相关推荐
松灵机器人11 小时前
【养个小龙虾】让小龙虾帮我控制七轴臂
agent
炫饭第一名12 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
NineData12 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
BugShare12 小时前
写一个你自己的Agent Skills
人工智能·程序员
会员源码网13 小时前
闭包中未正确引用外部变量(遗漏`use ($var)`导致变量未定义)
程序员·代码规范
用户120391129472613 小时前
从MCP到RAG:Agent的开发之路
agent·mcp
会员源码网13 小时前
类继承中父类方法被错误覆盖(如父类`final`方法被子类重写)
程序员·全栈
后端小肥肠14 小时前
公众号躺更神器!OpenClaw+Claude Skill 实现自动读对标 + 写文 + 配图 + 存入草稿箱
人工智能·aigc·agent
数据智能老司机14 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机15 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent