AnythingLLM:34K Star!一键上传文件轻松打造个人知识库,构建只属于你的AI助手,附详细部署教程

本文涉及的产品
图像搜索,任选一个服务类型 1个月
简介: AnythingLLM 是一个全栈应用程序,能够将文档、资源转换为上下文,支持多种大语言模型和向量数据库,提供智能聊天功能。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


大家好,我是蚝油菜花,今天跟大家分享一下 AnythingLLM 这个能够将任何文档、资源转换为 AI 知识库,构建私人 AI 助手的强大应用。

🚀 快速阅读

AnythingLLM 是一个全栈应用程序,能够将任何文档、资源转换为上下文,以便大语言模型(LLM)在聊天期间作为参考使用。

  1. 核心功能:支持多用户管理、多种 LLM 和向量数据库,提供智能聊天功能。
  2. 技术原理:通过工作区隔离不同内容,确保上下文清晰,并支持本地和云部署。

AnythingLLM 是什么

AnythingLLM-show.gif

AnythingLLM 是一个全栈应用程序,旨在将任何文档、资源(如网址链接、音频、视频)或内容片段转换为上下文,以便大语言模型(LLM)在聊天期间作为参考使用。该应用程序允许用户选择使用哪个 LLM 或向量数据库,并支持多用户管理和权限设置。

通过 AnythingLLM,用户可以轻松构建一个私有 ChatGPT,不再受制于第三方平台。您可以本地运行,也可以远程托管,并能够与您提供的任何文档智能聊天。

AnythingLLM 的主要功能

  • 多用户实例支持和权限管理:支持多个用户同时使用,管理员可以设置不同用户的权限。
  • 工作区内的智能体 Agent:Agent 可以浏览网页、运行代码等,帮助用户更高效地处理任务。
  • 可嵌入聊天窗口:为您的网站定制的可嵌入聊天窗口,方便集成到现有系统中。
  • 多种文档类型支持:支持 PDF、TXT、DOCX 等多种文档格式。
  • 文档管理:通过简单的用户界面管理向量数据库中的文档。
  • 两种对话模式:提供“聊天”和“查询”两种模式,满足不同的需求。
  • 引用文档内容:聊天中会自动引用相关文档的内容,确保信息准确。
  • 高效处理超大文档:只需要一次嵌入即可处理超大文档,节省时间和成本。
  • 开发者 API:提供全套的开发人员 API,便于自定义集成。

AnythingLLM 的技术原理

  • 前端:基于 ViteJS + React 构建,提供直观的用户界面,方便用户创建和管理 LLM 可使用的所有内容。
  • 后端:基于 NodeJS Express 服务器,处理所有交互并进行向量数据库管理和 LLM 交互。
  • Docker:提供 Docker 指令和构建过程,方便用户从源代码构建和部署。
  • 文档收集器:基于 NodeJS Express 服务器,负责从 UI 处理和解析文档。

AnythingLLM 的最小要求

为了确保 AnythingLLM 的顺利运行,建议满足以下最低要求:

  • 内存:至少 2GB RAM
  • 磁盘存储:推荐 10GB 以上,具体取决于存储的数据量(文档、向量、模型等)
  • 软件:需要安装 docker,以及 yarnnode(用于本地开发)
  • LLM 访问:需要访问本地或远程运行的语言模型

如何运行 AnythingLLM

1. 设置开发环境

  1. 安装依赖:在仓库根目录下运行 yarn setup,填充每个应用程序部分所需的 .env 文件。
  2. 启动服务器:运行 yarn dev:server 启动本地服务器。
  3. 启动前端:运行 yarn dev:frontend 启动本地前端。
  4. 启动文档收集器:运行 yarn dev:collector 启动文档收集器。

2. 自托管部署

Mintplex Labs 提供了多种部署方法,包括 Docker、AWS、GCP、Digital Ocean 和 Render.com。下面选择 Docker 作为部署方法进行详细介绍。

推荐使用 Docker 进行部署

为了确保 AnythingLLM 的最佳性能和稳定性,推荐使用 Docker 化部署。以下是详细的步骤:

1. 拉取最新镜像

首先,从 Docker Hub 拉取最新的 AnythingLLM 镜像:

docker pull mintplexlabs/anythingllm
AI 代码解读

2. 持久化存储

为了确保数据在容器重启后不会丢失,建议将容器的存储卷挂载到主机的文件夹中。这样可以在更新镜像时保留现有数据。

Linux/MacOS

export STORAGE_LOCATION=$HOME/anythingllm && \
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
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
AI 代码解读

Windows

# 在 PowerShell 终端中运行
$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;
AI 代码解读

3. 使用 Docker Compose

如果你更喜欢使用 Docker Compose,可以使用以下配置文件:

version: '3.8'
services:
  anythingllm:
    image: mintplexlabs/anythingllm
    container_name: anythingllm
    ports:
      - "3001:3001"
    cap_add:
      - SYS_ADMIN
    environment:
      - STORAGE_DIR=/app/server/storage
      - JWT_SECRET="make this a large list of random numbers and letters 20+"
      - LLM_PROVIDER=ollama
      - OLLAMA_BASE_PATH=http://127.0.0.1:11434
      - OLLAMA_MODEL_PREF=llama2
      - OLLAMA_MODEL_TOKEN_LIMIT=4096
      - EMBEDDING_ENGINE=ollama
      - EMBEDDING_BASE_PATH=http://127.0.0.1:11434
      - EMBEDDING_MODEL_PREF=nomic-embed-text:latest
      - EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192
      - VECTOR_DB=lancedb
      - WHISPER_PROVIDER=local
      - TTS_PROVIDER=native
      - PASSWORDMINCHAR=8
    volumes:
      - anythingllm_storage:/app/server/storage
    restart: always

volumes:
  anythingllm_storage:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /path/on/local/disk
AI 代码解读

4. 访问用户界面

完成上述步骤后,访问 http://localhost:3001 即可使用 AnythingLLM 的用户界面。所有数据和进度将持久保存,即使在容器重建或从 Docker Hub 拉取新镜像后也不会丢失。

常见问题解决

无法连接到本地服务

如果你在 Docker 容器中无法连接到主机上的服务(如 Chroma、LocalAI 或 LMStudio),请确保将 localhost 替换为 host.docker.internal。例如,如果 Ollama 在主机上运行并绑定到 http://127.0.0.1:11434,则应将连接 URL 设置为 http://host.docker.internal:11434

注意:在 Linux 上,http://host.docker.internal 不可用,应使用 http://172.17.0.1 作为替代。

API 无法工作,无法登录,LLM 离线

如果你在远程机器(如 EC2)上运行 Docker 容器,并且无法通过 http://localhost:3001 访问 API,请确保在 frontend/.env.production 中设置正确的 API 基础 URL。例如,如果 Docker 实例的 IP 地址为 192.186.1.222,则应将 VITE_API_BASE 设置为 VITE_API_BASE="http://192.186.1.222:3001/api"

Ollama 问题

如果你遇到与 Ollama 相关的错误(如 llama:streaming - could not stream chat. Error: connect ECONNREFUSED 172.17.0.1:11434),请参考 Ollama 常见问题 进行排查。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

目录
打赏
0
16
17
0
380
分享
相关文章
谷歌开源多智能体开发框架 Agent Development Kit:百行代码构建复杂AI代理,覆盖整个开发周期!
谷歌开源的Agent Development Kit(ADK)是首个代码优先的Python工具包,通过多智能体架构和灵活编排系统,支持开发者在百行代码内构建复杂AI代理,提供预置工具库与动态工作流定义能力。
115 3
谷歌开源多智能体开发框架 Agent Development Kit:百行代码构建复杂AI代理,覆盖整个开发周期!
光云科技 X AnalyticDB:构建 AI 时代下的云原生企业级数仓
AnalyticDB承载了光云海量数据的实时在线分析,为各个业务线的商家提供了丝滑的数据服务,实时物化视图、租户资源隔离、冷热分离等企业级特性,很好的解决了SaaS场景下的业务痛点,也平衡了成本。同时也基于通义+AnalyticDB研发了企业级智能客服、智能导购等行业解决方案,借助大模型和云计算为商家赋能。
48 17
15.4K Star!Vercel官方出品,零基础构建企业级AI聊天机器人
"基于Next.js 14和AI SDK打造的Chat SDK,让开发者快速构建支持多模态交互、代码执行、文件共享的智能对话系统,5分钟完成全栈部署!" —— Vercel AI Chatbot项目核心宣言
RAG 实战|用 StarRocks + DeepSeek 构建智能问答与企业知识库
本文由镜舟科技解决方案架构师石强与StarRocks TSC Member赵恒联合撰写,围绕RAG(检索增强生成)技术展开,结合DeepSeek和StarRocks构建智能问答系统。RAG通过外部知识检索与AI生成相结合,解决大模型知识静态、易编造信息的问题。文章详细介绍了系统组成、操作流程及优化方法,包括DeepSeek部署、StarRocks向量索引配置、知识存储与提取等环节,并通过代码示例演示了从文本向量化到生成回答的完整过程。最后,加入RAG机制后,系统性能显著提升,支持企业级知识库与智能客服场景。文中还提供了Web可视化界面实现方案,助力开发者快速上手。
【重磅】JeecgBoot 里程碑 v3.8.0 发布,支持 AI 大模型、应用、AI 流程编排和知识库
JeecgBoot 最新推出了一整套 AI 大模型功能,包括 AI 模型管理、AI 应用、知识库、AI 流程编排和 AI 对话助手。这标志着其转型为 “AI 低代码平台”,旨在帮助开发者快速构建和部署个性化 AI 应用,降低开发门槛,提升效率。
48 12
Yuxi-Know:开源智能问答系统,基于大模型RAG与知识图谱技术快速构建知识库
Yuxi-Know是一个结合大模型RAG知识库与知识图谱技术的智能问答平台,支持多格式文档处理和复杂知识关系查询,具备多模型适配和智能体拓展能力。
47 0
Yuxi-Know:开源智能问答系统,基于大模型RAG与知识图谱技术快速构建知识库
23.5K star!零代码构建AI知识库,这个开源神器让问答系统开发像搭积木一样简单!
FastGPT 是一个基于大语言模型的智能知识库平台,提供开箱即用的数据处理、RAG检索和可视化AI工作流编排能力,让你无需编写代码就能轻松构建复杂的问答系统!
90.9K star!一键部署AI聊天界面,这个开源项目让大模型交互更简单!
"像使用微信一样操作大模型!Open WebUI 让AI对话从未如此简单"
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
142 29
一键部署 Dify + MCP Server,高效开发 AI 智能体应用
本文将着重介绍如何通过 SAE 快速搭建 Dify AI 研发平台,依托 Serverless 架构提供全托管、免运维的解决方案,高效开发 AI 智能体应用。
2200 63

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等