基于ChatGPT和私有知识库搭建Quivr项目

news2024/11/23 7:46:34

准备工作

  • 安装docker和docker-compose
  • 申请supabase账号

拉取Quivr代码

git clone https://github.com/StanGirard/Quivr.git

复制.XXXXX_env文件

cp .backend_env.example backend/.env
cp .frontend_env.example frontend/.env

更新backend/.envfrontend/.env文件

backend/.env

SUPABASE_URL=<change-me>
SUPABASE_SERVICE_KEY=<change-me>
OPENAI_API_KEY=<change-me>
ANTHROPIC_API_KEY=null
JWT_SECRET_KEY=<change-me>
AUTHENTICATE=true
GOOGLE_APPLICATION_CREDENTIALS=<change-me>
GOOGLE_CLOUD_PROJECT=<change-me>
MAX_BRAIN_SIZE=52428800
MAX_REQUESTS_NUMBER=200

#Private LLM Variables
PRIVATE=False
MODEL_PATH=./local_models/ggml-gpt4all-j-v1.3-groovy.bin

#RESEND
RESEND_API_KEY=

frontend/.env

NEXT_PUBLIC_ENV=local
NEXT_PUBLIC_BACKEND_URL=http://localhost:5050
NEXT_PUBLIC_SUPABASE_URL=<change-me>
NEXT_PUBLIC_SUPABASE_ANON_KEY=<change-me>
NEXT_PUBLIC_JUNE_API_KEY=<change-me>

SUPABASE_SERVICE_KEY可以在Supabase仪表板的“Project Settings”->“API”下找到。使用Project API keys部分中找到的anon public。
JWT_SECRET_KEY可以在“Project Settings”->“API”->“JWT Settings”设置中找到JWT Secret。

在Supabase的Web界面上运行迁移脚本

打开SQL Editor->New query->New blank query

将scripts目录下的tables.sql脚本内容粘贴到输入框,然后点击RUN执行。

启动项目

docker compose -f docker-compose.yml up --build 

在浏览器输入http://127.0.0.1:3000打开项目

 新建brain

 在upload上传pdf文件,然后在chat提问相关的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/752180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

靶场的安装

sqli-lab 1.将安装包解压放到WWW目录下 2.修改 db-creds.inc文件里面的数据库的用户名密码为自己的用户名密码 路径&#xff1a;D:\phpStudy_64\phpstudy_pro\WWW\sqli-labs-master\sql-connections\db-creds.inc 3. 更改php版本位5.9版本&#xff0c;不然会报错 4.安装数…

