知识库与 RAGAI 资源
Fathom:多模态商品搜索与离线评测系统
anassoooo/fathom-search · Multimodal product search over 35K products: hybrid retrieval (dense + BM25 + CLIP), cross-encoder reranking, LLM query understanding, and offline evaluation. FastAPI + Qdrant + Next.js.
ELI5:它是什么,解决什么问题
Fathom 是一个面向 3.5 万余件 Amazon 商品的多模态检索项目,支持用文字或图片搜索商品。它把稠密向量、BM25 与 CLIP 文本到图像检索在服务端用 RRF 融合,再经 MiniLM 交叉编码器重排,并用 LLM 把“适合扁平足、80 美元以内的舒适跑鞋”这类口语化请求解析成干净查询、硬性预算和类目加权。项目包含数据质量审计、离线检索与查询理解评测报告,技术栈为 FastAPI、Qdrant、Next.js。
核心能力与快速开始
★ 0 · Python
- 能做什么
- 支持文本与图片两种查询方式,面向 35,736 件商品;混合检索融合稠密向量(bge-small)、BM25 稀疏检索与 CLIP 文本到图像,通过 RRF 在服务端融合;使用 MiniLM cross-encoder 对前 30 条结果重排;LLM 查询理解将自然语言请求解析为结构化 JSON(search_text、价格区间、价格意图、类目),价格作为硬过滤、类目作为软加权;管道各环节失败时降级而非报错(degraded 标记);包含数据契约审计(23 项检查)、经验贝叶斯评分先验、去重与 confident learning 质量标记;提供离线评测:查询生成、LLM 评判、bootstrap 置信区间、配对显著性检验;提供在线 CTR 指标与结构化日志。
- 适用场景
- 电商类多模态商品检索系统的设计与实现参考;需要文字加图片混合检索能力的商品目录搜索;研究和对比混合检索、重排与 LLM 查询理解的检索效果;检索管道的离线评测与数据质量审计实践参考;作为 FastAPI + Qdrant + Next.js 全栈检索应用的工程范例。
- 项目形态
- 可直接使用的工具
- 部署方式
- 后端 FastAPI 部署于 Azure Container Apps(缩容到零,空闲后首次请求最长约一分钟),前端 Next.js 部署于 Vercel,Qdrant Cloud 做向量库,Groq 提供 LLM,Neon Postgres 存储用户与购物车。本地运行需 Docker、uv 与 Node 22+,通过 docker compose 启动 Qdrant 和 Postgres。
- 主要依赖
- Python 3.12、FastAPI、Qdrant、fastembed(ONNX,支持 CPU 或 CUDA)、Groq(OpenAI 兼容接口)、Next.js 16、Prisma、Postgres;本地需 Docker、uv、Node 22+;Groq API key 可选,未配置时 full 模式回退到 hybrid_rerank。
- 使用限制
- 评测不完整:325 条查询中目前仅评判 49 条;full 变体结果尚未进入评判池,其数值为下界;LLM 评判与人工标注的一致性(Cohen's κ)尚未测量。商品文本仅有标题,12% 的标题只是品牌名(鞋类中达 97%),这些商品依赖图像向量。同时给出预算和“luxury”时后者意图被丢弃(prompt v1)。免费档托管下后端缩容到零,1 vCPU 上重排约 440 ms(GPU 上约 11 ms)。
- 许可证
- MIT
- 最近推送
- 2026-10-14 08:30
资料检查:2026-10-15 07:00 · 卡片整理:2026-10-16 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。