Questa pagina spiega come utilizzare il parser LLM di Vertex AI RAG Engine.
Introduzione
Vertex AI RAG Engine utilizza gli LLM per l'analisi dei documenti. Gli LLM hanno la capacità di elaborare efficacemente i documenti nei seguenti modi:
- Comprendere e interpretare i contenuti semantici in vari formati.
- Recuperare i blocchi di documenti pertinenti.
- Estrarre informazioni significative dai documenti.
- Identificare le sezioni pertinenti nei documenti.
- Riassumere con precisione documenti complessi.
- Comprendere e interagire con le immagini.
- Estrarre dati da grafici e diagrammi.
- Descrivere le immagini.
- Comprendere le relazioni tra grafici e testo.
- Fornire risposte più accurate e ricche di contesto.
Le funzionalità di Vertex AI RAG Engine migliorano notevolmente la qualità delle risposte generate.
Modelli supportati
I seguenti modelli supportano il parser LLM di Vertex AI RAG Engine:
- Gemini 3.1 Pro
- Anteprima
- Anteprima
- Gemini 2.5 Pro
- Anteprima
- Gemini 2.5 Flash-Lite
- Gemini 2.5 Flash
- Gemini 2.5 Flash-Lite
- Gemini 2.0 Flash
Tipi di file supportati
I seguenti tipi di file sono supportati dal parser LLM:
application/pdfimage/pngimage/jpegimage/webpimage/heicimage/heif
Prezzi e quote
Per i dettagli sui prezzi, consulta la pagina Prezzi di Vertex AI.
Per le quote applicabili, consulta Quote di frequenza.
Il parser LLM chiama i modelli Gemini per analizzare i documenti. Ciò comporta costi aggiuntivi, che vengono addebitati al tuo progetto. Il costo può essere stimato approssimativamente utilizzando la seguente formula:
cost = number_of_document_files * average_pages_per_document * (average_input_tokens * input_token_pricing_of_selected_model + average_output_tokens * output_token_pricing_of_selected_model)
Ad esempio, hai 1000 file PDF e ogni file PDF ha 50 pagine. La pagina PDF media ha 500 token e sono necessari altri 100 token per il prompting. L'output medio è di 100 token.
Gemini 2.0 Flash-Lite viene utilizzato nella configurazione per l'analisi e costa 0,075 $per 1 milione di token di input e 0,3 $per i token di testo di output .
cost = 1,000 * 50 * (600 * 0.075 / 1M + 100 * 0.3 / 1M) = 3.75
Il costo è di 3,75 $.
Importare file con LlmParser abilitato
Sostituisci i valori nelle seguenti variabili utilizzate negli esempi di codice:
- PROJECT_ID: l'ID del tuo Google Cloud progetto.
- LOCATION: la regione in cui viene elaborata la richiesta.
- RAG_CORPUS_RESOURCE: l'ID del tuo corpus.
- GCS_URI: l'URI Cloud Storage dei file che vuoi importare.
- GOOGLE_DRIVE_URI: l'URI di Google Drive dei file che vuoi importare.
- MODEL_NAME: il nome della risorsa del modello utilizzato per
l'analisi.
Formato:
projects/{project_id}/locations/{location}/publishers/google/models/{model_id} - CUSTOM_PARSING_PROMPT: facoltativo: prompt personalizzato configurato dal cliente per il parser LLM da utilizzare per l'analisi dei documenti.
MAX_PARSING_REQUESTS_PER_MIN: facoltativo: il numero massimo di richieste che il job può inviare al modello Vertex AI al minuto. Per ulteriori informazioni, consulta la pagina Limiti di frequenza dell'AI generativa su Vertex AI e la pagina Quote e limiti di sistema per il tuo progetto per impostare un valore appropriato.
REST
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE/ragFiles:import" -d '{
"import_rag_files_config": {
"gcs_source": {
"uris": ["GCS_URI", "GOOGLE_DRIVE_URI"]
},
"rag_file_chunking_config": {
"chunk_size": 512,
"chunk_overlap": 102
},
"rag_file_parsing_config": {
"llm_parser": {
"model_name": "MODEL_NAME",
"custom_parsing_prompt": "CUSTOM_PARSING_PROMPT"
"max_parsing_requests_per_min": "MAX_PARSING_REQUESTS_PER_MIN"
}
}
}
}'
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l' SDK Vertex AI Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "RAG_CORPUS_RESOURCE"
LOCATION = "LOCATION"
MODEL_ID = "MODEL_ID"
MODEL_NAME = "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}"
MAX_PARSING_REQUESTS_PER_MIN = MAX_PARSING_REQUESTS_PER_MIN # Optional
CUSTOM_PARSING_PROMPT = "Your custom prompt" # Optional
PATHS = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]
# Initialize Vertex AI API once per session
vertexai.init(project={PROJECT_ID}, location={LOCATION})
transformation_config = rag.TransformationConfig(
chunking_config=rag.ChunkingConfig(
chunk_size=1024, # Optional
chunk_overlap=200, # Optional
),
)
llm_parser_config = rag.LlmParserConfig(
model_name = MODEL_NAME,
max_parsing_requests_per_min=MAX_PARSING_REQUESTS_PER_MIN, # Optional
custom_parsing_prompt=CUSTOM_PARSING_PROMPT, # Optional
)
rag.import_files(
CORPUS_NAME,
PATHS,
llm_parser=llm_parser_config,
transformation_config=transformation_config,
)
Prompting
Il parser LLM di Vertex AI RAG Engine utilizza un prompt predefinito e ottimizzato per l'analisi dei documenti. Tuttavia, se hai documenti specializzati che potrebbero non essere adatti a un prompt generale, hai la possibilità di specificare il prompt di analisi personalizzato quando utilizzi l'API. Quando richiedi a Gemini di analizzare i documenti, Vertex AI RAG Engine aggiunge un prompt al prompt di sistema predefinito.
Tabella dei modelli di prompt
Per facilitare l'analisi dei documenti, la seguente tabella fornisce un esempio di modello di prompt per aiutarti a creare prompt che Vertex AI RAG Engine può utilizzare per analizzare i documenti:
| Istruzione | Istruzione del modello | Esempio |
|---|---|---|
| Specifica il ruolo. | Sei un/una [specifica il ruolo, ad esempio un estrattore di dati fattuali o un recuperatore di informazioni]. | Sei un recuperatore di informazioni. |
| Specifica l'attività. | Estrai [specifica il tipo di informazioni, ad esempio affermazioni fattuali dati chiave o dettagli specifici] da [specifica l'origine del documento ad esempio un documento, un testo, un articolo, un'immagine, una tabella]. | Estrai i dati chiave dal file sample.txt. |
| Spiega come vuoi che l'LLM generi l'output in base ai tuoi documenti. | Presenta ogni fatto in un [specifica il formato di output, ad esempio un elenco strutturato o un formato di testo] e crea un link alla relativa [specifica la posizione di origine, ad esempio una pagina, un paragrafo, una tabella o una riga]. | Presenta ogni fatto in un elenco strutturato e crea un link alla pagina di esempio. |
| Evidenzia su cosa deve concentrarsi l'LLM. | Estrai [specifica i tipi di dati chiave, ad esempio nomi, date, numeri, attributi o relazioni] esattamente come indicato. | Estrai nomi e date. |
| Evidenzia ciò che vuoi che l'LLM eviti. | [Elenca le azioni da evitare, ad esempio analisi, interpretazione, riepilogo, inferenza o espressione di opinioni]. Estrai solo ciò che il documento afferma esplicitamente. | Non esprimere opinioni. Estrai solo ciò che il documento afferma esplicitamente. |
Indicazioni generali
Segui queste linee guida per scrivere il prompt da inviare al parser LLM.
- Specifico: definisci chiaramente l'attività e il tipo di informazioni da estrarre.
- Dettagliato: fornisci istruzioni dettagliate sul formato di output, sull'attribuzione dell'origine e sulla gestione di diverse strutture di dati.
- Vincolante: indica esplicitamente ciò che l'AI non deve fare, ad esempio analisi o interpretazione.
- Chiaro: utilizza un linguaggio chiaro e direttivo.
- Strutturato: organizza le istruzioni in modo logico utilizzando elenchi numerati o puntati per la leggibilità.
Analisi della qualità dell'analisi
Questa tabella elenca i risultati degli scenari eseguiti dai clienti utilizzando Vertex AI RAG Engine. Il feedback mostra che il parser LLM migliora la qualità dell'analisi dei documenti.
| Scenario | Risultato | |
|---|---|---|
| Analisi delle informazioni nelle diapositive e collegamento delle sezioni | Il parser LLM ha collegato correttamente i titoli delle sezioni di una diapositiva alle informazioni dettagliate presentate nelle diapositive successive. | |
| Comprensione ed estrazione di informazioni dalle tabelle | Il parser LLM ha correlato correttamente colonne e intestazioni all'interno di una tabella di grandi dimensioni per rispondere a domande specifiche. | |
| Interpretazione dei diagrammi di flusso | Il parser LLM è stato in grado di seguire la logica di un diagramma di flusso ed estrarre la sequenza corretta di azioni e le informazioni corrispondenti. | |
| Estrazione di dati dai grafici | Il parser LLM è in grado di interpretare diversi tipi di grafici, ad esempio i grafici a linee, ed estrarre punti dati specifici in base alla query. | |
| Acquisizione delle relazioni tra intestazioni e testo | Il parser LLM, guidato dal prompt, ha prestato attenzione alle strutture delle intestazioni ed è stato in grado di recuperare tutte le informazioni pertinenti associate a un argomento o a una sezione specifica. | |
| Potenziale per superare i limiti degli embedding con l'ingegneria dei prompt | Sebbene inizialmente ostacolato dai limiti del modello di embedding in alcuni casi d'uso, ulteriori esperimenti hanno dimostrato che un prompt del parser LLM ben strutturato potrebbe potenzialmente mitigare questi problemi e recuperare le informazioni corrette anche quando la comprensione semantica è difficile solo per il modello di embedding. |
Il parser LLM migliora la capacità dell'LLM di comprendere e ragionare sul contesto all'interno di un documento, il che porta a risposte più accurate e complete
Query di recupero
Dopo aver inserito un prompt inviato a un modello di AI generativa, il componente di recupero in RAG esegue una ricerca nella knowledge base per trovare informazioni pertinenti alla query. Per un esempio di recupero di file RAG da un corpus in base a un testo di query, consulta Query di recupero.
Passaggi successivi
- Per scoprire di più su Vertex AI RAG Engine, consulta la panoramica di Vertex AI RAG Engine.
- Per scoprire di più su Vertex AI RAG Engine, consulta l'API Vertex AI RAG Engine.