Skip to content

fix(hybrid): 实现加权混合融合策略并启用 JUnit 5 测试#517

Open
hllypi wants to merge 1 commit intospring-ai-alibaba:mainfrom
hllypi:fix/weighted-hybrid-fusion
Open

fix(hybrid): 实现加权混合融合策略并启用 JUnit 5 测试#517
hllypi wants to merge 1 commit intospring-ai-alibaba:mainfrom
hllypi:fix/weighted-hybrid-fusion

Conversation

@hllypi
Copy link
Copy Markdown

@hllypi hllypi commented Apr 29, 2026

Describe what this PR does / why we need it

本 PR 修复混合检索中 weighted 融合策略不可用的问题。

当前项目已经支持通过 spring.ai.alibaba.data-agent.fusion-strategy=weighted 创建 WeightedAverageStrategy,但该策略原实现会直接抛出 UnsupportedOperationException,导致配置 weighted 后混合检索在结果融合阶段运行失败。

Does this pull request fix one issue?

NONE

Describe how you did it

  • 实现 WeightedAverageStrategy,支持多路检索结果的分数归一化、加权融合、文档去重、稳定排序和 TopK 截断。
  • HybridSearchRequest 中的 vectorWeight / keywordWeight 传递给融合策略,使向量检索和关键词检索权重配置真正生效。
  • 为 weighted 融合策略补充单元测试,覆盖空输入、TopK、重复文档合并、权重影响排序等场景。
  • 配置 Maven Surefire 版本为 3.2.5,确保 JUnit 5 测试能在默认 Maven test 生命周期中正常执行。

Describe how to verify it

执行以下命令验证相关测试:

mvn.cmd -pl data-agent-management "-Dtest=WeightedAverageStrategyTest,AbstractHybridRetrievalStrategyTest,DefaultHybridRetrievalStrategyTest" "-Dspotless.apply.skip=true" test

@hllypi hllypi changed the title fix(hybrid):实现加权混合融合策略并启用 JUnit 5 测试 fix(hybrid): 实现加权混合融合策略并启用 JUnit 5 测试 Apr 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant