Questa pagina spiega come utilizzare RAG Engine sul parser LLM di Gemini Enterprise Agent Platform.
Introduzione
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 RAG Engine migliorano notevolmente la qualità delle risposte generate.
Modelli supportati
I seguenti modelli supportano il parser LLM di RAG Engine:
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 Gemini Enterprise Agent Platform.
Per le quote applicabili, consulta Quote di frequenza.
Il parser LLM chiama i modelli Gemini per analizzare i documenti. Ciò comporta costi aggiuntivi, addebitati al tuo progetto. Il costo può essere stimato approssimativamente utilizzando questa 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 prompt. 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 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 l'utilizzo del parser LLM per l'analisi dei documenti.
MAX_PARSING_REQUESTS_PER_MIN: facoltativo: il numero massimo di richieste che il job può inviare al modello Agent Platform al minuto. Per ulteriori informazioni, consulta Limiti di frequenza dell'AI generativa su Agent Platform 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 Agent Platform per Python, consulta Installare l' SDK Agent Platform per 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 Agent Platform 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,
)
Guida introduttiva ai prompt
Il parser LLM di RAG Engine su Gemini Enterprise Agent Platform 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 tuoi documenti, RAG Engine aggiunge un prompt al prompt di sistema predefinito.
Tabella dei modelli di prompt
Per facilitare l'analisi dei documenti, la tabella seguente fornisce un esempio di modello di prompt per aiutarti a creare prompt che RAG Engine può utilizzare per analizzare i tuoi documenti:
| Istruzioni | 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.
- Limitante: 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 RAG Engine su Gemini Enterprise Agent Platform. 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 sua knowledge base per trovare informazioni pertinenti alla query. Per ulteriori informazioni sul recupero dei file RAG da un corpus, consulta Metodo: ragFiles.get.
Passaggi successivi
Per scoprire di più su RAG Engine su Gemini Enterprise Agent Platform, consulta la panoramica di RAG Engine su Gemini Enterprise Agent Platform.
Per scoprire di più su RAG Engine su Gemini Enterprise Agent Platform, consulta: