anything-llm README

The project's README from github.com/Mintplex-Labs/anything-llm. As one markdown file: README.md.

[!NOTE] We are also working on Open Computer which gives an entire computer environment for AI Agents to use.

This will bring AnythingLLM's agent capabilities to a new level and a novel UX paradigm for AI Agent use.

⭐ Star the repo to stay updated!

AnythingLLM logo

Mintplex-Labs%2Fanything-llm | Trendshift

AnythingLLM: The all-in-one AI app you were looking for.
Chat with your docs, use AI Agents, hyper-configurable, multi-user, & no frustrating setup required.

Discord | License | Docs | Hosted Instance

English · 简体中文 · 日本語

👉 AnythingLLM for desktop (Mac, Windows, & Linux)! Download Now

Chat with your docs. Automate complex workflows with AI Agents. Hyper-configurable, multi-user ready, battle-tested—and runs locally by default with zero setup friction.

Chatting

Watch the demo!

Watch the video

Product Overview

AnythingLLM is the all-in-one AI application that lets you build a private, fully-featured ChatGPT—without compromises. Connect your favorite local or cloud LLM, ingest your documents, and start chatting in minutes. Out of the box you get built-in agents, multi-user support, vector databases, and document pipelines — no extra configuration required.

AnythingLLM supports multiple users as well where you can control the access and experience per user without compromising the security or privacy of the instance or your intellectual property.

Cool Features of AnythingLLM

Supported LLMs, Embedder Models, Speech models, and Vector Databases

Large Language Models (LLMs):

Embedder models:

Audio Transcription models:

TTS (text-to-speech) support:

STT (speech-to-text) support:

Vector Databases:

Technical Overview

This monorepo consists of six main sections:

🛳 Self-Hosting

Mintplex Labs & the community maintain a number of deployment methods, scripts, and templates that you can use to run AnythingLLM locally. Refer to the table below to read how to deploy on your preferred environment or to automatically deploy.

Docker AWS GCP Digital Ocean Render.com
[![Deploy on Docker][docker-btn]][docker-deploy] [![Deploy on AWS][aws-btn]][aws-deploy] [![Deploy on GCP][gcp-btn]][gcp-deploy] [![Deploy on DigitalOcean][do-btn]][do-deploy] [![Deploy on Render.com][render-btn]][render-deploy]
Railway RepoCloud Elestio Northflank Sealos
[![Deploy on Railway][railway-btn]][railway-deploy] [![Deploy on RepoCloud][repocloud-btn]][repocloud-deploy] [![Deploy on Elestio][elestio-btn]][elestio-deploy] [![Deploy on Northflank][northflank-btn]][northflank-deploy] [![Deploy on Sealos][sealos-btn]][sealos-deploy]

or set up a production AnythingLLM instance without Docker →

How to setup for development

Learn about documents

Telemetry & Privacy

AnythingLLM by Mintplex Labs Inc contains a telemetry feature that collects anonymous usage information.

More about Telemetry & Privacy for AnythingLLM

Why?

We use this information to help us understand how AnythingLLM is used, to help us prioritize work on new features and bug fixes, and to help us improve AnythingLLM's performance and stability.

Opting out

Set DISABLE_TELEMETRY in your server or docker .env settings to "true" to opt out of telemetry. You can also do this in-app by going to the sidebar > Privacy and disabling telemetry.

What do you explicitly track?

We will only track usage details that help us make product and roadmap decisions, specifically:

  • Type of your installation (Docker or Desktop)

  • When a document is added or removed. No information about the document. Just that the event occurred. This gives us an idea of use.

  • Type of vector database in use. This helps us prioritize changes when updates arrive for that provider.

  • Type of LLM provider & model tag in use. This helps us prioritize changes when updates arrive for that provider or model, or combination thereof. eg: reasoning vs regular, multi-modal models, etc.

  • When a chat is sent. This is the most regular "event" and gives us an idea of the daily-activity of this project across all installations. Again, only the event is sent - we have no information on the nature or content of the chat itself.

You can verify these claims by finding all locations Telemetry.sendTelemetry is called. Additionally these events are written to the output log so you can also see the specific data which was sent - if enabled. No IP or other identifying information is collected. The Telemetry provider is PostHog - an open-source telemetry collection service.

