Anything LLM,一个全栈应用程序,使您能够将任何文档、资源或内容片段转换为任何LLM可以在聊天期间用作参考的上下文。该应用程序允许您选择要使用的LLM或矢量数据库,并支持多用户管理和权限。

AnythingLLM 将您的文档划分为名为 workspaces 的对象。工作区的功能很像线程,但增加了文档的容器化。工作区可以共享文档,但它们不会相互通信,因此您可以保持每个工作区的上下文干净。 

 

AnythingLLM 的一些很酷的功能

  • 多用户实例支持和权限
  • 多种文档类型支持(PDF、TXT、DOCX 等)
  • 通过简单的 UI 管理矢量数据库中的文档
  • 两种聊天模式 conversation 和 query 。对话保留了之前的问题和修正。Query 是针对您的文档的简单 QA
  • 聊天内引用链接到原始文档来源和文本
  • 简单的技术栈,快速迭代
  • 100% 云部署就绪。
  • “自带LLM”模式。
  • 用于管理非常大的文档的极其有效的成本节约措施。您永远不需要支付多次嵌入大量文档或成绩单的费用。比其他文档聊天机器人解决方案成本效益高 90%。
  • 用于自定义集成的完整开发人员 API!

     

支持的LLMs、嵌入模型和矢量数据库

支持的LLMs:

  • 任何开源 llama.cpp 兼容模型
  • OpenAI
  • Azure OpenAI Azure
  • Anthropic ClaudeV2
  • LM Studio(所有型号)
  • LocalAi(所有型号)


支持的嵌入模型:

  • OpenAI
  • Azure OpenAI Azure
  • Anthropic ClaudeV2
  • LM Studio(所有型号)
  • LocalAi(所有型号)

     

支持的矢量数据库:

  • LanceDB (default)
  • Pinecone
  • Chroma
  • Weaviate
  • QDrant

技术概述

 monorepo 包含三个主要部分:

  • collector :Python工具,使您能够快速将在线资源或本地文档转换为LLM可用格式。
  • frontend :一个 viteJS + React 前端,您可以运行它来轻松创建和管理 LLM 可以使用的所有内容。
  • server :一个nodeJS + Express服务器,用于处理所有交互并完成所有vectorDB管理和LLM交互。
  • docker :Docker 说明和构建过程+从源代码构建的信息。

缺点

  • 界面目前不可定制
  • 没有API接口
  • 支持的LLM、向量数据库还不够多
     

项目链接

https://github.com/Mintplex-Labs/anything-llm 

参考阅读

AnythingLLM:基于RAG方案构专属私有知识库(开源|高效|可定制)