AnythingLLM 项目介绍
AnythingLLM 是一个功能强大的全栈应用程序,旨在为用户提供一个全方位的 AI 聊天解决方案。它允许用户将任何文档、资源或内容转化为上下文,供任何大型语言模型(LLM)在聊天过程中作为参考使用。该应用程序具有以下主要特点:
核心功能
- 多模态支持: 支持包括闭源和开源在内的多种 LLM 模型。
- 多用户支持: 支持多用户实例和权限管理(Docker 版本)。
- 工作区 AI 代理: 可以在工作区中使用 AI 代理浏览网页、运行代码等。
- 嵌入式聊天小部件: 提供可嵌入网站的自定义聊天小部件(Docker 版本)。
- 多文档类型支持: 支持 PDF、TXT、DOCX 等多种文档格式。
- 简洁的聊天界面: 具有拖放功能和清晰的引用。
- 云部署就绪: 完全支持云部署。
- 广泛的 LLM 支持: 兼容多种流行的闭源和开源 LLM 提供商。
- 成本和时间优化: 内置措施以高效管理大型文档。
- 开发者 API: 提供完整的开发者 API 以支持自定义集成。
技术概览
AnythingLLM 项目由三个主要部分组成:
- 前端: 使用 viteJS + React 构建,提供易用的界面来创建和管理 LLM 可使用的内容。
- 服务器: 基于 NodeJS Express 构建,处理所有交互、向量数据库管理和 LLM 交互。
- 文档收集器: 另一个 NodeJS Express 服务器,用于处理和解析来自 UI 的文档。
此外,项目还包含 Docker 相关文件、嵌入式小部件子模块和浏览器扩展子模块。
支持的技术栈
AnythingLLM 支持多种流行的 LLM、嵌入模型、语音模型和向量数据库,包括但不限于:
- LLM: OpenAI、Azure OpenAI、AWS Bedrock、Anthropic 等。
- 嵌入模型: AnythingLLM 原生嵌入器、OpenAI、Azure OpenAI 等。
- 音频转录模型: AnythingLLM 内置模型、OpenAI。
- TTS 支持: 浏览器原生、PiperTTSLocal、OpenAI TTS 等。
- STT 支持: 浏览器原生。
- 向量数据库: LanceDB、Astra DB、Pinecone、Chroma 等。
部署和开发
AnythingLLM 提供多种部署方式,包括 Docker、AWS、GCP、Digital Ocean 等。对于开发者,项目提供了详细的本地开发设置指南。
隐私和遥测
AnythingLLM 包含遥测功能,收集匿名使用信息以改进产品。用户可以选择退出此功能。收集的数据仅限于安装类型、文档操作事件、使用的向量数据库和 LLM 类型等。
总的来说,AnythingLLM 是一个功能丰富、灵活可配置的 AI 聊天应用程序,适用于需要私密、可定制 AI 聊天解决方案的个人和组织。