Sfrutta il potere di Graph RAG: sblocca i dati non strutturati con la ricerca semantica, gli embedding e molto altro

Sblocca il potere di Graph RAG per la ricerca semantica, l'estrazione di informazioni e l'analisi avanzata dei dati. Esplora questo framework di generazione potenziata dal recupero open-source che sfrutta i grafi della conoscenza per migliorare i modelli di linguaggio su larga scala. Migliora accuratezza e rilevanza per query complesse.

14 febbraio 2025

party-gif

Sblocca il potere della ricerca semantica, degli embedding e della ricerca vettoriale con GraphRAG - il motore RAG open-source definitivo di Microsoft AI. Scopri come questa soluzione innovativa può trasformare le tue capacità di analisi dei dati e di risposta alle domande, offrendo informazioni più pertinenti e affidabili.

Cos'è RAG (Retrieval Augmented Generation)?

RAG (Retrieval Augmented Generation) è un approccio utilizzato per migliorare i grandi modelli linguistici esistenti incorporando conoscenze esterne. L'idea chiave dietro RAG è di combinare la potenza dei grandi modelli linguistici con la capacità di recuperare e sfruttare informazioni rilevanti da fonti esterne, come basi di conoscenza o corpora di testi.

I principali vantaggi dell'approccio RAG sono:

  1. Maggiore rilevanza: Recuperando e incorporando informazioni rilevanti, RAG può fornire risposte più accurate e pertinenti, soprattutto per domande che richiedono conoscenze specifiche.

  2. Riduzione delle allucinazioni: È stato dimostrato che RAG riduce la tendenza dei grandi modelli linguistici a generare contenuti allucinati o inesatti dal punto di vista fattuale, poiché le risposte sono ancorate alle informazioni recuperate.

  3. Versatilità: Oltre alla risposta alle domande, RAG può essere applicato a vari compiti di NLP come l'estrazione di informazioni, la raccomandazione, l'analisi del sentiment e il riassunto.

  4. Gestione di dati privati: RAG può funzionare con set di dati privati o sensibili, poiché le informazioni vengono elaborate e memorizzate localmente, senza la necessità di condividere i dati con servizi esterni.

In che modo GraphRAG è diverso dai sistemi RAG tradizionali?

GraphRAG rappresenta un notevole progresso rispetto ai sistemi RAG (Retrieval Augmented Generation) tradizionali. Ecco come si differenzia:

  1. Estrazione del grafo della conoscenza: A differenza del semplice recupero basato su testo, GraphRAG combina l'estrazione di testo, l'analisi di rete e il prompting del modello linguistico per costruire un grafo della conoscenza completo dai dati di input. Ciò consente una comprensione più profonda e olistica del contenuto.

  2. Maggiore accuratezza e rilevanza: Sfruttando il grafo della conoscenza, GraphRAG può fornire risposte più accurate e pertinenti, soprattutto per set di dati complessi o specializzati. L'approccio basato sul grafo aiuta a connettere parti di informazioni disparate e a sintetizzare intuizioni che superano le tecniche RAG di base.

  3. Comprensione olistica dei dati: GraphRAG segue un approccio più completo, migliorando la comprensione e il riassunto complessivi di grandi raccolte di dati. Ciò lo rende una scelta superiore per sfruttare i grandi modelli linguistici in compiti avanzati di analisi dei dati e risposta alle domande.

  4. Riduzione delle allucinazioni: È stato dimostrato che GraphRAG riduce le tendenze dei grandi modelli linguistici a generare contenuti "allucinati" che non sono ancorati alle informazioni fornite. L'approccio basato sul grafo aiuta il modello a aderire più strettamente alle informazioni affidabili nel contesto.

  5. Versatilità: Oltre alla risposta alle domande, GraphRAG può essere applicato a una varietà di compiti di elaborazione del linguaggio naturale, come l'estrazione di informazioni, le raccomandazioni, l'analisi del sentiment e il riassunto, tutto in un ambiente di archiviazione privato e locale.

Iniziare con GraphRAG

