首页 人工智能元宇宙大数据 企业智能化 智慧城市 科技 商务
当前位置:首页 > 人工智能

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

来源:默认站点 发布日期:2024-04-27

备案控制台开发者社区首页探索云世界探索云世界云上快速入门,热门云上应用快速查找了解更多问产品动手实践考认证TIANCHI大赛活动广场活动广场丰富的线上&线下活动,深入探索云世界任务中心做任务,得社区积分和周边高校计划让每位学生受益于普惠算力训练营资深技术专家手把手带教话题畅聊无限,分享你的技术见解开发者评测最真实的开发者用云体验乘风者计划让创作激发创新阿里云MVP遇见技术追梦人直播技术交流,直击现场下载下载海量开发者使用工具、手册,免费下载镜像站极速、全面、稳定、安全的开源镜像技术资料开发手册、白皮书、案例集等实战精华插件为开发者定制的Chrome浏览器插件探索云世界新手上云云上应用构建云上数据管理云上探索人工智能云计算弹性计算无影存储网络倚天云原生容器serverless中间件微服务可观测消息队列数据库关系型数据库NoSQL数据库数据仓库数据管理工具PolarDB开源向量数据库热门Modelscope模型即服务弹性计算云原生数据库物联网云效DevOps龙蜥操作系统平头哥钉钉开放平台大数据大数据计算实时数仓Hologres实时计算FlinkE-MapReduceDataWorksElasticsearch机器学习平台PAI智能搜索推荐人工智能机器学习平台PAI视觉智能开放平台智能语音交互自然语言处理多模态模型pythonsdk通用模型开发与运维云效DevOps钉钉宜搭支持服务镜像站码上公益

本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《

阿里云开发者社区用户服务协议》和

《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写

侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

Ollama是开源工具,简化了在本地运行大型语言模型(ile优化模型运行,支持GPU使用和热加载。它轻量、易用,可在Mac和Linux上通过Docker快速部署。AnythingLLM是Mintplex Labs的文档聊天机器人,支持多用户、多种文档格式,提供对话和查询模式,内置向量数据库,可高效管理大模型和文档。它也是开源的,能与Ollama结合使用,提供安全、低成本的LLM体验。这两款工具旨在促进本地高效利用和管理LLMs。

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

Ollama

Ollama简介

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

Ollama的特点与优势

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

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

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

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

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

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

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

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

可以看到诸多模型如下:

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

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

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

ollama run llama3:8b

安装好后如下所示:

AnythingLLM

AnythingLLM简介

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

AnythingLLM特点

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

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

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

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

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

聊天中的引用文献功能

完全适用于云部署。

"自带 LLM "模型。

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

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

AnythingLLM下载

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

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

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

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

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

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

Ollama serve

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

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

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

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

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

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

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

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

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

另外一个值得关注的点是,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解决复杂语言任务,推动人工智能技术在各行各业的深入应用与普及。