mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2024-11-10 17:00:11 +01:00
223 lines
13 KiB
Markdown
223 lines
13 KiB
Markdown
<a name="readme-top"></a>
|
||
|
||
<p align="center">
|
||
<a href="https://useanything.com"><img src="https://github.com/Mintplex-Labs/anything-llm/blob/master/images/wordmark.png?raw=true" alt="AnythingLLM logo"></a>
|
||
</p>
|
||
|
||
<p align="center">
|
||
<b>AnythingLLM:</b> 您一直在寻找的全方位AI应用程序。<br />
|
||
与您的文档聊天,使用AI代理,高度可配置,多用户,无需繁琐的设置。
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href="https://discord.gg/6UyHPeGZAC" target="_blank">
|
||
<img src="https://img.shields.io/badge/chat-mintplex_labs-blue.svg?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAH1UExURQAAAP////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////r6+ubn5+7u7/3+/v39/enq6urq6/v7+97f39rb26eoqT1BQ0pOT4+Rkuzs7cnKykZKS0NHSHl8fdzd3ejo6UxPUUBDRdzc3RwgIh8jJSAkJm5xcvHx8aanqB4iJFBTVezt7V5hYlJVVuLj43p9fiImKCMnKZKUlaaoqSElJ21wcfT09O3u7uvr6zE0Nr6/wCUpK5qcnf7+/nh7fEdKTHx+f0tPUOTl5aipqiouMGtubz5CRDQ4OsTGxufn515hY7a3uH1/gXBydIOFhlVYWvX29qaoqCQoKs7Pz/Pz87/AwUtOUNfY2dHR0mhrbOvr7E5RUy8zNXR2d/f39+Xl5UZJSx0hIzQ3Odra2/z8/GlsbaGjpERHSezs7L/BwScrLTQ4Odna2zM3Obm7u3x/gKSmp9jZ2T1AQu/v71pdXkVISr2+vygsLiInKTg7PaOlpisvMcXGxzk8PldaXPLy8u7u7rm6u7S1tsDBwvj4+MPExbe4ueXm5s/Q0Kyf7ewAAAAodFJOUwAABClsrNjx/QM2l9/7lhmI6jTB/kA1GgKJN+nea6vy/MLZQYeVKK3rVA5tAAAAAWJLR0QB/wIt3gAAAAd0SU1FB+cKBAAmMZBHjXIAAAISSURBVDjLY2CAAkYmZhZWNnYODnY2VhZmJkYGVMDIycXNw6sBBbw8fFycyEoYGfkFBDVQgKAAPyMjQl5IWEQDDYgIC8FUMDKKsmlgAWyiEBWMjGJY5YEqxMAqGMWFNXAAYXGgAkYJSQ2cQFKCkYFRShq3AmkpRgYJbghbU0tbB0Tr6ukbgGhDI10gySfBwCwDUWBsYmpmDqQtLK2sbTQ0bO3sHYA8GWYGWWj4WTs6Obu4ami4OTm7exhqeHp5+4DCVJZBDmqdr7ufn3+ArkZgkJ+fU3CIRmgYWFiOARYGvo5OQUHhEUAFTkF+kVHRsLBgkIeyYmLjwoOc4hMSk5JTnINS06DC8gwcEEZ6RqZGlpOfc3ZObl5+gZ+TR2ERWFyBQQFMF5eklmqUpQb5+ReU61ZUOvkFVVXXQBSAraitq29o1GiKcfLzc29u0mjxBzq0tQ0kww5xZHtHUGeXhkZhdxBYgZ4d0LI6c4gjwd7siQQraOp1AivQ6CuAKZCDBBRQQQNQgUb/BGf3cqCCiZOcnCe3QQIKHNRTpk6bDgpZjRkzg3pBQTBrdtCcuZCgluAD0vPmL1gIdvSixUuWgqNs2YJ+DUhkEYxuggkGmOQUcckrioPTJCOXEnZ5JS5YslbGnuyVERlDDFvGEUPOWvwqaH6RVkHKeuDMK6SKnHlVhTgx8jeTmqy6Eij7K6nLqiGyPwChsa1MUrnq1wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMy0xMC0wNFQwMDozODo0OSswMDowMB9V0a8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjMtMTAtMDRUMDA6Mzg6NDkrMDA6MDBuCGkTAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIzLTEwLTA0VDAwOjM4OjQ5KzAwOjAwOR1IzAAAAABJRU5ErkJggg==" alt="Discord">
|
||
</a> |
|
||
<a href="https://github.com/Mintplex-Labs/anything-llm/blob/master/LICENSE" target="_blank">
|
||
<img src="https://img.shields.io/static/v1?label=license&message=MIT&color=white" alt="许可证">
|
||
</a> |
|
||
<a href="https://docs.useanything.com" target="_blank">
|
||
文档
|
||
</a> |
|
||
<a href="https://my.mintplexlabs.com/aio-checkout?product=anythingllm" target="_blank">
|
||
托管实例
|
||
</a>
|
||
</p>
|
||
|
||
<p align="center">
|
||
<a href='/README.md'>English</a> · <b>简体中文</b>
|
||
</p>
|
||
|
||
<p align="center">
|
||
👉 适用于桌面(Mac、Windows和Linux)的AnythingLLM!<a href="https://useanything.com/download" target="_blank">立即下载</a>
|
||
</p>
|
||
|
||
这是一个全栈应用程序,可以将任何文档、资源(如网址链接、音频、视频)或内容片段转换为上下文,以便任何大语言模型(LLM)在聊天期间作为参考使用。此应用程序允许您选择使用哪个LLM或向量数据库,同时支持多用户管理并设置不同权限。
|
||
|
||
![聊天](https://github.com/Mintplex-Labs/anything-llm/assets/16845892/cfc5f47c-bd91-4067-986c-f3f49621a859)
|
||
|
||
<details>
|
||
<summary><kbd>观看演示视频!</kbd></summary>
|
||
|
||
[![观看视频](/images/youtube.png)](https://youtu.be/f95rGD9trL0)
|
||
|
||
</details>
|
||
|
||
### 产品概览
|
||
|
||
AnythingLLM是一个全栈应用程序,您可以使用现成的商业大语言模型或流行的开源大语言模型,再结合向量数据库解决方案构建一个私有ChatGPT,不再受制于人:您可以本地运行,也可以远程托管,并能够与您提供的任何文档智能聊天。
|
||
|
||
AnythingLLM将您的文档划分为称为`workspaces` (工作区)的对象。工作区的功能类似于线程,同时增加了文档的容器化,。工作区可以共享文档,但工作区之间的内容不会互相干扰或污染,因此您可以保持每个工作区的上下文清晰。
|
||
|
||
AnythingLLM的一些酷炫特性
|
||
|
||
- **多用户实例支持和权限管理**
|
||
- 工作区内的智能体Agent(浏览网页、运行代码等)
|
||
- [为您的网站定制的可嵌入聊天窗口](./embed/README.md)
|
||
- 支持多种文档类型(PDF、TXT、DOCX等)
|
||
- 通过简单的用户界面管理向量数据库中的文档
|
||
- 两种对话模式:`聊天`和`查询`。聊天模式保留先前的对话记录。查询模式则是是针对您的文档做简单问答
|
||
- 聊天中会提供所引用的相应文档内容
|
||
- 100%云部署就绪。
|
||
- “部署你自己的LLM模型”。
|
||
- 管理超大文档时高效、低耗。只需要一次就可以嵌入(Embedding)一个庞大的文档或文字记录。比其他文档聊天机器人解决方案节省90%的成本。
|
||
- 全套的开发人员API,用于自定义集成!
|
||
|
||
### 支持的LLM、嵌入模型、转录模型和向量数据库
|
||
|
||
**支持的LLM:**
|
||
|
||
- [任何与llama.cpp兼容的开源模型](/server/storage/models/README.md#text-generation-llm-selection)
|
||
- [OpenAI](https://openai.com)
|
||
- [OpenAI (通用)](https://openai.com)
|
||
- [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service)
|
||
- [Anthropic](https://www.anthropic.com/)
|
||
- [Google Gemini Pro](https://ai.google.dev/)
|
||
- [Hugging Face (聊天模型)](https://huggingface.co/)
|
||
- [Ollama (聊天模型)](https://ollama.ai/)
|
||
- [LM Studio (所有模型)](https://lmstudio.ai)
|
||
- [LocalAi (所有模型)](https://localai.io/)
|
||
- [Together AI (聊天模型)](https://www.together.ai/)
|
||
- [Perplexity (聊天模型)](https://www.perplexity.ai/)
|
||
- [OpenRouter (聊天模型)](https://openrouter.ai/)
|
||
- [Mistral](https://mistral.ai/)
|
||
- [Groq](https://groq.com/)
|
||
- [Cohere](https://cohere.com/)
|
||
- [KoboldCPP](https://github.com/LostRuins/koboldcpp)
|
||
|
||
**支持的嵌入模型:**
|
||
|
||
- [AnythingLLM原生嵌入器](/server/storage/models/README.md)(默认)
|
||
- [OpenAI](https://openai.com)
|
||
- [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service)
|
||
- [LocalAi (全部)](https://localai.io/)
|
||
- [Ollama (全部)](https://ollama.ai/)
|
||
- [LM Studio (全部)](https://lmstudio.ai)
|
||
- [Cohere](https://cohere.com/)
|
||
|
||
**支持的转录模型:**
|
||
|
||
- [AnythingLLM内置](https://github.com/Mintplex-Labs/anything-llm/tree/master/server/storage/models#audiovideo-transcription) (默认)
|
||
- [OpenAI](https://openai.com/)
|
||
|
||
**支持的向量数据库:**
|
||
|
||
- [LanceDB](https://github.com/lancedb/lancedb) (默认)
|
||
- [Astra DB](https://www.datastax.com/products/datastax-astra)
|
||
- [Pinecone](https://pinecone.io)
|
||
- [Chroma](https://trychroma.com)
|
||
- [Weaviate](https://weaviate.io)
|
||
- [QDrant](https://qdrant.tech)
|
||
- [Milvus](https://milvus.io)
|
||
- [Zilliz](https://zilliz.com)
|
||
|
||
### 技术概览
|
||
|
||
这个单库由三个主要部分组成:
|
||
|
||
- `frontend`: 一个viteJS + React前端,您可以运行它来轻松创建和管理LLM可以使用的所有内容。
|
||
- `server`: 一个NodeJS express服务器,用于处理所有交互并进行所有向量数据库管理和LLM交互。
|
||
- `docker`: Docker指令和构建过程 + 从源代码构建的信息。
|
||
- `collector`: NodeJS express服务器,用于从UI处理和解析文档。
|
||
|
||
## 🛳 自托管
|
||
|
||
Mintplex Labs和社区维护了许多部署方法、脚本和模板,您可以使用它们在本地运行AnythingLLM。请参阅下面的表格,了解如何在您喜欢的环境上部署,或自动部署。
|
||
| Docker | AWS | GCP | Digital Ocean | Render.com |
|
||
|----------------------------------------|----:|-----|---------------|------------|
|
||
| [![在Docker上部署][docker-btn]][docker-deploy] | [![在AWS上部署][aws-btn]][aws-deploy] | [![在GCP上部署][gcp-btn]][gcp-deploy] | [![在DigitalOcean上部署][do-btn]][do-deploy] | [![在Render.com上部署][render-btn]][render-deploy] |
|
||
|
||
| Railway |
|
||
| --------------------------------------------------- |
|
||
| [![在Railway上部署][railway-btn]][railway-deploy] |
|
||
|
||
[其他方案:不使用Docker配置AnythingLLM实例 →](./BARE_METAL.md)
|
||
|
||
## 如何设置开发环境
|
||
|
||
- `yarn setup` 填充每个应用程序部分所需的`.env`文件(从仓库的根目录)。
|
||
- 在开始下一步之前,先填写这些信息`server/.env.development`,不然代码无法正常执行。
|
||
- `yarn dev:server` 在本地启动服务器(从仓库的根目录)。
|
||
- `yarn dev:frontend` 在本地启动前端(从仓库的根目录)。
|
||
- `yarn dev:collector` 然后运行文档收集器(从仓库的根目录)。
|
||
|
||
[了解文档](./server/storage/documents/DOCUMENTS.md)
|
||
|
||
[了解向量缓存](./server/storage/vector-cache/VECTOR_CACHE.md)
|
||
|
||
## 如何贡献
|
||
|
||
- 创建issue
|
||
- 创建PR,分支名称格式为`<issue number>-<short name>`
|
||
- 然后合并
|
||
|
||
## 远程信息收集与隐私保护
|
||
|
||
由Mintplex Labs Inc开发的AnythingLLM包含一个收集匿名使用信息的Telemetry功能。
|
||
|
||
<details>
|
||
<summary><kbd>有关AnythingLLM的远程信息收集与隐私保护更多信息</kbd></summary>
|
||
|
||
|
||
|
||
|
||
### 为什么收集信息?
|
||
|
||
我们使用这些信息来帮助我们理解AnythingLLM的使用情况,帮助我们确定新功能和错误修复的优先级,并帮助我们提高AnythingLLM的性能和稳定性。
|
||
|
||
### 怎样关闭
|
||
|
||
通过在服务器或docker的.env设置中将`DISABLE_TELEMETRY`设置为“true”来选择退出Telemetry远程信息收集功能。您也可以进入AnythingLLM应用>>>侧边栏最下方 >>> `隐私和数据` (Privacy&Data)>>>找到最下方的Anonymous Telemetry Enabled,点击绿色按钮让它变灰色,从而禁用信息收集功能。
|
||
|
||
### 你们跟踪收集哪些信息?
|
||
|
||
我们只会跟踪有助于我们做出产品和路线图决策的使用细节,具体包括:
|
||
|
||
- 您的安装方式(Docker或桌面版)
|
||
- 文档被添加或移除的时间。但不包括文档内的具体内容。我们只关注添加或移除文档这个行为。这些信息能让我们了解到文档功能的使用情况。
|
||
- 使用中的向量数据库类型。让我们知道哪个向量数据库最受欢迎,并在后续更新中优先考虑相应的数据库。
|
||
- 使用中的LLM类型。让我们知道谁才是最受欢迎的LLM模型,并在后续更新中优先考虑相应模型。
|
||
- 信息被`发送`出去。这是最常规的“事件/行为/event”,并让我们了解到所有安装了这个项目的每日活动情况。同样,只收集`发送`这个行为的信息,我们不会收集关于聊天本身的性质或内容的任何信息。
|
||
|
||
您可以通过查找所有调用`Telemetry.sendTelemetry`的位置来验证这些声明。此外,如果启用,这些事件也会被写入输出日志,因此您也可以看到发送了哪些具体数据。不收集IP或其他识别信息。Telemetry远程信息收集的方案来自[PostHog](https://posthog.com/) - 一个开源的远程信息收集服务。
|
||
|
||
[在源代码中查看所有信息收集活动](https://github.com/search?q=repo%3AMintplex-Labs%2Fanything-llm%20.sendTelemetry\(&type=code)
|
||
|
||
</details>
|
||
|
||
## 🔗 更多产品
|
||
|
||
- **[VectorAdmin][vector-admin]**:一个用于管理向量数据库的全方位GUI和工具套件。
|
||
- **[OpenAI Assistant Swarm][assistant-swarm]**:一个智能体Agent就可以管理您所有的OpenAI助手。
|
||
|
||
<div align="right">
|
||
|
||
[![][back-to-top]](#readme-top)
|
||
|
||
</div>
|
||
|
||
---
|
||
|
||
版权所有 © 2024 [Mintplex Labs][profile-link]。<br />
|
||
本项目采用[MIT](./LICENSE)许可证。
|
||
|
||
<!-- LINK GROUP -->
|
||
|
||
[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-222628?style=flat-square
|
||
[profile-link]: https://github.com/mintplex-labs
|
||
[vector-admin]: https://github.com/mintplex-labs/vector-admin
|
||
[assistant-swarm]: https://github.com/Mintplex-Labs/openai-assistant-swarm
|
||
[docker-btn]: ./images/deployBtns/docker.png
|
||
[docker-deploy]: ./docker/HOW_TO_USE_DOCKER.md
|
||
[aws-btn]: ./images/deployBtns/aws.png
|
||
[aws-deploy]: ./cloud-deployments/aws/cloudformation/DEPLOY.md
|
||
[gcp-btn]: https://deploy.cloud.run/button.svg
|
||
[gcp-deploy]: ./cloud-deployments/gcp/deployment/DEPLOY.md
|
||
[do-btn]: https://www.deploytodo.com/do-btn-blue.svg
|
||
[do-deploy]: ./cloud-deployments/digitalocean/terraform/DEPLOY.md
|
||
[render-btn]: https://render.com/images/deploy-to-render-button.svg
|
||
[render-deploy]: https://render.com/deploy?repo=https://github.com/Mintplex-Labs/anything-llm&branch=render
|
||
[render-btn]: https://render.com/images/deploy-to-render-button.svg
|
||
[render-deploy]: https://render.com/deploy?repo=https://github.com/Mintplex-Labs/anything-llm&branch=render
|
||
[railway-btn]: https://railway.app/button.svg
|
||
[railway-deploy]: https://railway.app/template/HNSCS1?referralCode=WFgJkn |