RAGatouille

不活跃
GitHub Python Apache-2.0

简介

轻松使用和训练最先进的后期交互检索方法(ColBERT),模块化设计,可将 ColBERT 模型集成到任何 RAG 管道中,显著提升检索精度。

核心特性

  • ColBERT 后期交互检索:将先进的 ColBERT 模型封装为简单 API,无需深入了解检索论文即可在 RAG 管道中使用后期交互检索方法
  • 端到端训练与微调:内置 RAGTrainer 和 TrainingDataProcessor,自动处理数据去重、正负样本配对和硬负例挖掘,支持从零训练或微调预训练模型
  • 模块化可组合架构:DataProcessor、NegativeMiner 等组件可独立使用,也支持自定义 NegativeMiner 接入训练管道
  • 强大的零样本泛化能力:ColBERTv2 预训练模型在新领域展现出极强的零样本检索能力,无需大量标注数据即可快速适配
  • 简洁的三步工作流:索引文档(index)、查询检索(search)、训练微调(train),每个步骤都提供合理的默认参数和灵活的自定义选项

适用场景

💡 RAG 管道检索优化:替换传统密集嵌入(如 OpenAI text-embedding)的检索模块,使用 ColBERT 显著提升特定领域检索精度
💡 低资源领域检索:在标注数据稀缺的专业领域(医学、法律、科研),利用 ColBERT 的数据高效特性构建精准检索系统
💡 多语言检索系统:ColBERT 对非英语语言的高效训练能力,适合构建多语言文档检索和跨语言语义搜索应用
💡 检索模型定制化训练:针对特定业务场景训练专属的 ColBERT 检索模型,超越通用嵌入模型在特定领域的表现

快速开始

安装:pip install ragatouille;索引文档:from ragatouille import RAGPretrainedModel; model = RAGPretrainedModel.from_pretrained("colbert-ir/colbertv2.0"); model.index(collection=["doc1", "doc2", ...]);检索:results = model.search("query", k=10)

相关项目

相关文章