基于Ollama和AnythingLLM搭建本地化知识库RAG

2024-04-24 14:52

本文主要是介绍基于Ollama和AnythingLLM搭建本地化知识库RAG,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先看效果,我上传了一个pdf如下:
在这里插入图片描述
上传之后做向量化处理,处理完成之后,就可以开始问答了。结果如下:
在这里插入图片描述
开始动手搭建自己的知识库!!!

第一步:安装ollama

此步骤省略,不会可以看这篇文章有详细的过程:ollama在windows系统上安装总结以及注意事项
ollama提供的有api服务,不仅仅使用命令行来使用,也可以将应用程序连接到 Ollama API 。这样就可以把 AI 的功能整合到自己的软件里。
以下是如何连接和使用 Ollama API 的步骤:

  1. 默认地址和端口:Ollama API 的默认地址是http://localhost:11434。
  2. 可以通过系统环境变量修改端口号。如变量名:OLLAMA_HOST
    变量值(端口)::8999 。注意修改之后一定要重启ollama服务。在这里插入图片描述
  3. 我这里没有做任何更改,直接使用的是默认的:在这里插入图片描述
    具体的api请求格式请看官网:ollama官网api
    我在本地用api测试如下:
    在这里插入图片描述

第二步:AnythingLLM安装

在这里插入图片描述

下载地址:AnythingLLM安装
下载好之后,双击下一步安装即可。
安装完成之后,桌面会有一个在这里插入图片描述
双击打开如下:
请添加图片描述

搭建一个本地知识库,会涉及到三个关键:

  1. LLM Model,大语言模型。它负责处理和理解自然语言。
  2. Embedding Model,嵌入模型。它负责把高维度的数据转化为低维度的嵌入空间。这个数据处理过程在RAG中非常重要。
  3. Vector Store,向量数据库,专门用来高效处理大规模向量数据。
    开始配置,直接点击Get started。

我这里已经配置好了,打开后直接是这样的界面了在这里插入图片描述

  1. 本地大模型选择

选择 Ollama,填入 Ollama 的 http://127.0.0.1:11434 端口,然后选择你下载的模型。当然你也可以使用 OpenAI,使用更强大的云端模型,提供基础模型支持。但这样的话,就不是完全本地化的私有部署了。
LLM Preference配置如下:

LLM provider: Ollama    	
URL:http://127.0.0.1:11434 
Chat Model Selection: 选择你们安装的模型,我的是gemma:latest		
Token context window: 4096
  1. Embedding 配置

可以选择:https://ollama.com/library/nomic-embed-text 或者 AnythingLLM 自带的 AnythingLLMEmbedder。
如果选择nomic-embed-text首先在ollama里拉取。
我这里选择的是nomic-embed-text

Embedding :选择 ollama
Ollama Base URL:http://127.0.0.1:11434
Embedding Model Selection: nomic-embed-text:latest
Token context window: 8192

在这里插入图片描述

  1. 向量数据库配置

AnythingLLM 默认使用内置的向量数据库 LanceDB。
这是一款无服务器向量数据库,可嵌入到应用程序中,支持向量搜索、全文搜索和 SQL。
我们也可以选择 Chroma、Milvus、Pinecone 等向量数据库。
我这里选择是内置向量数据库选择LanceDB。
在这里插入图片描述

  1. 接下来就算是完成了,应该是这样的界面,如果是第一次配置
    在这里插入图片描述
    直接下一步
  2. 会让你填写信息,可填可不填
    在这里插入图片描述
  3. 创建工作区
    在这里插入图片描述
  4. 进入工作区聊天界面
    在这里插入图片描述
  5. 导入外部 Documents

AnythingLLM 可以支持 PDF、TXT、DOCX 等文档,可以提取文档中的文本信息,经过嵌入模型(Embedding Models),保存在向量数据库中,并通过一个简单的 UI 界面管理这些文档。为管理这些文档,AnythingLLM 引入工作区(workspace)的概念,作为文档的容器,可以在一个工作区内共享文档,但是工作区之间隔离。AnythingLLM 既可以上传文档,也可以抓取网页信息。
将文档保存嵌入工作区向量数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
9. 对话问答测试
在这里插入图片描述
到这里就结束了。就已经搭建好了自己的一个本地的知识库。
更改设置的话:
点击空间的设置按钮并切换为Query状态后,模型将仅在找到文档上下文时提供答案(回答会更加绑定于知识库)。
在这里插入图片描述
修改前面的推理模型或者嵌入模型,以及数据库。
在这里插入图片描述
在这里插入图片描述

这篇关于基于Ollama和AnythingLLM搭建本地化知识库RAG的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932066

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Ollama Python 使用小结

《OllamaPython使用小结》Ollama提供了PythonSDK,使得开发者能够在Python环境中轻松集成和使用本地运行的模型进行自然语言处理任务,具有一定的参考价值,感兴趣的可以了解一... 目录安装 python SDK启动本地服务使用 Ollama 的 Python SDK 进行推理自定义客

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术