We take privacy very seriously, and we hope you understand that we want to learn how our tool is used, without using annoying popup surveys, so we can build something worth using. The anonymous data is never shared with third parties, ever.

View all telemetry events in source code

Other outbound connections

If you disable telemetry, you would still see outbound connections to the following services:

  • If using an external tool, LLM, Embedding models, or Vector databases, you will still see outbound connections to the respective service provider.
  • cdn.anythingllm.com for pulling models from our mirror CDN. This is not tracked by telemetry and is actually useful for those in VPN restricted regions.
  • github/githubusercontent.com There are some various flat files that are downloaded from these domains for context window caching.

Basically, if telemetry is disabled we don't collect anything. However, depending on your setup you may still see outbound connections and would be subject to the terms of service of the respective service provider.

👋 Contributing

💖 Sponsors

All Sponsors

User avatar: JaschaUser avatar: KickAssUser avatar: ShadowArcanistUser avatar: AtlasUser avatar: Predrag StojadinovićUser avatar: Diego SpinolaUser avatar: KyleUser avatar: Giulio De PasqualeUser avatar: User avatar: MacStadiumUser avatar: User avatar: User avatar: User avatar: User avatar: DennisUser avatar: Michael Hamilton, Ph.D.User avatar: User avatar: TernaryLabsUser avatar: Daniel CelaUser avatar: AlessoUser avatar: Rune MathisenUser avatar:

anything-llm (Mintplex-Labs/anything-llm)

Searching Database…

这是什么?AnythingLLM 是一款一体化的自托管 AI 应用,可以让你与文档对话、运行 AI 智能体,并借助本地或云端大模型,搭建私有的类 ChatGPT 体验。
这是可以嵌入代码的库,还是独立应用?这是一款独立应用:它是一个 monorepo,包含前端(ViteJS + React)、Node.js 服务器和文档收集服务,可以通过 Docker 部署,也可以安装适用于 Mac、Windows 和 Linux 的原生桌面应用。
我该如何让它运行起来?最简单的方法是下载适用于 Mac/Windows/Linux 的桌面应用,或者在 AWS、GCP、DigitalOcean 或 Render 等平台上一键部署 Docker 版本。开发时,运行 'yarn setup' 安装依赖并填写环境配置文件,然后分别启动服务器、收集器和前端。
我需要 API 密钥,还是可以完全在本地运行?运行无需 API 密钥,它开箱即支持本地大模型(如兼容 llama.cpp 的模型、Ollama、LM Studio、LocalAI);如果你愿意,也可以连接 OpenAI、Anthropic 或 Azure 等云端服务商。
多用户功能在桌面应用中也能用吗?不能。多用户权限管理、可嵌入的聊天组件,以及在工作区内浏览网页的智能体,都明确仅限 Docker 版本使用;桌面应用主要面向单实例使用。
这是只面向开发者,还是普通用户也能用?两类用户都可以使用:普通用户可以直接下载桌面应用,或使用托管实例;开发者则可以通过 Docker 自托管,使用完整的开发者 API,并构建自定义集成。
桌面应用支持哪些平台?Mac、Windows 和 Linux。
能否完全离线运行,不依赖任何云端服务?可以。它默认设计为本地运行,几乎无需任何设置,使用本地大模型、嵌入模型和 LanceDB 等向量数据库即可。
它支持哪些向量数据库?默认使用 LanceDB,同时支持 PGVector、Astra DB、Pinecone、Chroma、Weaviate、Qdrant、Milvus 和 Zilliz。
AnythingLLM 中的 AI 智能体能浏览网页或定时运行吗?可以。它内置了可以浏览网页的智能体,还提供定时任务,可按 cron 计划周期性运行提示词,并具备智能体的全部功能。
它支持模型上下文协议(MCP)吗?支持。AnythingLLM 兼容 MCP,可以为其智能体接入外部工具。
它能导入哪些类型的文档?支持多种文档类型,包括 PDF、TXT 和 DOCX,并提供直观的拖放式聊天界面,显示来源引用。
What are similar projects?ruflo, ODS, ragflow, SurfSense, brigade, dify, sim, llama-gpt
Size
92.8 MB
Stars
67.2K
Age
3y
Commits · 90 Days