大模型工具_QUIVR

https://github.com/StanGirard/quivr/ 24.5K Star

大模型工具_QUIVR_第1张图片

1 功能

  • 整体功能,想解决什么问题
    • 实现了前后端结合的 RAG 方案。构建能直接使用的应用。
    • 提出了“第二大脑”,具体实现也是RAG,但针对不同用户不同场景支持多个“大脑”并存,每个“大脑里”存储一个或多个文件,用户可使用指定的大脑提供搜索增强生成。
  • 当前解决了什么问题,哪些问题解决不了
    • QUIVR整体看是个很产品化的工具,但是过于复杂,在其中做修改和定制开发也很困难(运行时启动5个docker镜像)。
    • 整体技术栈相对新,对于一般人有一定学习成本
    • 一些细节略差,比如没有说明引用数据的具体内容,只有来自哪个文件(有时显示)。例如在一个大脑中上传多篇论文,问着问着内容就串了。
  • 提供哪些功能点,其中哪些是刚需
    • 核心是针对多组文档聊天的 RAG 功能
    • 可爬取网站,构建知识库
    • 提供一些 ollama 的本地部署方案
    • 可连接 telegram 通讯工具使用
  • 用户使用难度,操作逻辑是否过于复杂
    • 我测试时的版本,没有针对 linux 系统的脚本,需要手动修改调整,但整体还比较易用。

2 技术栈

  • 技术栈是什么
    • 分成:前端 +CMS+ 后端 + 数据库,略有点重
    • 前端:Next.js/React
    • 后端:fastapi/SupaBase
    • CMS:Strapi
    • 数据库:PGSQL/SupaBase
  • 现有底层工具消化了哪些常用功能
    • Supabase 存储数据库,文件、向量
    • 虽然使用了 langchain,但在代码中也自行实现了很多RAG加强功能
  • 代码分析(使用cloc工具统计)
    • TypeScript:17392 行 实现前端和cms
    • Python:6912 行 实现后端

3 商业模式

  • QUIVR使用 Supabase 存储数据,Supabase 网站提供一定免费额度,用量大时,按规则收费;如果不想付费,也可以自己搭一下Supabase。(我理解是一种 Saas 方案)

4 使用

4.1 安装

见 README.md

docker-compose up --build

运行之后启动了 四个后端服务,一个前端服务,一个redis,共5个docker 容器。
通过前端服务端口 3000 进行访问

4.2 注意事项
  • 如果需要使用代理,请修改frontend/.env加入HTTP_PROXY, HTTPS_PROXY环境变量;在docker-compose.yml中也要在build args中加代理
  • 配置文件中内容很多,至少要设置 OPEN API KEY,Supabase相关项,其它可以先不动。
  • 在Supabase控制台的数据中的vectors中可以看到文档内容已经入库。
4.3 使用
  • 打开 3000 端口:http://localhost:3000/
  • 用邮箱注册了一个用户,注册后可以在 supabase 用户管理界面看到。
  • 上传了一个论文 pdf 文件,约21页,20000单词,上传时间1分钟以内,大概是生成向量比聊天快很多。
  • 上传文件时,还可以聊天。
  • 在后台log可以看到其工作过程。
4.4 用后感

从用户注册,邮箱激活,服务部署到 supabase 访问 chatgpt。

5 参考

Quivr 基于Supabase构建本地知识库

如何用 ChatGPT 和你的卡片笔记对话?开源应用 Quivr 尝试

文档

你可能感兴趣的:(大模型,自然语言处理)