• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kp-forks / txtai / 22150851549
100%

Build:
DEFAULT BRANCH: master
Ran 19 Feb 2026 05:49PM UTC
Jobs 1
Files 250
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Feb 2026 02:22PM UTC coverage: 99.571% (-0.4%) from 100.0%
22150851549

push

github

web-flow
Add log-odds conjunction fusion for BB25 hybrid search (#1041)

* Add log-odds conjunction fusion for BB25 hybrid search

BB25 normalization outputs calibrated probabilities, but the existing
hybrid fusion uses convex combination which discards the Bayesian
probability semantics. This causes BB25 to regress on 4/5 BEIR datasets.

Add log-odds conjunction fusion (from "From Bayesian Inference to Neural
Computation") that correctly combines probability signals in logit space
with per-query dynamic calibration for dense cosine scores.

- scoring/normalize.py: Extract Bayesian method check into isbayes()
- scoring/base.py: Add default isbayes() returning False
- scoring/tfidf.py: Add isbayes() delegating to normalizer
- search/base.py: Add logodds(), convex(), rrf() fusion methods;
  dispatch based on isbayes()

BEIR nDCG@10 results (BB25+LogOdds vs Default):
  arguana +2.23, fiqa +2.03, scidocs +0.62, scifact +1.33, nfcorpus -1.96

* Extract Hybrid class for score fusion strategies

Move logodds, convex, and rrf fusion methods from Search into
a dedicated Hybrid class, following the same pattern as Normalize.

* Fix coding convention issues in Hybrid class for CI

- Fix black formatting: remove unnecessary parentheses, remove spaces around **
- Fix pylint too-many-branches: extract calibrate() method from logodds()
- Fix pylint unused-variable: rename score to _ in rrf()

39 of 80 new or added lines in 6 files covered. (48.75%)

9510 of 9551 relevant lines covered (99.57%)

1.0 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
97.5
-2.5% src/python/txtai/scoring/base.py
40
41.18
src/python/txtai/embeddings/search/hybrid.py
Jobs
ID Job ID Ran Files Coverage
1 22150851549.1 19 Feb 2026 05:49PM UTC 250
99.57
GitHub Action Run
Source Files on build 22150851549
  • Tree
  • List 250
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 48f0962a on github
  • Prev Build on master (#22083023985)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc