基于Ollama+AnythingLLM轻松打造本地大模型知识库

随着人工智能技术的快速发展,大型语言模型(LLM)已成为自然语言处理领域的重要工具。然而,这些模型的运行通常需要大量的计算资源和复杂的部署流程。为了解决这个问题,Ollama应运而生,成为了一个高效的本地大语言模型LLM运行专家。

Ollama

Ollama简介

Ollama是一个开源的大型语言模型服务工具,它帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以执行一条命令就在本地运行开源大型语言模型,如Llama 2和最新开源的Llama 3。Ollama极大地简化了在Docker容器内部署和管理LLM的过程,使得用户能够快速地在本地运行大型语言模型。

Ollama的特点与优势

  1. 功能齐全:Ollama将模型权重、配置和数据捆绑到一个包中,定义成Modelfile。它优化了设置和配置细节,包括GPU使用情况,从而提高了模型运行的效率。

  2. 轻量级:Ollama的代码简洁明了,运行时占用资源少。这使得它能够在本地高效地运行,不需要大量的计算资源。此外,它还支持热加载模型文件,无需重新启动即可切换不同的模型,这使得它非常灵活多变。

  3. 易用性:Ollama提供了多种安装方式,支持Mac和Linux平台,并提供了Docker镜像。用户只需按照安装指南进行操作即可完成安装,无需具备专业的技术背景。

使用Ollama在本地运行大型语言模型

首先,访问Ollama官网(点此到达)。在Mac上安装尤为简单,直接下载和运行软件包即可。

image.png

点击下载,选择适配自己电脑的版本。

image.png

Windows下载完之后电脑也没弹出快捷启动方式啥的,不知道是不是bug,我这里一般是点击缩略符进到日志目录下,再右键打开终端。

image.png

image.png

再回到Ollama官网,点击右上角的Models。

image.png

可以看到诸多模型如下:

image.png
image.png

我们点击llama3,可以看到如下界面:

image.png

点击latest,可以选择模型的类型,笔记本运行建议8b,服务器可以选择70b(作者笔记本显卡为RTX4070)。

image.png

点击复制按钮,粘贴命令行到终端框,执行即可。

ollama run llama3:8b

image.png
image.png

安装好后如下所示:

image.png

image.png

AnythingLLM

AnythingLLM简介

AnythingLLM 是 Mintplex Labs Inc. 开发的一款可以与任何内容聊天的私人 ChatGPT,是高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型(LLM)在聊天中可以利用的相关上下文。

AnythingLLM特点

  • 多用户实例支持和权限管理

  • 全新的可嵌入式聊天小部件,适用于您的网站

  • 支持多种文档类型(PDF、TXT、DOCX等)

  • 通过简单的用户界面管理您的向量数据库中的文档

  • 两种聊天模式:对话模式和查询模式。对话模式保留之前的问题和修改记录。查询模式用于对您的文档进行简单的问答。

  • 聊天中的引用文献功能

  • 完全适用于云部署。

  • "自带 LLM "模型。

  • 极其高效的成本节约措施,用于管理非常大的文档。您将永远不会为嵌入的大型文档或转录付费超过一次。比其他文档聊天机器人解决方案更省成本,降低 90%。

  • 提供完整的开发者 API,用于自定义集成!

AnythingLLM下载

AnythingLLM是采用MIT许可证的开源框架,支持快速在本地部署基于检索增强生成(RAG)的大模型应用。

在不调用外部接口、不发送本地数据的情况下,确保用户数据的安全。点此下载

最近 AnythingLLM推出了桌面应用,可以在自己的笔记本电脑上下载使用,目前支持的操作系统包括MacOS,Windows和Linux。

image.png

AnythingLLM默认通过Ollama来使用LLama2 7B,Mistral 7B,Gemma 2B等模型,也可以调用OpenAI、Gemini、Mistral等大模型的API服务。

此前,我已经安装了Ollama,那么只要选择Ollama,输入调用的API接口URL,再选择此前已经下载的Gemma模型即可。

在Ollama终端中输入:Ollama serve ,即可将Ollama调整为后端服务器模式,由于我之前已经开启,所以此处报错error。

Ollama serve

image.png

下面分别填入本地地址端口、已下载的模型名称、4096。

image.png

AnythingLLM内置了一个嵌入模型 all-Mini-L6-v2,无需任何配置。该模型也可以在HuggingFace下载。同时,系统也支持OpenAI、LocalAi、Ollama提供的嵌入模型。

比如,Ollama上可供下载运行的嵌入模型有nomic-embed-text,据称性能超过OpenAI的text-embedding-ada-002和text-embedding-3-small。

image.png

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

image.png

AnythingLLM可以支持PDF,TXT,DOCX等文档,可以提取文档中的文本信息,经过嵌入模型(Embedding Models),保存在向量数据库中,并通过一个简单的UI界面管理这些文档。

