当前位置: 首页 > news >正文

打造本地GPT专业领域知识库AnythingLLM+Ollama

        如果你觉得openai的gpt没有隐私,或者需要离线使用gpt,还是打造专业领域知识,可以借用AnythingLLM+Ollama轻松实现本地GPT.

AnythingLLM+Ollama 实现本地GPT步聚:

1 下载 AnythingLLM软件

AnythingLLM官网地址:

AnythingLLM | The ultimate AI business intelligence tool

2 下载 Ollama

Ollama官网下载: 

 Ollama

下载好的两个软件如下图: 

3 安装AnythingLLM

和安装其它软件一样双击安装即可,如下图:

安装成功后,我们接着再安装Ollama。

4 安装Ollama

和安装其它软件一样双击安装即可,安装成功后右下角有个运行图标如下图:

 配置 Ollama

 1 配置Ollama模型数据路径

模型数据默认是保存在C盘的,由于模型数据特别大,所以这里一定要记住配置模型数据的路径,只里设置系统变量OLLAMA_MODELS的值为模型数据保存路径,如下图:

 2 选择配置主模型

  这里考虑到我们平时主要处理中文相关资料,选择阿里的千问模型,结合当前环境笔记是16G内存,我们这里选择千问7b(占用8G内存):

  运行选择的模型

ollama run qwen:7b

首次运行会下载该模型,如下图: 

下载完成,如下图: 

3 选择配置嵌入模型

 嵌入模型并不直接生产数据,主要用于把本地知识doc.pdf txt等文档保存在向量数据库时用到。

这里我们选择 nomic-embed-text ,它是具有大型令牌上下文窗口的高性能开放嵌入模型。

ollama pull nomic-embed-text

5 配置AnythingLLM

打开AnythingLLM 进行设置项,如下图:

1 配置主模型

这里选择上面Ollama下载的千问模型

2 配置嵌入模型

这里选择配置与上面安装的模型nomic-embed-text一致,如下图:

配置嵌入模型在处理上传知识文件保存到向量数据时两个关键参数:

  •   分块大小 (这是单个向量中允许存在的最大字符数量。例如,如果设置为8192,意味着每个文本块或向量最多包含8192个字符。)
  •  文本块重叠度(这是指在两个相邻文本块切分过程中允许的最大字符重叠量。设置重叠可以帮助保持信息的连续性,避免因严格切分导致的语义断裂,尤其是在信息的关键边界附近。)

  注意:这两个参数仅适用于新嵌入的文档,对已存在的文档没有影响。 

 3 配置使用向量数据库

设置使用向量数据库,没有特别需求使用默认即可,如下图:

 说明:LanceDB是一个开源的无服务器向量数据库,专为处理人工智能应用中的大规模多模态数据(如文本、图像、视频、点云等)而设计。它简化了高维向量的检索、过滤和管理过程,无需用户管理和维护服务器基础设施,从而降低了运维成本并提高了开发效率。 

配置完成,如下图: 

 

6 开始使用本地GPT(使用AnythingLLM)

现在我们开始使用AnythingLLM:

1 创建空间

  AnythingLLM 有一个很好的概念工作空间,有点像我们平时用eplise创建项目一样,一个项目一个空间,不同的空间还可以单独配置,这样可以很好的划分不同类类型的专业领域。

 保存空间名称后,即可正常提问

开始问答:

因为是离线,而本地又没有显卡,所以回答问题时并不是很快,而且CPU会拉升,如下图: 

 ollama 服务CPU占用50%,内存12G,消耗挺大的。

2 可选择单独配置参数

  为当前空间单独配置参数(默认使用设置中的配置) 

配置聊天模型,这个配置很重要,如果只是针对知识库直接设置成查询模型即可,如下图: 

 

3 知识库使用

 上传文档形成专业知识库,如下图:

选择文档上传,如下图: 

 

 

或者输入网址直接获取内容 

 使用查询模型提问,直接使用知识库如下图:

小结,普通的笔记本电脑在使用查询模式会比聊天模型更快,并且可以节约CPU与内存。 

相关文章:

打造本地GPT专业领域知识库AnythingLLM+Ollama

如果你觉得openai的gpt没有隐私,或者需要离线使用gpt,还是打造专业领域知识,可以借用AnythingLLMOllama轻松实现本地GPT. AnythingLLMOllama 实现本地GPT步聚: 1 下载 AnythingLLM软件 AnythingLLM官网地址: Anythi…...

数据可视化训练第6天(美国人口调查获得关于收入与教育背景的数据,并且可视化)

数据来源 https://archive.ics.uci.edu/dataset/2/adult 过程 首先;关于教育背景的部分翻译有问题。 本次使用字典嵌套记录数据,并且通过lambda在sorted内部进行对某个字典的排序,最后用plotly进行绘图 本次提取数据的时候,用到…...

如何更换远程服务器的Python版本

目录 前言 正文 尾声 🔭 Hi,I’m Pleasure1234🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.👯 I’m studying in University of Nottingham Ningbo China📫 You can reach me by url below:My Blo…...

Python 运筹优化13 Thompson Sampling 解读

说明 这部分应该是Multi-Armed Bandit的最后一部分了。 内容 1 On Line Ads 这个实验,最初的目的就是为了选出最佳的广告。首先,通过伯努利分布,模拟了某个广告的有效率。在真实场景里,我们是无法知道那个广告更好的。可能在t…...

计算机毕业设计 | SpringBoot健身房管理系统(附源码)

1,项目背景 随着人们生活水平的提高和健康意识的增强,健身行业逐渐兴起并迅速发展。而现代化的健身房管理系统已经成为健身房发展的必备工具之一。传统的健身房管理方式已经无法满足现代化健身房的需求,需要一种更加高效、智能、安全的管理系…...

