RAG(Retrieval Augmented Generation)检索增强生成,是 2023 年最火热的 LLM 应用系统架构,它的作用简单来说就是通过检索获取相关的知识并将其融入 Prompt,让大模型能够参考相应的知识从而给出合理回答。
现在的大模型在企业应用中存在着很多挑战,首先第一点就是大模型的世界知识是完全来自于模型预训练中提供的数据,是有限的,那么企业本身的业务知识与产品知识,这些大模型都是不知道的。如果通过微调等方式去给大模型补充这些知识,成本高且可控性低,大部分场景是不适合的。以及大模型有比较严重的幻觉问题,也就是大模型在不熟悉的领域会提供不正确的答案,那在企业应用的场合里很多都是严肃的场景,对于这方面的接受程度是比较低的。
所以出现了 RAG。RAG 给大模型提供了一个外部的知识库,这个知识库可以是文档的集合也可以是网站或者是其他结构化非结构化的知识库,当用户提出问题的时候,通过 Embedding 向量化处理和关键字查询等各种检索方式,把相关内容从知识库中拉出来,并通过优先级重排等操作再提供给 LLM,LLM 就会根据检索出来的知识和用户的问题,做针对性的回答。
这个就好像给大模型一个企业私域知识的字典,大模型可以根据用户的问题一边查字典一边根据字典当中的说明进行回答。
给出一个 RAG 的运作流程图。
这种方式一方面给大模型提供了补充企业内部知识的一个途径,另外通过这些外部知识的约束,也可以大大降低大模型的幻觉问题,特别适合去做一些企业相关的问答产品,从给内部人员使用 AI 的业务助手,到给一些 C 端用户使用的 AI 客服或 AI 营销产品等。
RAG 现在已经成为了 AI 企业应用当中最容易落地的一种方式,各种方案与产品层出不穷。但是要想把 RAG 真的做好也不是一件易事,比如如何去组织知识、如何提高检索质量等,都会对 RAG 最后呈现的效果起到至关重要的作用。
所以从关于 RAG 的解释上就可以推断出,RAG 与 LLM 相结合其实就可以构建出一个私有的、本地知识库,这也是现在构建知识库的主要手段。
使用 Ollama 和 AnythongLLM 的组合就是很常见的一种构建知识库的手段。
大模型的幻觉问题
在面对某些输入时,生成的内容不准确、不完整或误导性的现象
共同点: 都是为了赋予模型某个领域的特定知识,解决大模型的幻觉问题
RAG (Retrieval-Augmented Generation) 的原理:
上面RGA过程中的检索(Retrieval) 的详细过程:
模型的分类:
简而言之: Embedding模型是用来对你上传的附件进行解析的x
按使用ollama 部署 deepseek Windows 文章
除了
它能在本地轻松构建基于 LLM 的 AI 应用,集成 RAG、向量数据库和强大的 Agent 功能,是高效、可定制、开源的企业级文档聊天机器人解决方案,能够将任何文档、网页链接、音视频文件甚至只是一段文字,转化为 LLM 可以理解的上下文信息,并在聊天过程中作为参考。还可以自由选择不同的 LLM 或向量数据库,并进行多用户管理和权限设置。
主要功能:
前面说这么多都是为了这一步,下面进入正题。
nomic-embed-text
拉取向量嵌入大模型使用【可选操作】
除了deepseek 模型下载外还需要下载一个模型 nomic-embed-text
可用于后面嵌入文档使用,拉取模型
ollama pull nomic-embed-text
AnythingLLM安装方式有桌面客户端和Docker方式,下面以桌面方式为例子。
Docker方案
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统的机器上,从而实现虚拟化。
在 Windows 下一般直接安装 Docker Desktop,这需要 Windows 开启 Hyper-V 虚拟化功能。
Docker Desktop 的下载地址是:https://www.docker.com/products/docker-desktop
下载后直接双击安装即可,Docker的安装过程非常简单,没有什么参数需要设置,一路next即可,不多做赘述。
![]()
docker 镜像选择
访问: AnythingLLM官网
找到桌面版下载入口
提示:官方CDN有时候抽风,可以去Github上下载
打开GitHub仓库地址 :Mintplex-Labs/anything-llm: The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, and more.
![]()
点击Releases 的Last ![]()
找到自己对应平台的安装包下载即可 关联GitHub下载的v1.4.0地址: Release AnythingLLM 1.4.0 · Mintplex-Labs/anything-llm
下载完成后双击安装即可。安装中需要下载依赖大概1.8G,所以需网络的同时还要一定的时间。
设置语言为中文
设置 人工智能提供商->LLM 首选项 配置
设置 人工智能提供商->向量数据库 配置
向量数据库这里选择LanceDB,无需额外配置即可使用。
嵌入模型引擎 提供者配置
演示以默认的AnythingLLM提供商为例;
你也可以选则使用前面可选的【ollama下载的
nomic-embed-text
模型】配置参考:
首先我们提问一个偏门的问题:XQLEE是什么
创建一个简易的知识文档:
创建一个txt文件,文件名为:XQLEE是什么.txt
,内容为:
XQLEE是作者为XQLEE创建的一个技术博客网站,用于技术分享交流学习。
上传文档到工作空间库
最后点击 Save and Embed按钮提交保存 必须哟!!!
再次提问:XQLEE是什么
可以看到已经使用了上传文档为知识库回答问题。
注意:有时候也会抽风(AI叫幻想)
http://blog.xqlee.com/article/2502101307145630.html