LangChain正式开源全栈应用程序AnythingLLM,为用户提供了构建私有ChatGPT的便利。无论是使用商业的现成LLM(Large Language Models),还是流行的开源LLM和VectorDB解决方案,您都可以轻松地在本地或远程托管中运行它,并智能地与提供的任何文档进行对话。
该应用程序包括两种聊天模式:对话模式和查询模式。在对话模式中,系统会保留之前的问题,使用户能够进行更连贯、深入的对话。而查询模式则专注于根据用户指定的文件进行简单的问答聊天。对于可公开访问的文档,每个聊天回复还包含指向原始内容的引用链接,使用户能够方便地查看来源。
项目地址:https://github.com/Mintplex-Labs/anything-llm
整个项目设计为单线程结构,主要由三部分组成:收集器、前端和服务器。首先,收集器是一个实用的Python工具,它使用户能够快速将来自在线资源(如指定的YouTube频道的视频、Medium文章、博客链接等)或本地文档中的可公开访问数据转换为LLM可用的格式。
该应用程序的前端采用了vitjs和React进行构建,通过Node.js和Express服务器处理所有LLM交互和VectorDB管理。这种设计使得用户能够在直观友好的界面中进行操作,并且通过高效的服务器架构实现快速响应和管理大规模的数据。
AnythingLLM提供了一个灵活而强大的工具,使用户能够充分利用现有的LLM技术,并在私有环境中构建自己的ChatGPT。无论是在解决特定问题还是进行深度对话,这个全栈应用程序都为用户提供了丰富的功能和交互体验。
核心功能:
工作空间管理: AnythingLLM 将您的文档划分为称为工作空间的对象。工作空间类似于线程,但额外包括对文档的容器化。工作空间可以共享文档,但它们之间不会互相通信,因此您可以保持每个工作空间的上下文清晰。
多用户实例支持和权限控制: 提供多用户支持和权限控制,确保用户能够安全管理和使用系统。
多文档类型支持: 支持多种文档类型,包括 PDF、TXT、DOCX 等,使系统更加灵活。
两种聊天模式: 提供对话和查询两种聊天模式。对话模式保留先前的问题和修改,而查询模式则是对文档的简单问答。