🇬🇧 EN
🇮🇹 IT

🔍 RAG (Ricerca Knowledge Base)

Esegue una ricerca vettoriale semantica su una delle tue Knowledge Base, restituendo gli estratti di documenti più pertinenti. Da usare in combinazione con il nodo Agent per dare ai modelli AI accesso ai tuoi documenti privati, alla conoscenza sui prodotti o a qualsiasi altro contenuto indicizzato.

Categoria: Recupero Dati & Elaborazione  ·  Identificatore tipo: rag

Panoramica

RAG sta per Retrieval-Augmented Generation (Generazione Aumentata dal Recupero). Invece di affidarsi esclusivamente ai dati di addestramento del modello AI, RAG permette di recuperare i passaggi più pertinenti dai tuoi documenti e fornirli al modello come contesto. Questo migliora drasticamente l'accuratezza per domande sul tuo dominio specifico, prodotti, policy o qualsiasi informazione su cui il modello non è stato addestrato.

Il nodo RAG prende una query di ricerca — tipicamente la domanda dell'utente — ed esegue una ricerca per similarità vettoriale su tutti i documenti indicizzati nella Knowledge Base selezionata. Restituisce i chunk più corrispondenti, ciascuno con un punteggio di pertinenza. Questi risultati possono poi essere iniettati direttamente in un nodo Agent tramite la sua impostazione Fonti di Contesto, o referenziati manualmente in un prompt.

Prima di usare questo nodo, devi avere almeno una Knowledge Base con documenti indicizzati. Puoi gestire le Knowledge Base dalla sezione Knowledge Base nella navigazione principale.

Configurazione

Campo Stato Descrizione
Knowledge Base Obbligatorio La Knowledge Base su cui cercare. Solo le Knowledge Base con almeno un documento in stato completato restituiranno risultati.
Query Obbligatorio La query di ricerca. Supporta riferimenti {{ variabile }} — nella maggior parte dei workflow, questa è la domanda dell'utente, come {{ trigger.output.question }} o {{ form.output.query }}.
Limite Opzionale Numero massimo di chunk di documenti da restituire. L'intervallo va da 1 a 50. Il valore predefinito è 5. Restituire più chunk fornisce all'agente più contesto ma aumenta la lunghezza del prompt e i costi API.
Soglia Opzionale Punteggio minimo di similarità (0–1) che un chunk deve raggiungere per essere incluso nei risultati. Il valore predefinito è 0.7. Valori più alti restituiscono solo chunk strettamente corrispondenti; valori più bassi ampliano la ricerca. Imposta a 0 per restituire risultati indipendentemente dalla similarità.
Espansione Query Opzionale Quando abilitata, Flusso genera automaticamente diverse riformulazioni della query originale e cerca con ciascuna. Questo migliora il richiamo per query vaghe o ambigue trovando contenuti pertinenti che potrebbero non emergere con la formulazione originale.
Modalità Diversità Opzionale Quando abilitata, Flusso usa l'algoritmo MMR (Maximal Marginal Relevance) per selezionare risultati che siano sia pertinenti alla query che diversi tra loro. Usalo quando vuoi una copertura ampia su più aspetti di un argomento piuttosto che diversi chunk dallo stesso passaggio.
Lambda Diversità Opzionale Controlla il bilanciamento tra pertinenza e diversità quando la Modalità Diversità è attiva. L'intervallo è 0–1. Un valore di 1.0 restituisce puramente i risultati più pertinenti (nessuna penalità di diversità). Un valore di 0.0 massimizza la diversità indipendentemente dalla pertinenza. Il valore predefinito è 0.5.

Dati di Output

Il nodo RAG produce un array di chunk di documenti corrispondenti:

CampoTipoDescrizione
itemsarrayUn array di chunk corrispondenti, ordinati per punteggio di pertinenza in ordine decrescente. Ogni elemento contiene i campi indicati di seguito.
items[].textstringIl contenuto testuale grezzo del chunk corrispondente.
items[].scorenumberIl punteggio di similarità (0–1) che indica quanto il chunk corrisponde alla query.
items[].document_namestringIl nome del documento sorgente da cui proviene questo chunk.
items[].metadataobjectEventuali metadati aggiuntivi archiviati con questo chunk (es. numero di pagina, titolo della sezione).
// Riferisci l'intero array items (es. per passarlo a un nodo Reranker) {{ rag_search.output.items }} // Accedi al testo di uno specifico chunk {{ rag_search.output.items[0].text }} // Verifica il punteggio del primo risultato {{ rag_search.output.items[0].score }} // Nome del documento sorgente {{ rag_search.output.items[0].document_name }}

Esempio di Utilizzo

Rispondere a domande da un manuale prodotto

  1. Aggiungi un nodo RAG. Seleziona la Knowledge Base della documentazione del tuo prodotto. Imposta Query su {{ trigger.output.question }}. Lascia Limite a 5 e Soglia a 0.7.
  2. Aggiungi un nodo Agent dopo il nodo RAG. Nelle impostazioni Fonti di Contesto dell'Agent, seleziona lo step RAG. Flusso formatterà e inietterà automaticamente i chunk recuperati nel prompt dell'agente.
  3. Imposta il Prompt Utente dell'Agent.
    {{ trigger.output.question }}
    L'agente riceve sia la domanda che gli estratti pertinenti dai documenti, e genera una risposta fondata.

Usare i risultati manualmente in un prompt

Se preferisci formattare il contesto tu stesso anziché usare le Fonti di Contesto:

// Nel Prompt di Sistema o Prompt Utente dell'Agent: Usa i seguenti estratti dalla nostra documentazione per rispondere alla domanda. Contesto: {{ rag_search.output.items[0].text }} {{ rag_search.output.items[1].text }} {{ rag_search.output.items[2].text }} Domanda: {{ trigger.output.question }}

Suggerimenti e Note

Nodi Correlati