Byaldi 项目使用与启动教程
1. 项目介绍
Byaldi 是一个基于 ColPali 的简单封装库,旨在让开发者能够轻松使用晚期交互多模态模型,如 ColPALI。这个项目的灵感来源于 RAGatouille,目的是通过简化的 API 快速构建检索管道。
Byaldi 支持所有由 ColPali-engine 支持的模型,包括最新的 ColQwen2 检查点。该项目计划随着多模态生态系统的进一步发展,支持更多的模型和功能,如 HNSW 索引机制、池化和 2-bit 量化等。
2. 项目快速启动
首先,确保您的系统已安装以下依赖:
-
Poppler:用于将 PDF 转换为图像的工具。根据您的操作系统,按照以下命令安装:
- MacOS:
brew install poppler
- Debian/Ubuntu:
sudo apt-get install -y poppler-utils
- MacOS:
-
Flash-Attention:推荐安装最新版本的 Flash Attention 以确保兼容性。
pip install --upgrade byaldi pip install flash-attn
接下来,使用以下代码加载一个预训练模型:
from byaldi import RAGMultiModalModel
# 加载预训练模型
RAG = RAGMultiModalModel.from_pretrained("vidore/colqwen2-v1.0")
创建索引的代码示例如下:
# 创建索引
RAG.index(
input_path="docs/",
index_name="my_index",
store_collection_with_index=False,
doc_ids=[0, 1, 2],
metadata=[{"author": "John Doe", "date": "2021-01-01"}],
overwrite=True
)
搜索相关文档:
# 搜索文档
results = RAG.search("查询内容", k=3)
3. 应用案例和最佳实践
- 索引存储选择:根据您的资源情况,选择是否存储 base64 编码的文档。如果资源充足,选择存储可以简化工作流程。
- 多模态检索:Byaldi 可以处理 PDF 和图像文件,允许在多种类型的数据上执行检索。
- 元数据利用:在创建索引时添加元数据,可以在搜索结果中提供更多上下文信息。
4. 典型生态项目
Byaldi 是多模态检索生态系统的一部分,以下是一些相关的项目:
- ColPali:Byaldi 的底层库,提供了强大的多模态检索能力。
- VisRAG:计划支持的一种模型,可以进一步提高检索的准确性。
- RAGatouille:Byaldi 的灵感来源项目,也是一个多模态检索工具。
通过使用 Byaldi 和其生态中的其他项目,开发者可以构建出功能丰富、性能强大的多模态检索应用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考