ggozad/haiku.rag
Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling
解决的问题
Haiku RAG 提供了一个从文档中检索信息的全面系统,允许用户对数据进行提问并进行复杂的分析。它通过对文档进行索引并检索最相关的文本和图像块,同时提供原始素材的引用,解决了 LLM 上下文窗口受限的问题。
工作原理
该系统结合使用向量搜索和全文搜索(混合搜索)以及 Reciprocal Rank Fusion 来查找相关内容。它集成了 Docling 以实现文档结构感知,并使用 LanceDB 进行本地优先的嵌入式存储。对于高级查询,它使用具备视觉能力的模型来分析文档中嵌入的图像,并使用沙箱 Python 环境来执行聚合和计算等分析任务的代码。
适用对象
需要支持多模态搜索(文本和图像)、本地优先存储以及通过 Model Context Protocol (MCP) 与 AI 助手集成的生产级 RAG 系统的开发人员和研究人员。
亮点
- 多模态搜索:支持以文本作为查询来查找图像,以及以图像作为查询来进行检索。
- 代理能力:包括用于复杂分析任务的沙箱 Python 环境和多轮对话记忆。
- 生产级摄取器:具有持久队列和工作池的长期运行服务,可从 S3、HTTP 和本地文件系统进行持续索引。
- 可扩展的提供商支持:兼容包括 Ollama、OpenAI 和 vLLM 在内的多种嵌入和问答提供商。
- 视觉落地 (Visual Grounding):允许用户在原始页面图像上查看高亮显示的文本块以进行验证。