← Přehled / ai-search / configuration / retrieval
Ovládací prvky výsledků
Tato nastavení určují, kolik výsledků se vrátí a jaké minimální skóre je vyžadováno. Filtrování výsledků podle atributů metadat, jako je složka nebo kategorie, najdete v Filtrování.
Práh shody
match_threshold nastavuje minimální skóre vektorové podobnosti, které musí část obsahu splnit, aby byla zahrnuta do výsledků. Hodnoty prahu se pohybují od 0 na 1. Práh filtruje podle skóre vektorové podobnosti, nikoli podle kombinovaného skóre vráceného v odpovědi.
- Vyšší práh znamená přísnější filtrování a vrací pouze velmi podobné shody.
- Nižší práh umožňuje širší shody, čímž zvyšuje úplnost, ale může snížit přesnost.
Maximální počet výsledků
max_num_results nastavení určuje počet vrácených nejlépe odpovídajících částí obsahu. Maximální povolená hodnota je 50.
- Vyšší hodnotu použijte, pokud chcete slučovat informace z více dokumentů. Poskytnutí více vstupních dat modelu však může zvýšit latenci i náklady.
- Nižší hodnotu použijte, pokud preferujete stručné odpovědi s minimálním kontextem.
Jak spolu fungují
- Váš dotaz se převede na vektor pomocí nakonfigurovaného embedding modelu.
- Prohledá se vyhledávací index. Pro hybridní vyhledávání, výsledky vektorového a klíčového vyhledávání se sloučí do jednoho seřazeného seznamu.
- Části obsahu se skóre vektorové podobnosti nižším než
match_thresholdse odfiltrují. - Filtrované výsledky jsou omezeny na
max_num_resultsa předá se do kroku generování jako kontext.
Pokud žádný výsledek nesplní práh, AI Search odpověď nevygeneruje.
Pokud reranking je povoleno, vytvoří se samostatný reranking.match_threshold lze nakonfigurovat tak, aby filtrovalo fragmenty podle jejich skóre rerankingu.
Přepsání pro jednotlivý požadavek
Tyto hodnoty lze nastavit na úrovni instance nebo je přepsat pro jednotlivý požadavek:
const instance = env.AI_SEARCH.get("my-instance");
const results = await instance.search({
messages: [{ role: "user", content: "What is Cloudflare?" }],
ai_search_options: {
retrieval: {
match_threshold: 0.5,
max_num_results: 10,
},
},
});