Apply adversarial-review fixes to hybrid-queries and snippets

Address findings from a code-bot adversarial review of the hybrid-search
materials:

- `hybrid-formula-decay/` (all 7 language sources + http.md +
  `_description.md`): wrap the decay term in `MultExpression(mult=[0.1, ...])`
  in every language. Previously the snippets summed `$score` with
  `ExpDecayExpression` directly, modeling the failure mode the docs
  explicitly warn against (un-weighted decay crowds out small RRF scores).
  Also document the `defaults` requirement and the recommended datetime
  payload index in `_description.md`. Build validated across all 6 SDKs.

- `hybrid-rrf/go.go`: add `Limit: qdrant.PtrOf(uint64(20))` to both
  prefetches so the Go snippet matches the other language tabs.

- `hybrid-queries.md`:
  - Reframe the weighted-RRF intro to drop "semantic search model
    understands meaning better than a simple keyword matcher". On
    SciFact (the corpus in the companion notebook) BM25 actually beats
    dense, so the universal claim was contradicted by our own data.
  - Clarify that the notebook provides a tuning helper to adapt to a
    train/val split, not that it demonstrates the split itself.
  - Add a one-line note that Qdrant uses zero-based rank positions so
    readers can verify the RRF formula against actual scores.
  - Apply brand-voice fixes: Title Case on "Multi-Stage Queries" and
    "Re-Scoring Examples", replace "all the above techniques" with
    "all of these techniques".

`generated/*.md` regenerated via `./docker.sh ./generate-md.py`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dylan Couzon
2026-05-15 21:54:47 -04:00
co-authored by Claude Opus 4.7
parent fc299a0e9c
commit c0128a53bc
17 changed files with 169 additions and 94 deletions
@@ -16,10 +16,12 @@ client.Query(context.Background(), &qdrant.QueryPoints{
{
Query: qdrant.NewQuerySparse([]uint32{1, 42}, []float32{0.22, 0.8}),
Using: qdrant.PtrOf("sparse"),
Limit: qdrant.PtrOf(uint64(20)),
},
{
Query: qdrant.NewQueryDense([]float32{0.01, 0.45, 0.67}),
Using: qdrant.PtrOf("dense"),
Limit: qdrant.PtrOf(uint64(20)),
},
},
Query: qdrant.NewQueryRRF(&qdrant.Rrf{}),
@@ -20,10 +20,12 @@ func Main() {
{
Query: qdrant.NewQuerySparse([]uint32{1, 42}, []float32{0.22, 0.8}),
Using: qdrant.PtrOf("sparse"),
Limit: qdrant.PtrOf(uint64(20)),
},
{
Query: qdrant.NewQueryDense([]float32{0.01, 0.45, 0.67}),
Using: qdrant.PtrOf("dense"),
Limit: qdrant.PtrOf(uint64(20)),
},
},
Query: qdrant.NewQueryRRF(&qdrant.Rrf{}),