Nota

Analizza i documenti PDF in linguaggio naturale con OCI Generative AI

Introduzione

Oracle Cloud Infrastructure Generative AI (OCI Generative AI) è una soluzione avanzata di intelligenza artificiale generativa che consente alle aziende e agli sviluppatori di creare applicazioni intelligenti utilizzando modelli linguistici all'avanguardia. Basata su tecnologie potenti come i Large Language Models (LLM), questa soluzione consente l'automazione di attività complesse, rendendo i processi più veloci, efficienti e accessibili attraverso le interazioni con il linguaggio naturale.

Una delle applicazioni più efficaci di OCI Generative AI è l'analisi dei documenti PDF. Le aziende spesso si occupano di grandi volumi di documenti, come contratti, report finanziari, manuali tecnici e documenti di ricerca. La ricerca manuale di informazioni in questi file può essere dispendiosa in termini di tempo e soggetta a errori.

Con l'uso dell'intelligenza artificiale generativa, è possibile estrarre informazioni in modo istantaneo e accurato, consentendo agli utenti di interrogare documenti complessi semplicemente formulando domande in linguaggio naturale. Ciò significa che invece di leggere intere pagine per trovare una clausola specifica in un contratto o un datapoint rilevante in un report, gli utenti possono semplicemente chiedere al modello, che restituisce rapidamente la risposta in base al contenuto analizzato.

Oltre al recupero delle informazioni, OCI Generative AI può essere utilizzata anche per riepilogare documenti lunghi, confrontare i contenuti, classificare le informazioni e persino generare insight strategici. Queste funzionalità rendono la tecnologia essenziale per vari campi, come legale, finanziario, sanitario e ingegneristico, ottimizzando il processo decisionale e aumentando la produttività.

Integrando questa tecnologia con strumenti come i servizi Oracle AI, OCI Data Science e le API per l'elaborazione dei documenti, le aziende possono creare soluzioni intelligenti che trasformano completamente il modo in cui interagiscono con i propri dati, rendendo il recupero delle informazioni più veloce ed efficace.

Prerequisiti

Task 1: Installa pacchetti Python

Il codice Python richiede determinate librerie per utilizzare l'AI generativa OCI. Eseguire il comando seguente per installare i pacchetti Python necessari.

pip install -r requirements.txt

Task 2: Comprendere il codice Python

Questa è una demo di OCI Generative AI per l'esecuzione di query sulle funzionalità di Oracle SOA Suite e Oracle Integration. Entrambi gli strumenti sono attualmente utilizzati per le strategie di integrazione ibrida, il che significa che operano sia in ambienti cloud che on-premise.

Poiché questi strumenti condividono funzionalità e processi, questo codice aiuta a capire come implementare lo stesso approccio di integrazione in ogni strumento. Inoltre, consente agli utenti di esplorare caratteristiche e differenze comuni.

Scarica il codice Python da qui:

Potete trovare i documenti PDF qui:

Creare una cartella denominata Manuals e spostarla in tale cartella.

Ora è possibile scegliere 3 opzioni per elaborare i documenti. Si può pensare:

Sono pertanto disponibili le opzioni riportate di seguito.

Chunking a dimensioni fisse: questa è un'alternativa più rapida all'elaborazione dei documenti. Può essere sufficiente per ottenere ciò che si desidera.

Chunking semantico: questo processo sarà più lento del Chunking a dimensione fissa, ma offrirà più chunking di qualità.

Chunking semantico con GraphRAG: fornirà un metodo più preciso perché organizzerà i testi di chunking e i grafici della conoscenza.

Chunking a dimensione fissa

Scaricare il codice da qui: oci_genai_llm_context_fast.py.

Chunking semantico

Scaricare il codice da qui: oci_genai_llm_context.py.

Chunking semantico con GraphRAG

Scaricare il codice da qui: oci_genai_llm_graphrag.py.

GraphRAG (Graph-Augmented Retrieval-Augmented Generation) è un'architettura AI avanzata che combina il recupero tradizionale basato su vettori con grafici della conoscenza strutturati. In una pipeline RAG standard, un modello di linguaggio recupera i blocchi di documenti pertinenti utilizzando la somiglianza semantica da un database vettoriale (come FAISS). Tuttavia, il recupero basato su vettori opera in modo non strutturato, basandosi esclusivamente su incorporamenti e metriche di distanza, che a volte perdono significati contestuali o relazionali più profondi.

GraphRAG migliora questo processo introducendo un livello di grafico knowledge, in cui entità, concetti, componenti e relative relazioni sono rappresentati in modo esplicito come nodi e bordi. Questo context basato su grafico consente al modello di linguaggio di ragionare su relazioni, gerarchie e dipendenze che la somiglianza vettoriale da sola non può acquisire.

Nota:

Neo4j Uso:

Questa implementazione utilizza Neo4j come database di knowledge graph incorporato a scopo dimostrativo e di prototipazione. Sebbene Neo4j sia un database a grafici potente e flessibile adatto per carichi di lavoro di sviluppo, test e di piccole e medie dimensioni, potrebbe non soddisfare i requisiti per carichi di lavoro di livello enterprise, mission-critical o altamente sicuri, soprattutto in ambienti che richiedono alta disponibilità, scalabilità e compliance di sicurezza avanzata.

Per gli ambienti di produzione e gli scenari aziendali, si consiglia di utilizzare Oracle Database con funzionalità Graph che offrono:

Utilizzando Oracle Database per i carichi di lavoro grafici, le organizzazioni possono unificare dati strutturati, semistrutturati e grafici all'interno di un'unica piattaforma aziendale sicura e scalabile.

Task 3: Esegui query per i contenuti di Oracle Integration e Oracle SOA Suite

Eseguire il comando riportato di seguito.

FOR FIXED CHUNKING TECHNIQUE (MORE FASTER METHOD)
python oci_genai_llm_context_fast.py --device="mps" --gpu_name="M2Max GPU 32 Cores"
FOR SEMANTIC CHUNKING TECHNIQUE
python oci_genai_llm_context.py --device="mps" --gpu_name="M2Max GPU 32 Cores"
FOR SEMANTIC CHUNKING COMBINED WITH GRAPHRAG TECHNIQUE
python oci_genai_llm_graphrag.py --device="mps" --gpu_name="M2Max GPU 32 Cores"

Nota: i parametri --device e --gpu_name possono essere utilizzati per accelerare l'elaborazione in Python, utilizzando la GPU se il computer ne dispone. Si consideri che questo codice può essere utilizzato anche con i modelli locali.

Il contesto fornito distingue Oracle SOA Suite e Oracle Integration. È possibile eseguire il test del codice considerando i punti riportati di seguito.

Possiamo definire il seguente contesto, che aiuta notevolmente a interpretare correttamente i documenti.

img_7.png

L'immagine seguente mostra l'esempio di confronto tra Oracle SOA Suite e Oracle Integration.

img.png

Passi successivi

Questo codice illustra un'applicazione di OCI Generative AI per l'analisi PDF intelligente. Consente agli utenti di eseguire query su grandi volumi di documenti in modo efficiente utilizzando ricerche semantiche e un modello di intelligenza artificiale generativa per generare risposte accurate in linguaggio naturale.

Questo approccio può essere applicato in vari campi, come legale, compliance, supporto tecnico e ricerca accademica, rendendo il recupero delle informazioni molto più veloce e intelligente.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.