← Přehled / ai-search / configuration / indexing
Hybridní vyhledávání
Hybridní vyhledávání spouští vektorové a klíčové vyhledávání paralelně a slučuje výsledky. Vyžaduje klíčové vyhledávání povolené. Přehled режimů vyhledávání najdete v Režimy vyhledávání.
Povolte hybridní vyhledávání
Nastavte obě index_method.vector a index_method.keyword na true:
const instance = await env.AI_SEARCH.create({
id: "my-instance",
index_method: {
vector: true,
keyword: true,
},
fusion_method: "rrf",
});Chcete-li vypnout hybridní vyhledávání, nastavte index_method.keyword na false. Klíčový index se odstraní.
U každé metody vyhledávání můžete nakonfigurovat následující nastavení, kterými upravíte chování při načítání výsledků:
- Vektorové vyhledávání: Nakonfigurujte embedding model.
- Klíčové vyhledávání: Nakonfigurujte tokenizér a režim shody.
Metoda fúze
fusion_method je pole, které řídí způsob slučování výsledků vektorového a klíčového vyhledávání.
| Hodnota | Výchozí | Popis |
|---|---|---|
rrf |
Ano | Reciprocal Rank Fusion. Hodnotí výsledky podle pořadí u obou vyhledávacích metod. Doporučeno pro většinu případů použití. |
max |
Ne | Použije vyšší z normalizovaného vektorového skóre a skóre klíčových slov. Použijte, pokud je jedna metoda vyhledávání trvale relevantnější. |
Přeřazení
Po fúzi můžete volitelně použít reranking, který výsledky dále přeřadí podle sémantické relevance. Reranking využívá model cross-encoder, jenž posuzuje dotaz a každou část obsahu společně, což může zlepšit přesnost nad rámec toho, čeho dosahuje samotná fúze.
Reranking je ve výchozím nastavení zakázán. Viz Přeřazení kde ho povolíte a nakonfigurujete.
Přepsání pro jednotlivé požadavky
Přepsání nastavení vyhledávání pro jednotlivé požadavky pomocí ai_search_options.retrieval.
| Pole | Typ | Popis |
|---|---|---|
retrieval_type |
"vector", "keyword", nebo "hybrid" |
Vynutí konkrétní režim vyhledávání. Musí být kompatibilní s index_method. |
fusion_method |
"rrf" nebo "max" |
Přepsání metody fúze. |
const instance = env.AI_SEARCH.get("my-instance");
const results = await instance.search({
messages: [{ role: "user", content: "What is Cloudflare?" }],
ai_search_options: {
retrieval: {
retrieval_type: "hybrid",
fusion_method: "rrf",
},
},
});Podrobnosti o skóre
Když je aktivní hybridní vyhledávání, každá část obsahu obsahuje scoring_details objekt:
| Pole | Typ | Popis |
|---|---|---|
vector_score |
number | Skóre vektorové podobnosti (0 až 1). |
keyword_score |
number | Nezpracované skóre shody klíčových slov BM25. |
vector_rank |
number | Pořadí v sadě výsledků z vektorového vyhledávání. |
keyword_rank |
number | Pořadí v sadě výsledků z klíčového vyhledávání. |
fusion_method |
string | Použitá metoda fúze (rrf nebo max). |
reranking_score |
number | Skóre z modelu rerankingu, pokud je povolen. |
Limity
Instance se zapnutým klíčovým vyhledáváním podporují až 500 000 souborů na instanci v plánu Workers Paid, oproti 1 000 000 u čistě vektorových instancí. Přejděte na Limity a ceny pro úplný seznam limitů.