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

news2024/12/23 13:46:10

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进修生



收藏

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

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

相关文章

Isaac Lab CartPole实验(摄像头版本)

Isaac Lab安装可以看这个教程:http://t.csdnimg.cn/SN7duhttp://t.csdnimg.cn/SN7du 1. 问题定义与建模 问题描述:CartPole问题是一个经典的强化学习问题,cartpole 由 cart和pole构成,其中一个小车(Cart)上…

深入解析 Web 开发中的强缓存与协商缓存机制

在 Web 开发中,缓存机制是提高页面加载速度和用户体验的重要技术。缓存分为两种主要类型:强缓存和协商缓存。本文将详细介绍这两种缓存机制的原理、实现方式及其区别,并演示如何在 <meta> 元素中和 Nginx 服务器中进行缓存控制。 强缓存 强缓存(Strong Caching)是指…

【机器学习】——驱动智能制造的青春力量,优化生产、预见故障、提升质量

目录 一.优化生产流程 1.1 数据收集 1.2 数据预处理 1.3 模型训练 1.4 优化建议 1.5 示例代码 二.预测设备故障 2.1 数据收集 2.2 数据预处理 2.3 模型训练 2.4 故障预测 2.5 示例代码 三.提升产品质量 3.1 数据收集 3.2 数据预处理 3.3 模型训练 3.4 质量提升…

X-Caps

用于对视觉属性进行编码的胶囊 补充信息 数据集太大&#xff0c;不建议复现

poi4.1导出excel支持xlx,xlsx格式,解决导出execl提示‘文件已经被损坏,无法打开‘

目录 一.maven jar包引入 二.xls格式 三.xlsx格式 一.maven jar包引入 注意&#xff0c;如果要用到xlsx格式&#xff0c;需要导入poi-ooxml <!-- https://mvnrepository.com/artifact/org.apache.poi/poi fx--><!-- 使用xls格式时,只要导入poi-version-yyyymmdd.ja…

# 全面解剖 消息中间件 RocketMQ-(4)

全面解剖 消息中间件 RocketMQ-&#xff08;4&#xff09; 一、RocketMQ 顺序消息分析 1、消息有序&#xff1a;指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ 可以严格的保证消息有序&#xff0c;可以分为分区有序或者全局有序。 2、顺序消费的原理解析 在默认的情…

oracle报错ORA-01940: cannot drop a user that is currently connected解决方法

目录 一.原因 二.解决方法 1.查询活动会话 2.记下SID和SERIAL# 3.断开会话 4.删除用户 一.原因 ORA-01940代表你正在删除一个有活动会话的用户 二.解决方法 1.查询活动会话 SQL> SELECT sid, serial#, username, programFROM v$sessionWHERE username 你要删除的u…

使用 Django Channels 构建实时聊天应用(包含用户认证和消息持久化)

文章目录 准备工作创建 Django 项目创建应用程序配置项目编写 Consumer编写路由创建 URL 路由运行应用用户认证消息持久化显示历史消息结论 Django Channels 是 Django 的一个扩展&#xff0c;允许在 Web 应用中添加实时功能&#xff0c;例如 Websockets、HTTP2 和其他协议。本…

CasaOS玩客云如何部署小雅AList并结合内网穿透远程访问海量资源

文章目录 前言1. 本地部署AList2. AList挂载网盘3. 部署小雅alist3.1 Token获取3.2 部署小雅3.3 挂载小雅alist到AList中 4. Cpolar内网穿透安装5. 创建公网地址6. 配置固定公网地址 前言 本文主要介绍如何在安装了CasaOS的玩客云主机中部署小雅AList&#xff0c;并在AList中挂…

原来Stable Diffusion是这样工作的

stable diffusion是一种潜在扩散模型&#xff0c;可以从文本生成人工智能图像。为什么叫做潜在扩散模型呢&#xff1f;这是因为与在高维图像空间中操作不同&#xff0c;它首先将图像压缩到潜在空间中&#xff0c;然后再进行操作。 在这篇文章中&#xff0c;我们将深入了解它到…

23中设计模式之一— — — —命令模式的详细介绍

命令模式 Command Pattern讲解 概念描述模式结构主要角色模式的UIM类图模式优点模式缺点应用场景实例演示类图代码演示运行结果 概念 命令模式&#xff08;别名&#xff1a;动作&#xff0c;事务&#xff09; 命令模式是一种行为设计模式&#xff0c;将一个请求封装为一个对象…

内网-2(代理)

一、代理概述 1、代理服务器(proxy server)&#xff1a;代理网络用户去取得网络信息&#xff0c;介于浏览器与web服务器之间的一条服务器。 注&#xff1a;为了方便&#xff0c;以下用B来代表浏览器的主机&#xff0c;S来代表服务器的主机。 2、正向代理和反向代理 正向代…

shell(一)

shell 既是脚本语言又是应用程序 查看自己linux系统的默认解析&#xff1a;echo $SHELL 创建第一个shell 文件 touch 01.sh编辑 vi 01.sh01.sh 文件内容 #!/bin/bash echo felicia保存 按Esc 然后输入:wq 定义以开头&#xff1a;#!/bin/bash #!用来声明脚本由什么shell解释…

如何在路由器上安装代理服务:详细教程

如何在路由器上安装代理服务&#xff1a;详细教程 步骤一&#xff1a;通过漏洞进入路由器系统开启Telnet服务使用Telnet登录路由器系统查看系统信息和CPU信息步骤二&#xff1a;交叉编译MIPS程序 Go对MIPS的支持 安装TFTP Server使用BusyBox tftp传输文件在路由器系统中下载编译…

Linux.小技巧快捷键

1. ctrl c 强制停止 终止某些程序的运行 也可以取消某行命令 2. ctrl d 退出或登出 进入python环境中&#xff0c;使用ctrl d 退出 3.history 查看历史使用了哪些命令 4. ! 历史最近使用的命令的开头 5.使用ctrl r 搜索历史使用的命令 按下 ctrl r 会进入 reverse -…

GIS赋能低空经济:开辟天空新蓝海

在21世纪的科技浪潮中&#xff0c;低空经济作为新兴业态正悄然崛起&#xff0c;成为继陆地、海洋之后的又一战略要地。本文旨在探讨GIS如何赋能低空经济&#xff0c;推动无人机应用、空中交通管理、低空物流、城市空域规划等领域的发展&#xff0c;开启天空经济的新纪元。 GIS…

Xmind Pro 2024 专业版激活码(附下载链接)

说到思维导图&#xff0c;就不能不提 Xmind。这是一款优秀的思维导图工具&#xff0c;拥有着丰富的导图模板&#xff0c;漂亮的界面和配色&#xff0c;以及各种各样的创意工具。 新架构速度更快 采用全新 Snowdancer 引擎&#xff0c;一种堪称「黑科技」的先进图形渲染技术。…

CrawlSpace爬虫部署框架介绍

CrawlSpace爬虫部署框架介绍 全新的爬虫部署框架&#xff0c;为了适应工作的爬虫部署的使用&#xff0c;需要自己开发一个在线编写爬虫及部署爬虫的框架&#xff0c;框架采用的是Django2.2bootstap依赖scrapyd开发的全新通用爬虫在线编辑部署及scrapy项目的部署框架。项目实现的…

VCRUNTIME140_1.dll是什么?VCRUNTIME140_1.dll缺失的7个不同解决方法详解

vcruntime140_1.dll是Microsoft Visual C 2015运行时库的一部分&#xff0c;它为使用Visual C 2015编译的应用程序提供了必要的运行时支持。该文件包含多个关键的运行时组件&#xff0c;包括标准模板库(STL)、C异常处理、内存管理等。 功能: vcruntime140_1.dll确保应用程序能…

在人工智能背景下,程序员要有什么职业素养,怎么改进

文章目录 1. 持续学习和适应能力原因改善方法 2. 跨学科知识原因改善方法 3. 高效的计算资源利用原因改善方法 4. 模型解释性和可控性原因改善方法 5. 数据隐私和安全意识原因改善方法 在AI大模型的背景下&#xff0c;程序员要有什么职业素养&#xff0c;怎么改进&#xff0c;才…