为管理这些文档,AnythingLLM引入工作区(workspace)的概念,作为文档的容器,可以在一个工作区内共享文档,但是工作区之间隔离。

image.png

其中,AnythingLLM既可以上传文档,也可以抓取网页信息。新建之后点击如下红色区域:

image.png
image.png

这里我们选择一个网页fetch一下,更新到workspace时大致花费了10分钟左右。

image.png

这个回答也算是成功RAG了,但是其实不是很准确,以后在文本召回和重排等方面还可以进一步调优和完善。

image.png

另外一个值得关注的点是,Anything支持多用户模式,有3种角色的权限管理。

  • 系统会默认创建一个管理员(Admin)账号,拥有全部的管理权限。

  • 第二种角色是Manager账号,可管理所有工作区和文档,但是不能管理大模型、嵌入模型和向量数据库。

  • 普通用户账号,则只能基于已授权的工作区与大模型对话,不能对工作区和系统配置做任何更改。

总结

Ollama与AnythingLLM是两款旨在简化本地部署与使用大型语言模型(LLMs)的创新工具。它们响应了人工智能技术快速发展背景下,对高效利用LLMs处理自然语言任务的需求。

Ollama作为开源LLM服务工具,以功能全面、轻量化和高度易用为特点。它将模型、配置与数据封装为Modelfile,优化GPU使用,提高运行效率;占用资源少且支持模型热加载,增强了灵活性。用户通过其官网可轻松下载适用于Mac或Linux的软件包,借助Docker镜像实现一键部署。Ollama还提供丰富的模型库,如Llama 2和Llama 3,方便用户快速在本地运行大型语言模型。

AnythingLLM则是Mintplex Labs Inc.开发的面向企业级文档聊天机器人解决方案。它具有多用户管理、丰富文档支持、高效成本优化及云部署友好等特性。支持多种文档格式,提供对话与查询两种聊天模式,内置引用文献功能,并通过一次性处理与存储文档大幅降低成本。用户可下载适用于多种操作系统的桌面应用,内含预置模型,并支持OpenAI、Gemini、Mistral等第三方模型API接入。此外,AnythingLLM集成了向量数据库LanceDB,通过工作区概念实现文档管理与共享。

未来,随着技术持续迭代与优化,这两款工具有望在精准度、性能、用户体验等方面取得更大突破,更加无缝地融入各类自然语言处理应用场景,助力用户更加便捷、高效地利用LLMs解决复杂语言任务,推动人工智能技术在各行各业的深入应用与普及。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学浪的缓存怎么导出来

学浪的缓存导出问题困扰着许多用户,备份和管理数据变得至关重要。在数字化时代,保护和利用数据是企业和个人不可或缺的需求。在这篇文章中,我们将深入探讨学浪缓存导出的方法,为您解决疑惑,让您轻松掌握数据的安全与便…

237基于matlab的偏振态仿真

基于matlab的偏振态仿真,不同偏振态下光强计算。本仿真软件可以仿真波片对偏振光的相位调制过程。用户可以通过改变波片的类型,波片长轴与 X 轴的夹角,起偏器透光与 X 轴的夹角,检偏器透光轴与 X 轴的夹角等参数,来观察…

毫米波雷达原理(含代码)(含ARS548 4D毫米波雷达数据demo和可视化视频)

