Verba:终极 RAG 引擎 - 语义搜索、嵌入、矢量搜索等!

cover_image
原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!)

Verba:终极 RAG 引擎 - 语义搜索、嵌入、矢量搜索等!

🌟在本文中,我们将深入探讨 Verba,这是一款革命性的开源 rag 引擎。

使用 Verba,通过简单的几步操作,您可以轻松探索您的数据集并提取见解,无论是在本地使用 HuggingFace 和 Ollama,还是通过
OpenAI、Cohere 和 Google
等LLM提供商进行操作。

pip install goldenverba

什么是 Verba?

Verba
是一个完全可定制的个人助手,用于查询和与您的数据交互,无论是在本地还是通过云部署。解决文档中的问题,交叉引用多个数据点,或从现有知识库中获取见解。Verba
结合了最先进的 RAG 技术与 Weaviate 的上下文感知数据库。根据您的个人使用情况,在不同的 RAG 框架、数据类型、分块与检索技术以及 LLM
提供商之间进行选择。

功能列表

🤖 模型支持实现情况描述
Ollama(如Llama3)由 Ollama 提供的本地嵌入和生成模型
HuggingFace(如MiniLMEmbedder)由 HuggingFace 提供的本地嵌入模型
Cohere(如Command R+)由 Cohere 提供的嵌入和生成模型
Google(如Gemini)由 Google 提供的嵌入和生成模型
OpenAI(如GPT4)由 OpenAI 提供的嵌入和生成模型
📁 数据支持实现情况描述
PDF 导入将 PDF 导入 Verba
CSV/XLSX 导入将表格数据导入 Verba
多模态计划中 ⏱️将多模态数据导入 Verba
UnstructuredIO通过 Unstructured 导入数据
✨ RAG 功能实现情况描述
混合搜索语义搜索与关键词搜索相结合
语义缓存基于语义意义保存和检索结果
自动补全建议Verba 提供自动补全建议
过滤计划中 ⏱️执行 RAG 之前应用过滤器(如文档、文档类型等)
高级查询计划中 ⏱️基于 LLM 评估的任务委派
重新排名计划中 ⏱️基于上下文重新排名结果以改进结果
RAG 评估计划中 ⏱️用于评估 RAG 管道的界面
可自定义元数据计划中 ⏱️对元数据的自由控制
🆒 额外功能实现情况描述
Docker 支持Verba 可通过 Docker 部署
可定制前端Verba 的前端完全可定制
🤝 RAG 库实现情况描述
Haystack计划中 ⏱️实现 Haystack RAG 管道
LlamaIndex计划中 ⏱️实现 LlamaIndex RAG 管道
LangChain计划中 ⏱️实现 LangChain RAG 管道

缺少什么内容?欢迎创建新问题或讨论您的想法!

Verba入门指南

您有三种部署 Verba 的选项:

  • • 通过 pip 安装

    pip install goldenverba

  • • 从源码构建

    git clone https://github.com/weaviate/Verba

    pip install -e .

  • • 使用 Docker 进行部署

前提条件 :如果您不使用 Docker,请确保您的系统上安装了 Python >=3.10.0

如果您不熟悉 Python 和虚拟环境,请阅读 python 教程指南 。

API密钥

在启动 Verba 之前,您需要根据所选技术配置对各组件的访问,例如通过 .env 文件配置 OpenAI、Cohere 和 HuggingFace
的访问权限。在您要启动 Verba 的目录中创建此 .env 文件。您可以在 goldenverba 目录中找到 .env.example 文件。

请确保仅设置您打算使用的环境变量,缺少或不正确的环境变量值可能会导致错误。

以下是您可能需要的 API 密钥和变量的综合列表:

环境变量描述
WEAVIATE_URL_VERBA您的 Weaviate 集群的 URL连接到您的 WCS 集群
WEAVIATE_API_KEY_VERBA您的 Weaviate 集群的 API 凭证连接到您的 WCS 集群
OPENAI_API_KEY您的 API 密钥获取对 OpenAI 模型的访问权限
OPENAI_BASE_URLOpenAI 实例的 URL模型
COHERE_API_KEY您的 API 密钥获取对 Cohere 模型的访问权限
OLLAMA_URL您的 Ollama 实例的 URL(例如:http://localhost:11434 )获取对 Ollama
模型的访问权限
OLLAMA_MODEL模型名称(例如:llama)获取对特定 Ollama 模型的访问权限
UNSTRUCTURED_API_KEY您的 API 密钥获取对 Unstructured 数据导入的访问权限
UNSTRUCTURED_API_URLUnstructured 实例的 URL获取对 [Unstructured](https

😕/docs.unstructured.io/welcome) 数据导入的访问权限 | | HUGGINGFACEHUB_API_TOKEN | 您的
API 密钥 | 获取对 HuggingFace 模型的访问权限 | | HUGGINGFACEHUB_BASE_URL | HuggingFace
实例的 URL(例如:https://api-inference.huggingface.co/)| 获取对特定 HuggingFace 模型的访问权限
| | GOOGLE_APPLICATION_CREDENTIALS | JSON 文件路径或直接的 JSON 字符串(例如:JSON 字符串) | 获取对
Google 模型的访问权限 |


如何通过pip部署

在安装了 Python >=3.10.0 的系统上执行以下步骤:

  1. 1. 安装 goldenverba 包:
pip install goldenverba
  1. 1. 在 Verba 项目目录中创建 .env 文件。您可以使用示例文件 .env.example 来设置环境变量。最少需要设置以下环境变量:
OPENAI_API_KEY=您在 OpenAI 注册的 API 密钥
  1. 1. 启动 Verba:
verba

如何从源码构建

在安装了 Python >=3.10.0 的系统上执行以下步骤:

  1. 1. 克隆 Verba 仓库并导航到该目录:
git clone https://github.com/weaviate/Verba  
  
cd Verba
  1. 1. 安装 goldenverba 包:
pip install -e .
  1. 1. 在 Verba 项目目录中创建 .env 文件。您可以使用示例文件 .env.example 来设置环境变量。最少需要设置以下环境变量:
OPENAI_API_KEY=您在 OpenAI 注册的 API 密钥
  1. 1. 启动 Verba:
verba

如何通过Docker安装Verba

在安装了 Docker 的系统上执行以下步骤:

  1. 1. 在 Verba 项目目录中创建 .env 文件。您可以使用示例文件 .env.example 来设置环境变量。最少需要设置以下环境变量:
OPENAI_API_KEY=您在 OpenAI 注册的 API 密钥
  1. 1. 运行 Docker 容器:
docker run --rm -it --env-file .env goldenverba

您可以通过 docker-compose 文件来简化此过程。请参考 docker-compose 示例文件 。


💾 Verba演练

在成功安装 Verba 后,您可以通过以下步骤快速开始:

  1. 1. 访问 Verba 的 web 界面,默认为 http://localhost:8080。

  1. 2. 导入您的数据,例如上传一个 PDF 文件或 CSV 文件。

  1. 3. 开始查询您的数据,通过 Verba 的检索增强生成技术获取见解。

您可以参考 快速开始视频 了解更多。

🚩 已知问题

  • • 某些模型在特定数据集上表现不佳。

  • • 高并发请求可能导致响应时间较慢。

参考链接:
[1]https://github.com/weaviate/Verba

知音难求,自我修炼亦艰

抓住前沿技术的机遇,与我们一起成为创新的超级个体

(把握AIGC时代的个人力量)

** 点这里👇关注我,记得标星哦~ **

**
**

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

预览时标签不可点

微信扫一扫
关注该公众号

轻触阅读原文

AI进修生



收藏

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人脸属性编辑

目录 StyleFlow StyleFlow 对于属性约束采样: 一张图像Io经由StyleGAN等生成器反向编码后会得到18x512维度的W特征向量,每一个W代表某一个高层级的风格属性,而一张图像经由特定属性分类器分类回归后会得到不同的属性值。在这里有个对应关系,一张图像如果它可以被分类到相…

数学题目系列(一)|丑数|各位和|埃氏筛|欧拉筛

一.丑数 链接:丑数 分析: 丑数只有2,3,5这三个质因数,num 2a 3b 5c也就是一个丑数是由若干个2,3,5组成,那么丑数除以这若干个数字最后一定变为1 代码 class Solution {publi…

Docker安装、使用,容器化部署springboot项目

一、使用官方安装脚本自动安装 安装命令如下: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 也可以使用国内 daocloud 一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 二、Docker离线安装 1. 下载安装包 可…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.5,6 SPI驱动实验-ICM20608 ADC采样值

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

[数据集][图像分类]城市异常情况路边倒树火灾水灾交通事故分类数据集15223张8类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):15223 分类类别数:8 类别名称:[“badroad”,“fallentree”,“f…

【介绍下Spark MLlib机器学习】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

最优化练习题

def f(x):return x*x-4*x5 a0,b01,31、均匀搜索 令 δ ( b 0 − a 0 ) / N , a i a 0 i δ , i 1 , 2 , 3 \delta(b_0-a_0)/N,a_ia_0i\delta,i1,2,3 δ(b0​−a0​)/N,ai​a0​iδ,i1,2,3 while b0-a0>0.1:anp.linspace(a0,b0,5)for i in range(1,4):if f(a[i-1])>f…

RT-Thread

RT-Thread RT-Thread 版权属于上海睿赛德电子科技有限公司,于 2006年 1月首次发布,初始版 本号为0.1.0,经过 10来年的发展,如今主版本号已经升级到3.0,累计开发者达到数百万, 在各行各业产品中装机量达到了…

zabbix“专家坐诊”第241期问答

问题一 Q:华为交换机的100GE 1/0/1口的光模块收光值监测不到,有没有人碰到过这个问题呢?其他的端口都能监测到收光值,但是100GE 1/0/1口监测不到收光值。底层能查到,zabbix 6.0监控不到,以下是端口的报错信…

引用(C++)和内联函数

前言&#xff1a;本文主要讲解C语法中引用如何使用和使用时的一些技巧 基本语法 引用就是取别名 #include <iostream> using namespace std; int main() {int a 10;int& b a;//给a取别名为bcout << a << endl;cout << b << endl;return 0…

Apple开发者macOS描述文件创建

1.选择Profiles然后点击加号创建 2.选择类型为macOS App Development然后点击继续 3.选择描述类型与App ID 然后点击继续 4.选择证书然后点击继续 5.选择设备,然后点击继续 6.输入描述文件后,点击生成 生成成功,点击下载描述文件 下载完成会自动打开描述文件

1.Rust安装

目录 一、安装1.1 在Windows上安装1.2 在Linux下安装 二、包管理工具三、Hello World3.1 安装IDE3.2 输出Hello World 一、安装 1.1 在Windows上安装 点击页面 安装 Rust - Rust 程序设计语言 (rust-lang.org)&#xff0c;选择"下载RUSTUP-INIT.EXE(64位&#xff09;&qu…

一.网络基础——OSI七层模型

一.OSI七层模型 OSI&#xff08;Open System Interconnection&#xff0c;开放系统互连&#xff09;七层网络模型被称为开放式系统互联参考模型&#xff0c;它是一个逻辑上的定义和规范; 它把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备&#xff0c;比如路由器&…

SpringBoot高手之路04-Aop

文章目录 AOP 基础AOP概述start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖都会下载下来 AOP快速入门AOP核心概念 切入点表达式-execution AOP 基础 AOP概述 AOP 对特定的方法做增强 AOP 快速入门 start依赖,开发某一个功能,只需要下载这一个依赖,关于他的依赖…

python数据文件处理库-pandas

内容目录 一、pandas介绍二、数据加载和写出三、数据清洗四、数据转换五、数据查询和筛选六、数据统计七、数据可视化 pandas 是一个 Python提供的快速、灵活的数据结构处理包&#xff0c;让“关系型”或“标记型”数据的交互既简单又直观。 官网地址: https://pandas.pydata.o…

Polar Web 【简单】- 被黑掉的站

Polar Web 【简单】- 被黑掉的站 Contents Polar Web 【简单】- 被黑掉的站思路EXP运行&总结 思路 如题目所述&#xff0c;这是一个被黑掉的站点&#xff0c;由此不禁要了解该黑客发现了哪些可以入手的路径&#xff0c;或是留下了什么样的文件供持续访问。 目录扫描该站点发…

AI和机器人引领新一轮农业革命

AI和机器人技术在农业领域的应用正在迅速发展&#xff0c;未来它们可能会实现厘米级精度的自主耕作。 精确种植&#xff1a;AI算法可以分析土壤条件、气候数据和作物生长周期&#xff0c;以决定最佳种植地点和时间。 土壤管理&#xff1a;利用传感器和机器学习&#xff0c;机器…

Windows安装运行elasticsearch服务

官方下载地址&#xff1a;Download Elasticsearch | Elastic 我在linux上执行的下载命令&#xff1a;wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.5.3-linux-x86_64.tar.gz Elasticsearch&#xff08;简称ES&#xff09;是一款基于Apache Lu…

JVM学习-Arthas

Arthas Alibaba开源的Java诊断工具&#xff0c;在线排查问题&#xff0c;无需重启&#xff0c;动态跟踪Java代码&#xff0c;实时监控JVM状态Arthas支持JDK6&#xff0c;支持Linux/Mac/Windows&#xff0c;采用命令行交互模式&#xff0c;同时提供丰富的Tab自动补全功能&#…

前端传参数后端变量类型能够接受到List却无法接收到值

问题描述 今天写了个接口&#xff0c;下图所示 ReqVO里是这样的&#xff1a; 然后前端去请求&#xff0c;从请求结果中看发现这里值是在的&#xff08;有经验的可能就看出来了otherInfo.id: 这样以参数后端是接收不到的&#xff0c;但是当时没发现&#xff09; 传进来后端…