【采用有限元法技术计算固有频率和欧拉屈曲荷载】使用有限元法的柱子的固有频率和屈曲荷载(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Android JNI 异常处理 (十一)

🔥 Android Studio 版本 🔥 🔥 创建包含JNI的类 JNIException.java 🔥 package com.cmake.ndk1.jni;public class JNIException {static {System.loadLibrary("exception-lib");}public native void nativeInvokeJavaException();public native void nativ…

B站这些“搬运工”还能有这么高的流量吗?

飞瓜数据&#xff08;B站版&#xff09;观察发现&#xff0c;B站经常有一些搬运视频能够获得超高流量。 比如拉取近15天的B站热门视频&#xff0c;位列前排的就有两个是搬运二创视频&#xff0c;播放量高达900万上下&#xff0c;可以说是爆款视频了。 这些视频有一个相同的点就…

Qt Https通信: TLS initialization failed 解决方法

Qt Https通信&#xff1a; TLS initialization failed 解决方法&#xff0c;Window端使用Qt 做开发请求Https资源时&#xff0c;会经常遇到 TLS initialization failed。 原因分析&#xff1a; 在Qt中并未包含 SSL所包含的库&#xff0c;因此需要开发者&#xff0c;自己将库拷贝…

最新华为鸿蒙4.0安装谷歌服务框架,安装Play商店,谷歌Google,GMS

最近华为推出了最新鸿蒙4.0开发者Beta版本&#xff0c;让用户测试体验。那么测试体验的机器主要是最近发布的几款机器为P60,P60 Pro, mate50,mate50 pro等几款产品可以先期进行体验测试鸿蒙4.0&#xff0c;那么很多的用户在疑问我升级到鸿蒙4.0。是不是还是可以使用Google谷歌服…

LINUX环境小实验

实验报告 实验名称 小环境搭设 实验目的 1.搭建DHCP服务器&#xff08;IP&#xff1a;192.168.100.253静态IP网卡vmnet1&#xff09; 2.搭建DNS&#xff08;通过DHCP服务器分到指定的IP&#xff1a;192.168.100.252&#xff09; 3.搭建网站服务&#xff08;通过DHCP服务器分…

波分复用(WDM)基本原理

文章目录 波分复用WDMDWDM解决问题&#xff0c;特点&#xff0d;超长距离无电中继传输&#xff0c;降低成本 波分系统的基本组成DWDM网元基本类型波分常见站点类型OM/OD技术&#xff0d;波分复用器主要参数 DWDM系统关键技术光转发技术 OM/OD技术&#xff0d;波分复用器件 波分…

Bun 0.6.14发布,1.0版预计发布于9月7日

Bun 是一个 JavaScript 运行时。 Bun 是一个从头开始构建的新 JavaScript 运行时&#xff0c;旨在服务现代 JavaScript 生态系统。它有三个主要设计目标&#xff1a; 速度。包子启动快&#xff0c;运行也快。它扩展了 JavaScriptCore&#xff0c;即为 Safari 构建的注重性能的 …

Office如何通过VSTO进行PPT插件开发?

文章目录 0.引言1.工具准备2.PPT外接程序创建和生成3.外接程序生成并使用 0.引言 VSTO&#xff08;Visual Studio Tools for Office &#xff09;是VBA的替代&#xff0c;是一套用于创建自定义Office应用程序的Visual Studio工具包。VSTO可以用Visual Basic 或者Visual C#扩展O…

EIK+Filebeat+Kafka

目录 Kafka 概述 为什么需要消息队列&#xff08;MQ&#xff09; 使用消息队列的好处 消息队列的两种模式 Kafka 定义 Kafka 简介 Kafka 的特性 Kafka 系统架构 Partation 数据路由规则&#xff1a; 分区的原因 部署 kafka 集群 1.下载安装包 2.安装 Kafka 修改配…

【979. 在二叉树中分配硬币】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给定一个有 N 个结点的二叉树的根结点 root&#xff0c;树中的每个结点上都对应有 node.val 枚硬币&#xff0c;并且总共有 N 枚硬币。 在一次移动中&#xff0c;我们可以选择两个相邻的结点&#x…

【C++】list简单介绍

list基本功能介绍 前言正式开始构造函数push_backiteratorpush_frontinserterasespliceremoveuniquereversesortmerge 前言 本篇不会讲太多细节&#xff0c;就说一下STL库中一些函数的基本用法&#xff0c;如果想要了解细节上的东西的话&#xff0c;建议看我string的介绍&…

QT ui_xxx.h: no such file or directory”

使用QT新建子窗口后,编译无法通过 mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __cdecl labelwindow::labelwindow(class QWidget *)" (??0labelwindowQEAAPEAVQWidgetZ)&#xff0c;该符号在函数 "private: void __cdecl MainWindow::o…

android studio 添加并读取json配置文件

第一步&#xff1a;在android studio中添加json文件&#xff1b; 第二步&#xff1a;读取文件的函数 private String[] getJosnData(){String result[] null;List<String> list new ArrayList<>();try {//获取本地的Json文件AssetManager assetManager mConte…

界面控件DevExtreme v23.1新版亮点 - 全新的DateRangeBox组件

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff08;包括React&#xff0c;Angular&#xff0c;ASP.NET Core&#xff0c;jQuery&#xff0c;Knockout等&#xff09;构建交互式的Web应用程序。从Angular和Reac&#xff0c…

【Qt】 自定义列表控件

一、效果图 二、思路 先实现单个item控件&#xff0c;之后根据所需个数new出来插入布局中。item过多时支持滑动操作&#xff0c;可以把item放入scrollArea中&#xff0c;如需实现滑动效果可以使用eventFilter&#xff0c;计算坐标配合scrollArea->verticalScrollBar()->…

2023数字化转型研讨会:RockPlus MOM系统引领制造业变革

7月13日在淄博张店举办的2023年企业数字化转型研讨会上&#xff0c;RockPlus MOM制造运营系统闪耀登场&#xff0c;凭借其将精益生产与信息化相结合的理念&#xff0c;成为会议的一大焦点。该系统是由合共软件精心打造的&#xff0c;目标在供应链管理(SRM)、仓储物流(WMS)、计划…

这么多计算机语言该怎么选

这么多计算机语言该怎么选 选择哪种计算机语言取决于你的需求和目标。以下是一些考虑因素&#xff1a; 你想用语言做什么&#xff1a;首先&#xff0c;你需要确定你的语言选择将主要用于什么目的。是为了编写Web应用程序、移动应用程序、桌面应用程序还是其他类型的应用程序&…