MetaX-Tech Developer Forum
  • 沐曦开发者
search
Sign in

shlysz

  • Members
  • Joined 2025年7月6日
  • message 帖子
  • forum 主题
  • favorite 关注者
  • favorite_border Follows
  • person_outline 详细信息

shlysz has posted 1 message.

  • See post chevron_right
    shlysz
    Members
    大模型应用开发心得 教学相长 2025年7月6日 20:24

    我们最近在做一个多模态大模型应用的比赛项目,核心任务是构建一个支持离线部署、支持多模态输入(文本、图像等)的 RAG 系统,用于用户信息抽取与表单自动填写。因为检索部分要求兼顾语义理解能力和关键词命中率,我在 Milvus 上实现了一个“稠密向量 + 稀疏 BM25 向量”的混合检索方案。

    具体来说,稠密向量用的是我们自己训练的 Qwen3 embedding 模型,稀疏向量通过 Milvus 的 function function(FunctionType.BM25)从 token 字段生成 sparse_vec,两者统一存储在一个 Collection 中。向量检索用 L2 距离,稀疏检索用 IP,Milvus 原生支持这两种索引的融合查询,我通过 PyMilvus ORM 写了封装类,包括 schema 管理、异步向量插入、BM25 搜索、向量搜索以及 hybrid 混合搜索等完整流程,代码支持 async/aw智算t,后续可以直接对接 FastAPI 做服务化。

    这种结构在 RAG 场景下表现很好,特别适合文本较长、结构复杂或者用户搜索词比较短的时候,能显著提升召回的精度和多样性。后续还计划引入 Ollama 的 Qwen3 reranker 来做打分重排。整体方案算是比较落地的一个实践,如果大家也在做相关任务,推荐试试这个“稀疏 + 稠密”的组合方案。效果比单一向量要强不少。

  • 沐曦开发者论坛
powered by misago