🇬🇧 EN
🇮🇹 IT

📊 Reranker

Prende un elenco di risultati di ricerca e una query, poi li riordina usando un modello cross-encoder per una maggiore precisione. Da usare dopo un nodo RAG Query o Web Search per portare i risultati più pertinenti in cima.

Categoria: Recupero Dati & Elaborazione  ·  Identificatore tipo: reranker

Panoramica

La ricerca vettoriale standard e la ricerca per parole chiave classificano i risultati tramite punteggi di similarità calcolati indipendentemente per ogni documento, senza considerare la relazione tra la query e ciascun risultato in modo olistico. Un reranker cross-encoder risolve questo problema valutando la query e ciascun risultato candidato insieme, producendo un punteggio di pertinenza più accurato.

Il nodo Reranker accetta l'output di qualsiasi nodo che produce un array di risultati — come un RAG Query o Web Search — e restituisce gli stessi risultati riordinati per punteggio di pertinenza. Puoi opzionalmente limitare l'output ai primi N risultati, il che è utile per controllare quanto contesto passi a un nodo Agent a valle.

Il pattern consigliato è: RAG Query → Reranker → Agent. Il RAG Query recupera un ampio set di chunk candidati; il Reranker promuove quelli più pertinenti; l'Agent riceve una finestra di contesto più ristretta e di qualità superiore.

Configurazione

CampoStatoDescrizione
Risultati Obbligatorio Riferimento all'array di risultati di uno step precedente, es. {{ rag_step.output.results }}. Ogni elemento deve avere un campo content o text.
Query Obbligatorio La query di ricerca usata per classificare i risultati. Di solito la stessa query passata allo step di ricerca precedente.
Provider Obbligatorio Il provider AI da usare per il reranking. Deve supportare modelli di reranking (es. Cohere, OpenAI).
Modello Obbligatorio L'identificatore del modello cross-encoder, es. rerank-english-v3.0.
Top K Opzionale Restituisci solo i primi N risultati dopo il reranking. Predefinito: 5. Lascia vuoto per restituire tutti gli elementi.

Dati di Output

Il nodo restituisce i risultati in input riordinati per pertinenza, con un campo score aggiunto a ogni elemento.

CampoTipoDescrizione
resultsarrayArray riordinato di oggetti risultato, ciascuno con i campi originali più una proprietà score
results[*].scorenumberPunteggio di pertinenza (0–1, più alto è più pertinente)
results[*].contentstringIl testo del risultato
countnumberNumero di risultati restituiti
{{ reranker_step.output.results }} {{ reranker_step.output.results[0].score }} {{ reranker_step.output.results[0].content }} {{ reranker_step.output.count }}

Esempio di Utilizzo

RAG → Reranker → Agent, assicurando che l'agente veda prima i chunk più pertinenti.

  1. Aggiungi un nodo RAG Query. Imposta Top K su 20 per recuperare un ampio set di candidati. Usa la chiave step rag_query.
  2. Aggiungi un nodo Reranker. Imposta Risultati su {{ rag_query.output.results }}, Query sulla stessa variabile di query, Provider su Cohere, Modello su rerank-english-v3.0 e Top K su 5.
  3. Aggiungi un nodo Agent. Passa {{ reranker_step.output.results }} come contesto. L'agente ora riceve solo i 5 chunk più pertinenti.

Suggerimenti e Note

Nodi Correlati