打造本地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 第二种报错是因为系统上的执行策略限制导致的。执行策略是一种安全功能,用于控制在计算机…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...