Per iniziare con GraphRAG, segui questi passaggi:

  1. Installa i prerequisiti:

    • Assicurati di avere Python installato sul tuo sistema.
    • Installa i pacchetti richiesti eseguendo pip install graphrag nel tuo terminale o prompt dei comandi.
  2. Clona il repository:

    • Apri Visual Studio Code (o il tuo IDE preferito) e crea una nuova cartella per il progetto.
    • Nel terminale, naviga nella cartella del progetto ed esegui git clone https://github.com/microsoft/graph-rag.git per clonare il repository GraphRAG.
  3. Imposta l'ambiente:

    • Nel terminale, naviga nella directory graph-rag.
    • Esporta la tua chiave API di OpenAI eseguendo export GRAPHRAG_API_KEY=your_api_key_here.
  4. Crea una cartella di input:

    • Nel terminale, esegui mkdir input per creare una cartella di input per i tuoi documenti.
  5. Indicizza i documenti:

    • Posiziona i tuoi documenti (ad esempio, file di testo, PDF) nella cartella input.
    • Nel terminale, esegui python dm_rag_index.py per indicizzare i documenti.
  6. Chatta con i documenti:

    • Nel terminale, esegui python dm_graph_rag.py --query "your_query_here" --root_dir . --method global.
    • Sostituisci "your_query_here" con la domanda o la query che vuoi porre sui documenti.

GraphRAG utilizzerà ora il grafo della conoscenza creato durante il processo di indicizzazione per fornire risposte pertinenti e complete alle tue query, superando le tecniche tradizionali di generazione aumentata dal recupero.

Indicizzazione e configurazione di GraphRAG

Per iniziare con GraphRAG, dovrai seguire questi passaggi:

  1. Installa i prerequisiti:

    • Assicurati di avere Python installato sul tuo sistema.
    • Installa Pip eseguendo il comando fornito nel tuo prompt dei comandi.
  2. Clona il repository:

    • Apri Visual Studio Code e crea una nuova finestra.
    • Apri il terminale facendo clic sul pulsante di attivazione del pannello.
    • Nel terminale, naviga nell'ambiente bash ed esegui il comando pip install graphrag per installare i pacchetti necessari.
  3. Imposta l'ambiente:

    • Nel terminale, digita cd graphrag per navigare nel repository clonato.
    • Esporta la tua chiave API di OpenAI eseguendo il comando export GRAPHRAG_API_KEY=your_api_key_here.
  4. Crea una cartella di input:

    • Nel terminale, esegui il comando mkdir input per creare una cartella di input in cui posizionare i tuoi file o documenti.
    • Apri la cartella in VS Code facendo clic su "File" > "Apri cartella" e selezionando il repository clonato.
  5. Indicizza il documento:

    • Posiziona il tuo documento (ad esempio, un report finanziario) nella cartella di input.
    • Nel terminale, esegui il comando python dm_rrag index per indicizzare il documento corrente.
    • Questo creerà un report della community sul documento indicizzato, che potrai ora utilizzare per chattare.
  6. Configura l'ambiente:

    • Nel file env, puoi configurare la chiave API, il tipo di modello e altre impostazioni.
    • Puoi specificare l'utilizzo di un modello LLAMA o l'interfaccia OpenAI.
    • Salva le modifiche al file env.
  7. Esegui il codice:

    • Nel terminale, esegui il comando python dm_rrag query --root_folder . --method global --query "your_query_here" per iniziare a chattare con il documento indicizzato.

Chattare con GraphRAG

Per chattare con GraphRAG, segui questi passaggi:

  1. Dopo aver indicizzato il documento utilizzando il comando python dm_rrag index, puoi avviare la chat eseguendo il comando python dm_rrag query --root_folder . --method global "your query here".

  2. Sostituisci "your query here" con la domanda o il prompt che vuoi porre a GraphRAG sul documento indicizzato.

  3. GraphRAG utilizzerà quindi il grafo della conoscenza creato durante il processo di indicizzazione per fornire una risposta pertinente e informativa, sfruttando la potenza dei grandi modelli linguistici e le informazioni strutturate nel grafo della conoscenza.

  4. Puoi continuare a chattare con GraphRAG eseguendo lo stesso comando con diverse query. Il sistema utilizzerà il grafo della conoscenza esistente per fornire risposte adattate alle tue domande.

  5. Se vuoi passare a un modello linguistico diverso, puoi configurarlo nel file .env specificando LLM_TYPE e fornendo l'endpoint API appropriato o il percorso del modello locale.

  6. L'approccio olistico di GraphRAG alla generazione aumentata dal recupero gli consente di superare le tecniche RAG di base, soprattutto per set di dati complessi o privati, connettendo parti di informazioni disparate e fornendo intuizioni sintetizzate.

FAQ