当前位置: 首页 > article >正文

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

一、前言

继OpenAI和Google的产品发布会之后,大模型的能力进化速度之快令人惊叹,然而,对于很多个人和企业而言,为了数据安全不得不考虑私有化部署方案,从GPT-4发布以来,国内外的大模型就拉开了很明显的差距,能够实现的此路径无非就只剩下国内的开源大模型可以选择了。而现阶段切入大模型应用落地最合适的方案依然是结合大模型基于RAG检索增强来实现知识库的检索和生存。从而构建个人或者企业私有化的本地知识库。

你只需要将本地私有的 PDF、Word 文档和文本文件嵌入到本地向量库,连接上LLM,然后就可以通过对话、搜索的方式进行回答问题、提供见解,甚至生成摘要。

接下来我们就介绍一下 Mintplex Labs 的两个高度创新的开源项目。它们是 AnythingLLM(一种企业级解决方案,专为创建自定义 ChatBot(包括 RAG 模式)而设计)和 Vector Admin(一种用于有效管理多个向量存储的复杂管理 GUI)。

二、AnythingLLM

2.1、AnythingLLM 介绍

AnythingLLM 是 Mintplex Labs Inc. 开发的一款开源 ChatGPT 等效工具,用于在安全的环境中与文档等进行聊天,专为想要使用现有文档进行智能聊天或构建知识库的任何人而构建。

AnythingLLM 能够把各种文档、资料或者内容转换成一种格式,让LLM(如ChatGPT)在聊天时可以引用这些内容。然后你就可以用它来和各种文档、内容、资料聊天,支持多个用户同时使用,还可以设置谁能看或改哪些内容。 支持多种LLM、嵌入器和向量数据库。

AnythingLLM 不仅仅是另一个聊天机器人。它是一个全栈应用程序,这意味着它融合了从数据处理到用户界面的所有技术优势。最好的部分?它是开源且可定制的。这意味着如果您有技能,您可以根据自己的喜好进行调整。或者,如果您像我一样更喜欢现成的东西,那么它开箱即用,效果非常好。

2.2、AnythingLLM 特点

  • 多用户支持和权限管理:允许多个用户同时使用,并可设置不同的权限。
  • 支持多种文档类型:包括 PDF、TXT、DOCX 等。
  • 简易的文档管理界面:通过用户界面管理向量数据库中的文档。
  • 两种聊天模式:对话模式保留之前的问题和回答,查询模式则是简单的针对文档的问答
  • 聊天中的引用标注:链接到原始文档源和文本。
  • 简单的技术栈,便于快速迭代。
  • 100% 云部署就绪
  • “自带LLM”模式:可以选择使用商业或开源的 LLM。
  • 高效的成本节约措施:对于大型文档,只需嵌入一次,比其他文档聊天机器人解决方案节省 90% 的成本。
  • 完整的开发者 API:支持自定义集成

2.3、支持的 LLM、嵌入模型和向量数据库

  • LLM:包括任何开源的 llama.cpp 兼容模型、OpenAI、Azure OpenAI、Anthropic ClaudeV2、LM Studio 和 LocalAi。
  • 嵌入模型:AnythingLLM 原生嵌入器、OpenAI、Azure OpenAI、LM Studio 和 LocalAi。
  • 向量数据库:LanceDB(默认)、Pinecone、Chroma、Weaviate 和 QDrant。

2.4、技术概览

整个项目设计为单线程结构,主要由三部分组成:收集器、前端和服务器。

  • collector:Python 工具,可快速将在线资源或本地文档转换为 LLM 可用格式。
  • frontend:ViteJS + React 前端,用于创建和管理 LLM 可使用的所有内容。
  • server:NodeJS + Express 服务器,处理所有向量数据库管理和 LLM 交互。

首先,收集器是一个实用的Python工具,它使用户能够快速将来自在线资源(如指定的YouTube频道的视频、Medium文章、博客链接等)或本地文档中的可公开访问数据转换为LLM可用的格式。该应用程序的前端采用了vitejs 和React进行构建,通过Node.js和Express服务器处理所有LLM交互和VectorDB管理。这种设计使得用户能够在直观友好的界面中进行操作,并且通过高效的服务器架构实现快速响应和管理大规模的数据。

三、 Vector Admin

Mintplex Labs的Vector Admin是一个开源项目,旨在成为全栈应用程序,让用户完全控制通过API嵌入或使用LangChain等工具保存到数据库中的向量数据。以下是关于Vector Admin的一些详细信息:

  1. 功能特性
    • 多用户支持:Vector Admin是一个功能齐全的多用户产品,支持多个用户同时使用,并可设置不同的权限。
    • 数据迁移:无需重新嵌入即可复制整个文档或整个命名空间和嵌入。可以将整个现有向量数据库迁移到另一种类型或实例。
    • 自动回归测试:在新文档更新命名空间或集合时运行自动回归测试,以确保响应质量。
    • 完整的API支持:提供完整的API、JavaScript和Python独立客户端以及LangChain集成。
  2. 技术架构
    • 前端:采用vitejs和React进行构建,用于创建和管理LLM可使用的所有内容。
    • 后端:采用Node.js 和Express服务器处理所有LLM交互和VectorDB管理。
  3. 部署方式
    • 可以通过Docker在本地运行,也可以远程托管并同时管理多个向量数据库。
  4. 遥测功能 Vector Admin包含一个遥测功能,收集匿名使用信息,用于帮助了解Vector Admin的使用情况,以便优先处理新功能和错误修复的工作,并帮助改进Vector Admin的性能和稳定性。


http://www.kler.cn/a/525929.html

相关文章:

  • oracle中使用in 和 not in 查询效率分析
  • 控件【QT】
  • 对于RocksDB和LSM Tree的一些理解
  • 【MySQL】数据类型与表约束
  • 设想中的计算机语言:可执行对象的构造函数和析构函数
  • Vue.js路由管理与自定义指令深度剖析
  • Python | Pytorch | Tensor知识点总结
  • 智能汽车网络安全威胁报告
  • k8s--部署k8s集群--控制平面节点
  • 春节期间,景区和酒店如何合理用工?
  • DOM操作中childNodes与children的差异及封装方案
  • 算法随笔_30: 去除重复字母
  • 显示当前绑定变量
  • 【Elasticsearch】内置分词器和IK分词器
  • 【VASP】AIMD计算总结
  • 《千朵桃花一世开》浅谈
  • WGCLOUD服务器资源监控软件使用笔记 - Token is error是什么错误
  • Paddle和pytorch不可以同时引用
  • 实战LLM强化学习——使用GRPO(DeepSeek R1出圈算法)
  • 论文阅读(八):结构方程模型用于研究数量遗传学中的因果表型网络