基于AnythingLLM Ollama Deepseek构建本地知识库入门

deepseek > AI (31) 2025-04-16 20:19:46

一  了解什么是 RAG

RAG专业版解释


RAG(Retrieval Augmented Generation)检索增强生成,是 2023 年最火热的 LLM 应用系统架构,它的作用简单来说就是通过检索获取相关的知识并将其融入 Prompt,让大模型能够参考相应的知识从而给出合理回答。

现在的大模型在企业应用中存在着很多挑战,首先第一点就是大模型的世界知识是完全来自于模型预训练中提供的数据,是有限的,那么企业本身的业务知识与产品知识,这些大模型都是不知道的。如果通过微调等方式去给大模型补充这些知识,成本高且可控性低,大部分场景是不适合的。以及大模型有比较严重的幻觉问题,也就是大模型在不熟悉的领域会提供不正确的答案,那在企业应用的场合里很多都是严肃的场景,对于这方面的接受程度是比较低的。

所以出现了 RAG。RAG 给大模型提供了一个外部的知识库,这个知识库可以是文档的集合也可以是网站或者是其他结构化非结构化的知识库,当用户提出问题的时候,通过 Embedding 向量化处理和关键字查询等各种检索方式,把相关内容从知识库中拉出来,并通过优先级重排等操作再提供给 LLM,LLM 就会根据检索出来的知识和用户的问题,做针对性的回答。

这个就好像给大模型一个企业私域知识的字典,大模型可以根据用户的问题一边查字典一边根据字典当中的说明进行回答。

给出一个 RAG 的运作流程图。

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-18941e9fa8644784a0f29d73d7ba7917.png
 RAG 的运作流程图

这种方式一方面给大模型提供了补充企业内部知识的一个途径,另外通过这些外部知识的约束,也可以大大降低大模型的幻觉问题,特别适合去做一些企业相关的问答产品,从给内部人员使用 AI 的业务助手,到给一些 C 端用户使用的 AI 客服或 AI 营销产品等。

RAG 现在已经成为了 AI 企业应用当中最容易落地的一种方式,各种方案与产品层出不穷。但是要想把 RAG 真的做好也不是一件易事,比如如何去组织知识、如何提高检索质量等,都会对 RAG 最后呈现的效果起到至关重要的作用。

所以从关于 RAG 的解释上就可以推断出,RAG 与 LLM 相结合其实就可以构建出一个私有的、本地知识库,这也是现在构建知识库的主要手段。

使用 Ollama 和 AnythongLLM 的组合就是很常见的一种构建知识库的手段。

RGA简版解释

为什么要使用RAG技术?RAG和模型微调的区别?

大模型的幻觉问题
在面对某些输入时,生成的内容不准确、不完整或误导性的现象

微调技术和RAG技术

  • 微调: 在已有的预训练模型基础上,再结合特定任务的数据集进一步对其进行训练,使得模型在这一领域中表现更好(考前复习)
  • RAG: 在生成回答之前,通过信息检索从外部知识库中查找与问题相关的知识,增强生成过程中的信息来源,从而提升生成的质量和准确性(考试带小抄)

共同点: 都是为了赋予模型某个领域的特定知识,解决大模型的幻觉问题
 

RAG (Retrieval-Augmented Generation) 的原理:

  • 检索(Retrieval): 当用户提出问题时,系统会从外部的知识库中检索出与用户输入相关的内容
  • 增强(Augmentation): 系统将检索到的信息与用户的输入结合,扩展模型的上下文。然后再传给生成模型(也就是Deepseek)
  • 生成(Generation): 生成模型基于增强后的输入生成最终的回答。由于这一回答参考了外部知识库中的内容,因此更加准确可读
     

什么是Embedding?为什么需要“Embedding模型”

上面RGA过程中的检索(Retrieval) 的详细过程:

  • 准备外部知识库: 外部知识库可能来自本地的文件、搜索引擎结果、API等等
  • 通过 Embedding (嵌入) 模型,对知识库文件进行解析: Embedding 的主要作用是将自然语言转化为机器可以理解的高维向量,并且通过这一过程捕获到文本背后的语义信息(比如不同文本之间的相似度关系)
  • 通过 Embedding(嵌入) 模型,对用户的提问进行处理: 用户的输入同样会经过嵌入(Embedding)处理,生成一个高维向量
  • 拿用户的提问去匹配本地知识库: 使用用户输入生成的这个高纬向量,去查询知识库中相关的文档片段。在这个过程中,系统会利用某些相似度度量(如余弦相似度)去判断相似度,并返回知识库文档
  • 最后拿用户的原始提问 + 知识库文档(作为系统提示)一起去问聊天大模型(Deepseek),大模型返回内容。

模型的分类: 

  • Chat模型
  • Embedding模型;

简而言之: Embedding模型是用来对你上传的附件进行解析的x

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-49d271c885414f08920575081d80d131.png
本地知识向量数据库内容填充


 

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-eda95e510ec44e32b75e296c521a3b8f.png
查询简版

二  什么是Ollama

 

