
手把手带你在Windows中搭建本地知识库(基于ollama本地部署大模型+客户端安装版AnythingLLM)非docker环境部署
Ollama 提供了一系列的工具和服务,旨在简化大型语言模型的安装、配置和使用过程,让更多人能够体验到人工智能的强大能力。AnythingLLM是一个功能丰富,集成度很高的RAG框架,其在github上的开源项目(anything-llm),已经有1万2千多Star。它不仅仅是一个聊天机器人,是一个全栈应用程序,旨在通过一个精心设计的用户界面,为客户提供与文档、资源等进行智能对话的最简单方式
一、Ollama安装
Ollama 是一个专注于本地运行大型语言模型(LLM)的框架,它使得用户能够在自己的计算机上轻松地部署和使用大型语言模型,而无需依赖昂贵的GPU资源。Ollama 提供了一系列的工具和服务,旨在简化大型语言模型的安装、配置和使用过程,让更多人能够体验到人工智能的强大能力。Ollama的下载和安装直接从官网下载windows版本的客户端,直接点击客户端文件默认安装就行了,这里不再赘述。
二、安装AnythingLLM
2-1. AnythingLLM 简介
AnythingLLM 是 Mintplex Labs 开发的一款可以与任何内容聊天的私人ChatGPT,是高效、可定制、开源的企业级文档聊天机器人解决方案。它能够将任何文档、资源或内容片段转化为大语言模型(LLM)在聊天中可以利用的相关上下文。
AnythingLLM 支持多种文档类型(PDF、TXT、DOCX等),具有对话和查询两种聊天模式。
支持多种 LLM、嵌入模型和向量数据库:
LLM:包括任何开源的 llama.cpp 兼容模型、OpenAI、Azure OpenAI、Anthropic ClaudeV2、LM Studio 和 LocalAi。
嵌入模型:AnythingLLM 原生嵌入器、OpenAI、Azure OpenAI、LM Studio 和 LocalAI。
向量数据库:LanceDB(默认)、Pinecone、Chroma、Weaviate 和 QDrant。
AnythingLLM 主要由三部分组成:收集器、前端和服务器。
collector:Python 工具,可快速将在线资源或本地文档转换为 LLM 可用格式。
frontend:ViteJS + React 前端,用于创建和管理 LLM 可使用的所有内容。
server:NodeJS + Express 服务器,处理所有向量数据库管理和 LLM 交互。
可见,AnythingLLM是一个功能丰富,集成度很高的RAG框架,其在github上的开源项目(anything-llm),已经有1万2千多Star。它不仅仅是一个聊天机器人,是一个全栈应用程序,旨在通过一个精心设计的用户界面,为客户提供与文档、资源等进行智能对话的最简单方式。该工具的一个独特之处在于,它可以在后台简单地运行,而不需要使用大量的内存或资源。
AnythingLLM将文档的容器化作为其基础。在这种情况下,不同的工作区可以共享相同的记录,但不能相互交互,从而允许用户为不同的用例维护不同的工作区。AnythingLLM包括两种聊天模式:对话模式,其中保留以前的问题;查询模式,指针对用户指定的文档进行简单的问答聊天。此外,对于公开可访问的文档,每个聊天响应还包括一个引用,链接到原始内容。
2-1. AnythingLLM 安装
AnythingLLM安装有很多方式,一是到官方网站(Download AnythingLLM for Desktop)下载桌面版,然后双击安装即可。
桌面版Desktop版的功能与Docker版本相比,要少很多,建议如果是团队使用还是安装Docker版的。(如果对数据非常敏感的,建议还是使用桌面版)
docker版安装首先你的安装了docker,然后执行命令拉一个镜像:docker pull mintplexlabs/anythingllm
按照官方说明,输入下列命令:
# Run this in powershell terminal
$env:STORAGE_LOCATION="$HOME\Documents\anythingllm"; `
If(!(Test-Path $env:STORAGE_LOCATION)) {New-Item $env:STORAGE_LOCATION -ItemType Directory}; `
If(!(Test-Path "$env:STORAGE_LOCATION\.env")) {New-Item "$env:STORAGE_LOCATION\.env" -ItemType File}; `
docker run -d -p 3001:3001 `
--cap-add SYS_ADMIN `
-v "$env:STORAGE_LOCATION`:/app/server/storage" `
-v "$env:STORAGE_LOCATION\.env:/app/server/.env" `
-e STORAGE_DIR="/app/server/storage" `
mintplexlabs/anythingllm;
然后就开源打开浏览器,输入网址http://localhost:3001/,显示Anyting LLM入口。
2-3. AnythingLLM 配置
LLM配置选择 选择 Ollama,填入 Ollama 的 http://localhost:11434 端口,然后选择下载的模型。
Embedding 和向量数据库配置,可以选择AnythingLLM 自带的 AnythingLLMEmbedder,以及默认使用内置的向量数据库 LanceDB就行
三、AnythingLLM 测试
配置工作区worksapce
点击New Workspace新建文档库,填写名称test-llm-001。接着我们将一个文档内容存储为简单的txt文件,作为LLM的外部文档。点击按钮开始添加文档,并将文档移动到(工作区/Workspace),然后点击Save and Embed,出现Workspace updated successfully就表示配置已经完成了。以上就是以Ollama和AnythingLLM为实现手段,构建了本地知识库
四、相关补充
AnythingLLM 的桌面版和docker版区别
3-1. 功能差异
桌面版:
功能简洁:主要用于单用户本地使用,功能较为基础。
隐私保护:所有数据仅存储在本地设备上,适合对隐私要求较高的用户。
安装简单:通过官网下载安装包,一键安装。
Docker 版:
功能丰富:支持多用户访问、工作区隔离、权限管理等功能。
多用户支持:适合团队协作,管理员可以控制用户权限。
扩展性强:支持嵌入式聊天小部件,可集成到网站中。
配置灵活:可以通过 .env 文件自定义配置。
3-2. 部署方式
桌面版:
安装方式:直接从官网下载对应操作系统的安装包(如 .exe、.dmg 等),双击安装。
启动方式:安装完成后,直接点击桌面图标启动。
Docker 版:
安装方式:需要先安装 Docker,然后通过 Docker 拉取镜像并启动容器。
启动命令:
bash复制
docker pull mintplexlabs/anythingllm
docker run -d -p 3001:3001 \
--cap-add SYS_ADMIN \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm
其中,STORAGE_LOCATION 是本地存储路径。
访问方式:通过浏览器访问 http://localhost:3001。
3-3. 适用场景
桌面版:
个人使用:适合单用户在本地设备上使用,不需要复杂的配置。
隐私优先:适合对数据隐私要求较高的用户,所有数据仅存储在本地。
Docker 版:
团队协作:适合多人团队使用,支持多用户管理。
企业部署:适合需要在服务器上部署,支持多用户访问和管理。
集成扩展:适合需要将聊天功能集成到网站或应用中的场景。
4. 硬件要求
桌面版:
最低要求:建议至少 8GB 内存。
推荐配置:16GB 内存或更高。
Docker 版:
最低要求:建议至少 8GB 内存。
推荐配置:16GB 内存或更高。
5. 总结
如果你只需要单用户本地使用,且对隐私要求较高,推荐使用 桌面版。
如果你需要多用户支持、团队协作、扩展功能(如嵌入式聊天小部件),则推荐使用 Docker 版
更多推荐
所有评论(0)