mirror of
https://github.com/qdrant/landing_page.git
synced 2026-09-25 14:08:30 +02:00
v3
This commit is contained in:
@@ -302,7 +302,7 @@ When a page moves into a guide section, add its former URL to `aliases`.
|
||||
|
||||
#### Articles
|
||||
|
||||
An article is listed under the category page in `content/articles/<category>/_index.md` that matches its `category`. To retire an article, set `draft: true` and add a `301` line to `static/_redirects`.
|
||||
An article is listed under the category page in `content/articles/<category>/_index.md` that matches its `category`. To retire an article, set `draft: true` and add its former URLs to `aliases` on the specific replacement page.
|
||||
|
||||
## Blog
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ category: search-quality
|
||||
|
||||
Most retrieval systems run one pipeline on every query, and it is the wrong default in both directions: a single pass under-serves the hard queries, while reranking or rewriting every query wastes compute on the easy ones. Worse, the single pass fails silently. When the relevant document never reaches the top, the system answers anyway from whatever it got, with no sign anything went wrong.
|
||||
|
||||
The expensive fixes are well understood, [cross-encoders](/documentation/fastembed/fastembed-rerankers/), [ColBERT late interaction](/articles/late-interaction-models/), query rewriting, and [decomposition](/documentation/search-tuning/query-decomposition/), so the real question is when to spend them: ideally you catch a weak retrieval cheaply, before paying for any of them, and escalate only the queries that need it. But what tells you, cheaply, that a retrieval is weak? That depends on how your retrieval fails, and we measure it across three corpora.
|
||||
The expensive fixes are well understood, [cross-encoders](/documentation/fastembed/fastembed-rerankers/), [ColBERT late interaction](/articles/late-interaction-models/), query rewriting, and [decomposition](/documentation/search-patterns/query-decomposition/), so the real question is when to spend them: ideally you catch a weak retrieval cheaply, before paying for any of them, and escalate only the queries that need it. But what tells you, cheaply, that a retrieval is weak? That depends on how your retrieval fails, and we measure it across three corpora.
|
||||
|
||||
## What "Weak Retrieval" Means
|
||||
|
||||
@@ -165,4 +165,4 @@ This sits alongside corrective and adaptive retrieval. The difference is where t
|
||||
- [Adaptive-RAG](https://arxiv.org/abs/2403.14403) routes on query complexity *before* retrieving, the question-shape approach this article argues against: gate on the evidence you got back, not the shape of the question.
|
||||
- [Sufficient-context work](https://arxiv.org/abs/2411.06037) asks the same "is this enough?" question with an LLM judge rather than a free signal.
|
||||
|
||||
*The full loop, corrective actions, and evaluation harness are in the [self-correcting retrieval loops workshop](https://github.com/qdrant-labs/self-correcting-loops-workshop). For the building blocks it escalates to, see [late interaction models](/articles/late-interaction-models/), [hybrid search](/articles/hybrid-search/), and [query decomposition](/documentation/search-tuning/query-decomposition/).*
|
||||
*The full loop, corrective actions, and evaluation harness are in the [self-correcting retrieval loops workshop](https://github.com/qdrant-labs/self-correcting-loops-workshop). For the building blocks it escalates to, see [late interaction models](/articles/late-interaction-models/), [hybrid search](/articles/hybrid-search/), and [query decomposition](/documentation/search-patterns/query-decomposition/).*
|
||||
|
||||
@@ -34,7 +34,7 @@ content:
|
||||
alt: ""
|
||||
link:
|
||||
text: Compare Models
|
||||
url: /documentation/search-tuning/choose-embedding-model/
|
||||
url: /documentation/search-patterns/choose-embedding-model/
|
||||
- title: How to Implement Multitenancy and Custom Sharding in Qdrant
|
||||
description: Choose shared collections, tenant filters, and shard placement as customer workloads grow.
|
||||
icon:
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: Search Patterns
|
||||
short_description: Choose embedding models, plan query decomposition, and apply payload filters to build search around your data and application needs.
|
||||
description: Design Qdrant search around your application by choosing embedding models, decomposing multi-hop queries, and filtering results with payload indexes.
|
||||
partition: learn
|
||||
learning_kind: guides
|
||||
weight: 115
|
||||
hideTOC: true
|
||||
breadcrumb: false
|
||||
aliases:
|
||||
- /documentation/search-design/
|
||||
guide_icon: /icons/outline/vectors-blue.svg
|
||||
content:
|
||||
- partial: documentation/banners/banner-a
|
||||
title: Search Patterns
|
||||
description: Choose how your search system represents data, handles questions, and narrows results.
|
||||
linkDescription: Choose the pattern that fits your application’s search needs.
|
||||
cloudButton:
|
||||
text: Choose an Embedding Model
|
||||
url: /documentation/search-patterns/choose-embedding-model/
|
||||
localButton:
|
||||
text: Plan Your Filters
|
||||
url: /documentation/search-patterns/vector-search-filtering/
|
||||
- partial: documentation/guides/guide-cards
|
||||
section: /documentation/search-patterns/
|
||||
---
|
||||
+2
@@ -12,6 +12,8 @@ weight: 10
|
||||
partition: learn
|
||||
learning_kind: guides
|
||||
aliases:
|
||||
- /documentation/search-design/choose-embedding-model/
|
||||
- /documentation/search-tuning/choose-embedding-model/
|
||||
- /articles/how-to-choose-an-embedding-model/
|
||||
---
|
||||
|
||||
+2
@@ -4,6 +4,8 @@ short_description: "Answer multi-hop questions by retrieving in steps: an LLM as
|
||||
description: "Answer multi-hop questions in Qdrant: decompose the query into retrieval steps, let an LLM ask each follow-up, and fuse results with RRF."
|
||||
weight: 20
|
||||
aliases:
|
||||
- /documentation/search-design/query-decomposition/
|
||||
- /documentation/search-tuning/query-decomposition/
|
||||
- /documentation/improve-search/query-decomposition/
|
||||
partition: learn
|
||||
learning_kind: guides
|
||||
+2
@@ -11,6 +11,8 @@ date: 2024-09-10T00:00:00.000Z
|
||||
partition: learn
|
||||
learning_kind: guides
|
||||
aliases:
|
||||
- /documentation/search-design/vector-search-filtering/
|
||||
- /documentation/search-tuning/vector-search-filtering/
|
||||
- /articles/vector-search-filtering/
|
||||
---
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Search Design & Tuning
|
||||
short_description: Choose embedding models, filters, and retrieval strategies, then tune candidate depth, fusion, reranking, and memory against your search goals.
|
||||
description: "Design and tune Qdrant search: choose embeddings and retrieval strategies, then evaluate changes to candidate depth, fusion, reranking, and memory."
|
||||
title: Search Tuning
|
||||
short_description: Tune candidate depth, fusion, reranking, and memory against your search goals, following the complete retrieval tuning series.
|
||||
description: "Tune Qdrant retrieval with measured changes to candidate depth, hybrid fusion, reranking, and memory use. Follow the six-part series in order."
|
||||
partition: learn
|
||||
learning_kind: guides
|
||||
weight: 125
|
||||
@@ -12,15 +12,15 @@ aliases:
|
||||
guide_icon: /icons/outline/speedometer-blue.svg
|
||||
content:
|
||||
- partial: documentation/banners/banner-a
|
||||
title: Search Design & Tuning
|
||||
description: Choose a search approach, then use evaluation results to decide what to change.
|
||||
linkDescription: Start with a design decision or follow the complete retrieval tuning series.
|
||||
title: Search Tuning
|
||||
description: Use evaluation results to decide what to change in your retrieval pipeline.
|
||||
linkDescription: Follow the tuning series in order, or open the part that matches your next decision.
|
||||
cloudButton:
|
||||
text: Choose an Embedding Model
|
||||
url: /documentation/search-tuning/choose-embedding-model/
|
||||
localButton:
|
||||
text: Start the Tuning Series
|
||||
url: /documentation/search-tuning/hybrid-search/
|
||||
localButton:
|
||||
text: Check Before Tuning
|
||||
url: /documentation/search-tuning/before-tuning-a-qdrant-collection/
|
||||
- partial: documentation/guides/guide-cards
|
||||
section: /documentation/search-tuning/
|
||||
guide_series_title: Tune Your Retrieval Pipeline
|
||||
|
||||
@@ -82,11 +82,16 @@ content:
|
||||
link:
|
||||
url: /documentation/production-patterns/
|
||||
text: Explore Production & Performance
|
||||
- title: Design and Tune Search
|
||||
description: Choose embeddings and retrieval strategies, then follow the tuning series to test improvements.
|
||||
- title: Choose Search Patterns
|
||||
description: Choose embedding models, plan query decomposition, and filter results for your application.
|
||||
link:
|
||||
url: /documentation/search-patterns/
|
||||
text: Explore Search Patterns
|
||||
- title: Tune Search Results
|
||||
description: Follow the retrieval tuning series to test candidate depth, fusion, reranking, and memory choices.
|
||||
link:
|
||||
url: /documentation/search-tuning/
|
||||
text: Explore Search Design & Tuning
|
||||
text: Explore Search Tuning
|
||||
---
|
||||
|
||||
# Learn
|
||||
|
||||
@@ -87,11 +87,3 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.guide-series-label {
|
||||
list-style: none;
|
||||
margin: $spacer * 0.75 0 $spacer * 0.25;
|
||||
font-size: pxToRem(12);
|
||||
font-weight: 600;
|
||||
color: $neutral-70;
|
||||
}
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
{{ $pages := slice }}
|
||||
{{ range .RegularPages.ByWeight }}
|
||||
{{ if not .Params.hideInSidebar }}
|
||||
{{ $pages = $pages | append (dict "title" .Title "url" .RelPermalink "series" .Params.guide_series) }}
|
||||
{{ $pages = $pages | append (dict "title" .Title "url" .RelPermalink) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $active := or (eq .RelPermalink $current) (and $isGuide (eq $.Parent .)) }}
|
||||
{{ $guideLinks = $guideLinks | append (dict "title" .Title "url" .RelPermalink "active" $active "children" $pages "seriesTitle" .Params.guide_series_title) }}
|
||||
{{ $guideLinks = $guideLinks | append (dict "title" .Title "url" .RelPermalink "active" $active "children" $pages) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $articleLinks := slice }}
|
||||
@@ -53,13 +53,7 @@
|
||||
<details class="guide-topic{{ if .active }} active{{ end }}" {{ if .active }}open{{ end }}>
|
||||
<summary{{ if eq .url $current }} class="active"{{ end }}><a href="{{ .url }}"><span>{{ .title }}</span></a></summary>
|
||||
<ul class="docs-menu__links-sub-submenu">
|
||||
{{ $seriesTitle := .seriesTitle }}
|
||||
{{ $seriesStarted := false }}
|
||||
{{ range .children }}
|
||||
{{ if and .series (not $seriesStarted) }}
|
||||
<li class="guide-series-label">{{ $seriesTitle }}</li>
|
||||
{{ $seriesStarted = true }}
|
||||
{{ end }}
|
||||
<li class="docs-menu__links-sub-submenu-item{{ if eq .url $current }} active{{ end }}">
|
||||
<a href="{{ .url }}" {{ if eq .url $current }}aria-current="page"{{ end }}>{{ .title }}</a>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user