按使用ollama 部署 deepseek Windows 文章

除了

三 什么是 AnythingLLM

它能在本地轻松构建基于 LLM 的 AI 应用,集成 RAG、向量数据库和强大的 Agent 功能,是高效、可定制、开源的企业级文档聊天机器人解决方案,能够将任何文档、网页链接、音视频文件甚至只是一段文字,转化为 LLM 可以理解的上下文信息,并在聊天过程中作为参考。还可以自由选择不同的 LLM 或向量数据库,并进行多用户管理和权限设置。

主要功能:

  • 多用户管理和权限控制: 让团队协作更轻松,每个人都能安全地使用 LLM。
  • AI Agent 加持: 内置强大的 AI Agent,可以执行网页浏览、代码运行等复杂任务,自动化程度更高。
  • 可嵌入聊天窗口: 轻松集成到您的网站或应用中,为用户提供 AI 驱动的对话体验。
  • 广泛的文件格式支持: 支持 PDF、TXT、DOCX 等多种文档类型,满足不同场景需求。
  • 向量数据库管理: 提供简单易用的界面来管理向量数据库中的文档,方便知识管理。
  • 灵活的对话模式: 支持聊天和查询两种对话模式,满足不同场景需求。
  • 信息来源追踪: 聊天过程中会提供引用的文档内容,方便追溯信息来源,增强结果可信度。
  • 多种部署方式: 支持 100% 云部署,也支持本地部署,满足不同用户的需求。
  • 自定义 LLM 模型: 可以使用您自己的 LLM 模型,定制化程度更高,满足个性化需求。
  • 高效处理大型文档: 相较于其他文档聊天机器人解决方案,AnythingLLM 在处理大型文档时效率更高,成本更低,最多可节省 90% 的成本。
  • 开发者友好: 提供全套开发者 API,方便自定义集成,扩展性更强。

四 基于 AnythingLLM  Ollama 构建本地知识库入门使用

 

前面说这么多都是为了这一步,下面进入正题。

ollama安装和部署deepseek

 参考:deepseek Windows安装和入门使用

nomic-embed-text 拉取向量嵌入大模型使用【可选操作】

除了deepseek 模型下载外还需要下载一个模型 nomic-embed-text 可用于后面嵌入文档使用,拉取模型

ollama pull nomic-embed-text
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-f55162e4959b491aa19d5b7d2a3f5c37.png
nomic-embed-text模型拉取

AnythingLLM 安装

AnythingLLM安装方式有桌面客户端和Docker方式,下面以桌面方式为例子。

Docker方案

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统的机器上,从而实现虚拟化。

在 Windows 下一般直接安装 Docker Desktop,这需要 Windows 开启 Hyper-V 虚拟化功能。

Docker Desktop 的下载地址是:https://www.docker.com/products/docker-desktop

下载后直接双击安装即可,Docker的安装过程非常简单,没有什么参数需要设置,一路next即可,不多做赘述。

image
docker 镜像选择

访问: AnythingLLM官网 

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-60fb4efa2b5c4b1aab2d8627c5dace3b.png
AnythingLLM官网 

找到桌面版下载入口

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-9d2f9a9c66f74292b96bbc35835d3195.png
这里通过官方的CDN下载

提示:官方CDN有时候抽风,可以去Github上下载 

打开GitHub仓库地址 :Mintplex-Labs/anything-llm: The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, and more.

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-668903ad131845a5a81c9fbfaf6f38d2.png
点击Releases 的Last
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-3c8b5b31f0c549da9bf1dfdd2b3021b3.png
找到自己对应平台的安装包下载即可

关联GitHub下载的v1.4.0地址: Release AnythingLLM 1.4.0 · Mintplex-Labs/anything-llm

 

 

下载完成后双击安装即可。安装中需要下载依赖大概1.8G,所以需网络的同时还要一定的时间。

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-accd1fab349f4c1dbe3561e281357479.png
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-30bb739681c04c78a0b0feb1ea6e7ccb.png
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-db0a605a1f8a48cba525d672142c30a2.png
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-047e2d3f2eee483c9631255115cfb19a.png
下载依赖?
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-5f2dee0215934d8d8ecebefc74fe601b.png

 

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-b2c80a28814c4020b7a019d21aecf9ed.png
点Get started
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-800ecdd46c194d07b09636d0995c4245.png
LLM工具选Ollama,然后点击右边箭头(等于下一步)
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-7b4500c9ef5d4a50a3bea042f6f18c92.png
信息确认,然后点击右边箭头(等于下一步)
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-249e9fab3e17458b8c9b72d9ec56839f.png
信息收集-这里选择Skip Survey 跳过,然后点击右边箭头(等于下一步)
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-3d85b30d35fb4866b17ac6a604ab013e.png
设置工作空间名,然后点击右边箭头(等于下一步)
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-3012ede5af374766887226d4747ed8ee.png
跳转到工作空间

设置语言为中文

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-154e7c95eeb1423d93497b9ae653a23d.png
点击扳手-设置
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-607d76be909342faad65898bf849edbb.png
外观->Display Language->Chinese

设置 人工智能提供商->LLM 首选项 配置

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-6a8ef15b1d0142e78fb7e7dcf032ece1.png
设置提供者为Ollama 其他信息参考自己下载的那个模型版本。

设置 人工智能提供商->向量数据库 配置

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-fcbfff8149d54829b67d01c6c6268594.png
向量数据库这里选择LanceDB

向量数据库这里选择LanceDB,无需额外配置即可使用。

image
配置完成后点击返回工作空间

嵌入模型引擎 提供者配置

演示以默认的AnythingLLM提供商为例;

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-d3bfe384b9e542609ea5dc3755b5f690.png
嵌入模型引擎(AnythingLLM提供商)

你也可以选则使用前面可选的【ollama下载的nomic-embed-text 模型】配置参考:

 

 

 

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-e677da6eb3e844bdb0f8c73efca637fa.png
配置工作区聊天使用的LLM为Ollama提供的deepseek
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-b23ca523945c4fbf9fe79088af3276e1.png
设置了LLM提供者后记得滚动到最下面去更新设置

首先我们提问一个偏门的问题:XQLEE是什么

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-cedccb4f2b9345ec8b0fa4fcf216d299.png

 

创建一个简易的知识文档:

创建一个txt文件,文件名为:XQLEE是什么.txt ,内容为:

XQLEE是作者为XQLEE创建的一个技术博客网站,用于技术分享交流学习。

上传文档到工作空间库

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-9629391b29c14a5e8f331ec44ea63d80.png
点击工作空间名后面的上传按钮
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-1d3ba884fd96454da80b1bb209e17ac7.png
将刚才的文档拖动在选中区域上传
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-f05f077cd5d74cfcb1eef47edb1dcca1.png
选中上传的文件,点击 Move to Workspace
基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-7dbbe749d16c4aa49eaa215ed454d98b.png
滚动窗口到下面,可以看到在MyWrokplace 下面有刚才上传的文件。最后点击 Save and Embed按钮提交保存

最后点击 Save and Embed按钮提交保存  必须哟!!!

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-07acdfc5c82c4661a1edf8c2994aefc1.png
提交后进行嵌入

 

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-bc0a0eb3c7ca4646a9a75a515322e871.png
关闭上传窗口

 

再次提问:XQLEE是什么

基于AnythingLLM Ollama Deepseek构建本地知识库入门_图示-a3e3257610a04a4c864497e37e95bb45.png
结合文档回复

可以看到已经使用了上传文档为知识库回答问题。

注意:有时候也会抽风(AI叫幻想)

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
一 了解什么是 RAGRAG(Retrieval Augmented Generation)检索增强生成,是 2023 年最火热的 LLM 应用系统架构,它的作
概述本文讲解Java编程中如何通过Spring AI框架 集成 Redis Stack 向量数据库和Ollama模型服务提供者实现RAG本地外挂知识库。前置条件
在科技领域,新兴公司的涌现几乎每天都有,而每一家公司背后都有着独特的故事和潜力。最近,一家名为“深度求索”(DeepSeek)的中国公司引发了广泛关注。这家公司
安装环境windows 11ollama工具下载ollama工具ollama官网 Download Ollama on Windows注:ollama同时支持L
继上一篇deepseek Windows安装和入门使用 本地部署deepseek只能在cmd窗口使用,体验感不好。这里使用一个可视化工具Cherry Studi
Ollama 简介Ollama 是一个用于部署本地 AI 模型的工具,开发者可以在自己的机器上运行模型,并通过 API 接口调用。在本地搭建 Ollama 服务
问题ollama国内拉取模型慢,断点续传也蛮怎么办,当然是修改ollama镜像源 配置ollama模型国内镜像源
LM Studio 开启本地服务LM Studio 开启服务化,参考:LM Studio开启本地服务或headless(服务模式)Anything LLM 配置
确认Ollama兼容您的GPUNvidiaOllama 支持计算能力 5.0 及以上的 Nvidia GPU。要检查您的显卡是否受支持,请查看您的计算兼容性:h
概述Ollama官方最新版0.5.7,默认是不支持AMD 780m(代号:gfx1103)集成显卡的,已知方法都是基于一个开源项目ollama-for-amd来
Ollama 模型动辄xxGB,默认位置可能不满足需求,特别是Windows,默认的C盘,所以一般都需要调整下Ollama 模型存放位置。ollama 默认的模
deepseek-r1的1.5b、7b、8b、14b、32b、70b和671b有啥区别?1.5B、7B、8B、14B、32B、70B是蒸馏后的小模型
GPUNvidiaOllama 支持计算能力为 5.0 及以上的 Nvidia GPU。检查你的计算兼容性,以确认你的显卡是否受支持: https://deve
LM Studio 以开发者视觉开启本地服务以开发者/高级用户角色打开开发者窗口Power User / Developer切换到开发者视图开发者视图打开loc
目标使用Redis Stack中间件作为向量数据库(Vector Database)实现文档数据的存储和查询功能。先决条件已安装好的 redis stack ,