大模型LLM 结合联网搜索增强isou

参考: https://github.com/yokingma/search_with_ai 在线使用网址: https://isou.chat/ 安装github下载,运行docker compose 如果一直报下面错误: 解决方法https://github.com/yokingma/search_with_ai/pull/7 默认打开&a…...

软删除和硬删除的区别及实际应用

在处理数据存储时,删除操作是不可避免的一部分。然而,并非所有的删除都是相同的。在本篇博客中,我们将探讨软删除(Soft Delete)和硬删除(Hard Delete)的概念、它们之间的区别,以及如…...

算法加密-简介

前言 在遥远的古代,信息的传递至关重要。战争时期,将领们需要确保自己的作战计划不被敌人知晓。 有一次,一位聪明的将军想要给远方的盟友传递一份机密战略部署。他想到了一个办法,用一种特殊的符号来替代文字。他和盟友事先约定好…...

搞懂Docker(九)- 使用Docker Compose

获取示例程序 示例程序 或者 示例程序 获取示例程序程序结构如下├── getting-started-app/ │ ├── package.json │ ├── README.md │ ├── spec/ │ ├── src/ │ └── yarn.lock使用Docker Compose Docker Compose是一个帮助你定义和共享多容器应用程序的工具…...

EOCRSP-40NM7施耐德电机保护器EOCR-SP

韩国三和EOCRSP-40NM7 40A AC220V电动机保护器 密集型设计 ■ 电子式多保护功能 ■ 宽的电流调整范围(10:1) ■ 电流表功能 ■ LED跳闸指示 ■ 高精度 ■ 手动即时复位 ■ 电动远距离复位 ■ 自检功能 ■ 强的环境适应性 ■ 低能耗 ■ 失效-安全工作方式(无电压释放) 韩国三和…...

一文带你快速了解GPT-4o!内含免费使用指南!

一、GPT-4o简介 北京时间5月14日,OpenAI举行春季发布会。OpenAI在活动中发布了新旗舰模型“GPT-4o”!据OpenAI首席技术官穆里穆拉蒂(Muri Murati)介绍,GPT-4o在继承GPT-4强大智能的同时,进一步提升了文本、…...

react18【系列实用教程】useState (2024最新版)

类似 vue 的 data 选项 功能 向组件添加响应式变量,当响应式变量变化时,组件的视图UI也会跟着变化【数据驱动视图】 语法 参数为变量的初始值返回值为一个只有两个元素的数组,第一项元素为传入的参数,第二项元素是一个setter 函数…...

电商选品的数据是可以用爬虫进行采集的吗?

在电子商务领域,选品是一个至关重要的环节,它直接影响到商家的销售业绩和市场竞争力。为了做出更明智的选品决策,商家需要获取大量的市场数据和产品信息。那么,电商选品的数据是否可以通过爬虫进行采集呢? 爬虫在电商数…...

数据特征降维 | 局部线性嵌入(LLE)

局部线性嵌入(Locally Linear Embedding,LLE)是一种非线性降维和数据嵌入技术,用于将高维数据映射到低维空间中,以便更好地展示数据的结构和关系。 LLE的基本思想是假设数据样本在局部区域内可以近似由其相邻样本的线性组合表示。通过保持这种局部线性关系,LLE能够在低维…...

js发票查验、票据OCR接口助力解决发票录入与真假辨别难题

作为消费者,每位都是税法的监督员,为了保护自己的合法权益、共同维护市场秩序,消费者进行实际交易后无论是否需要报销,都应该主动向商家索取发票。一般来说发票主要有三种:增值税专用发票、普通发票、专业发票。以下&a…...

HTML静态网页成品作业(HTML+CSS+JS)——华为商城网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,使用Javacsript代码实现首页图片切换轮播效果,共有1个页面…...

【吃透Java手写】5-RPC-简易版

【吃透Java手写】RPC-简易版-源码解析 1 RPC1.1 RPC概念1.2 常用RPC技术或框架1.3 初始工程1.3.1 Productor-common:HelloService1.3.2 Productor:HelloServiceImpl1.3.3 Consumer 2 模拟RPC2.1 Productor2.2 模拟一个RPC框架2.2.1 HttpServer2.2.2 Http…...

express 本地https服务 接口、静态文件,并支持跨域

var express require(express); var app express(); //设置跨域访问 app.all(*, function (req, res, next) {res.header(Access-Control-Allow-Origin, *);res.header(Access-Control-Allow-Credentials, true);res.header(Access-Control-Allow-Headers, Content-Type,Cont…...

从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?

创作缘由 平时使用 tomcat 等 web 服务器不可谓不多,但是一直一知半解。 于是想着自己实现一个简单版本,学习一下 tomcat 的精髓。 系列教程 从零手写实现 apache Tomcat-01-入门介绍 从零手写实现 apache Tomcat-02-web.xml 入门详细介绍 从零手写…...

yarn 安装以及报错处理

前一种报错是由于没有安装yarn导致的,使用以下命令即可安装: npm install -g yarn 如果成功安装,将显示Yarn的版本号。 yarn --version 第二种报错是因为系统上的执行策略限制导致的。执行策略是一种安全功能,用于控制在计算机…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式&#xff0c;给定一个隐函数关系&#xff1a; F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 &#x1f9e0; 目标&#xff1a; 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...

java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟

众所周知 摄像头取流推流显示前端延迟大 传统方法是服务器取摄像头的rtsp流 然后客户端连服务器 中转多了&#xff0c;延迟一定不小。 假设相机没有专网 公网 1相机自带推流 直接推送到云服务器 然后客户端拉去 2相机只有rtsp &#xff0c;边缘服务器拉流推送到云服务器 …...