毫米波雷达原理 1. 传统毫米波雷达1.1 雷达工作原理1.2 单目标距离估计1.3 单目标速度估计1.4 单目标角度估计1.5 多目标距离估计1.6 多目标速度估计1.7多目标角度估计1.7 总结 3. FMCW雷达数据处理算法4. 毫米波雷达的目标解析(含python代码)5. ARS548 4D毫米波雷达数据demo(含…

docker学习笔记3:VmWare CentOS7安装与静态ip配置

文章目录 一、安装CentOS71、下载centos镜像2、安装二、设置静态ip三、xshell连接centos本专栏的docker环境是在centos7里安装,因此首先需要会安装centos虚拟机。 本篇博客介绍如何在vm虚拟机里安装centos7。 一、安装CentOS7 1、下载centos镜像 推荐清华源,下载如下版本 …

GPU虚拟化和算力隔离探讨

1. 术语介绍 术语 全称 说明 GPU Graphics Processing Unit 显卡 CUDA Compute Unified Device Architecture 英伟达2006年推出的计算API VT/VT-x/VT-d Intel Virtualization Technology -x表示x86 CPU,-d表示Device SVM AMD Secure Virtual Machine …

RabbitMQ入门教学(浅入浅出)

进程间通信 互联网的通讯时网络的基础,一般情况下互联网的资源数据对储存在中心服务器上,一般情况下个体对个体的访问仅限于局域网下,在公网即可完成资源的访问,如各种网站资源,下载资源,种子等。网络通讯…

小程序地理位置接口开通90%小白都避不开的误区

小程序地理位置接口有什么功能? 目前小程序的地理位置接口已经调整为审核制了,也就是说我们开发者如果小程序需要用到getlocation等接口的话,需要先在小程序后台进行开通申请,提交相关证明材料才可以获得接口使用权限。 小程序地理…

GPT-1

GPT 系列是 OpenAI 的一系列预训练模型,GPT 的全称是 Generative Pre-Trained Transformer,顾名思义,GPT 的目标是通过 Transformer,使用预训练技术得到通用的语言模型。目前已经公布论文的有 GPT-1、GPT-2、GPT-3。 最近非常火的…

Go协程的底层原理(图文详解)

为什么要有协程 什么是进程 操作系统“程序”的最小单位进程用来占用内存空间进程相当于厂房,占用工厂空间 什么是线程 进程如果比作厂房,线程就是厂房里面的生产线: 每个进程可以有多个线程线程使用系统分配给进程的内存,线…

【linux-汇编-点灯之思路-程序】

目录 1. ARM汇编中的一些注意事项2. IMXULL汇编点灯的前序:3. IMXULL汇编点灯之确定引脚:4. IMXULL汇编点灯之引脚功能编写:4.1 第一步,开时钟4.2 第二步,定功能(MUX)4.3 第三步,定电…

服务器遭受攻击后的黑洞状态应对策略及防护机制解析

引言 在网络安全领域中,当服务器遭受大规模DDoS攻击或其他恶意流量冲击时,为了保护服务的稳定性和其他正常用户的使用体验,往往会采取一种紧急防护手段——将服务器置于黑洞状态。所谓黑洞状态,即网络服务商暂时屏蔽掉对服务器的…

“中国汉字”的英语表达|柯桥考级英语生活英语商务口语培训

汉字,又称中文字、中国字、方块字。汉字是表意文字,一个汉字通常表示汉语里的一个词或一个语素,这就形成了音、形、义统一的特点。 我们通常用“Chinese character”表示“汉字”而不用“Chinese word”. 🔴 例句: C…

QT:信号和槽

文章目录 信号和槽connect函数槽自定义槽第一种第二种 信号和槽 这里的信号和Linux的信号一样吗? 答案是差不多,但是也有一定的区别,而且也是两个不同的概念 信号有三个概念,一个是信号源,这个信号是由谁发送的&…

信息管理与信息系统就业方向及前景分析

信息管理与信息系统(IMIS)专业的就业方向十分广泛,包含计算机方向、企业信息化管理、数据处理和数据分析等,随着大数据、云计算、人工智能、物联网等技术的兴起,对能够处理复杂信息系统的专业人才需求激增,信息管理与信息系统就业…

Storm 技术揭秘:掌握实时大数据处理的终极神器!

Storm 是一个开源的分布式实时计算系统,由 Twitter 公司开发并贡献给 Apache 基金会。它可以处理大量的数据流,进行实时的数据挖掘、数据分析和数据可视化等任务。Storm 具有高容错性、可扩展性和低延迟的特点,适用于需要快速响应的场景&…

15、ESP32 Wifi

ESP32 的 WIFI 功能是模块内置的&#xff0c;通过 ESP32 的基础库调用一些函数就可以轻松使用它。 Wifi STA 模式&#xff1a; 让 ESP32 连接附近 WIFI&#xff0c;可以上网访问数据。 // 代码显示搜索连接附近指定的 WIFI // 通过 pin 按键可断开连接#include <WiFi.h>…

纯血鸿蒙APP实战开发——主页瀑布流实现

介绍 本示例介绍使用ArkUIWaterFlow组件和LazyForEach实现瀑布流场景。该场景多用于购物、资讯类应用。 效果图预览 使用说明 加载完成后显示整个列表&#xff0c;超过一屏时可以上下滑动。 实现思路 创建WaterFlowDataSource类&#xff0c;实现IDataSource接口的对象&…

JAVA面试之MQ

如何保证消息的可靠传输&#xff1f;如果消息丢了怎么办 数据的丢失问题&#xff0c;可能出现在生产者、MQ、消费者中。 &#xff08;1&#xff09;生产者发送消息时丢失&#xff1a; ①生产者发送消息时连接MQ失败 ②生产者发送消息到达MQ后未找到Exchange(交换机) ③生产者发…

第一次用ssh登录树莓派or linux服务器出现Permission denied (publickey)

authenticity of host ) cant be established ssh userip Permission denied (publickey) 解决办法&#xff1a; 第一步&#xff1a; PasswordAuthentication yes 第二步&#xff1a; service sshd restart 这两步一步都不能少 注意&#xff01;

如何搭建本地的 NPM 私有仓库 Nexus

NPM 本地私有仓库&#xff0c;是在本地搭建NPM私有仓库&#xff0c;对公司级别的组件库进行管理。在日常开发中&#xff0c;经常会遇到抽象公共组件的场景&#xff0c;在项目内部进行公用。新的项目开始时&#xff0c;也会拷贝一份创建一个新的项目&#xff0c;这样做不易于管理…