基于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

相关文章

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

JavaFX环境的搭建和一个简单的例子

之前在网上搜了很多与javaFX相关的资料,都说要在Eclepse上要安装sdk插件什么的,反正就是乱七八糟的一大片,最后还是没搞成功,所以我在这里写下我搭建javaFX成功的环境给大家做一个参考吧。希望能帮助到你们! 1.首先要保证你的jdk版本能够支持JavaFX的开发,jdk-7u25版本以上的都能支持,最好安装jdk8吧,因为jdk8对支持JavaFX有新的特性了,比如:3D等;

springboot+maven搭建的项目,集成单元测试

springboot+maven搭建的项目,集成单元测试 1.在pom.xml文件中引入单元测试的依赖包 <!--单元测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></depen

CentOS 7 SVN的搭建和使用

https://subversion.apache.org/packages.html#centos 阿里云的ECS貌似已经自带了SVN [root@xxx ~]# svn --versionsvn, version 1.7.14 (r1542130)compiled Aug 23 2017, 20:43:38Copyright (C) 2013 The Apache Software Fo