Questa pagina introduce l'analizzatore sintattico del layout di Document AI e il modo in cui viene utilizzato con RAG Engine.
Document AI
Document AI è una piattaforma di elaborazione e comprensione dei documenti che prende i dati non strutturati dai documenti e li trasforma in campi adatti all'archiviazione in un database. I dati strutturati portano a dati che puoi comprendere, analizzare e utilizzare.
Document AI è basato sui prodotti di Vertex AI con l'AI generativa per aiutarti a creare applicazioni di elaborazione di documenti scalabili, end-to-end e basate sul cloud. Per utilizzare questi prodotti non è richiesta alcuna competenza specializzata in machine learning.
Parser del layout di Document AI
Il parser del layout estrae elementi di contenuto dal documento, ad esempio testo, tabelle ed elenchi. Il parser del layout crea poi blocchi sensibili al contesto che facilitano il recupero di informazioni nell'AI generativa e nelle applicazioni di rilevamento.
Quando viene utilizzato per il recupero e la generazione di LLM, il layout del documento viene preso in considerazione durante il processo di suddivisione in blocchi, il che migliora la coerenza semantica e riduce il rumore nei contenuti. Tutto il testo di un blocco proviene dalla stessa entità di layout, ad esempio l'intestazione, il sottotitolo o l'elenco.
Per i tipi di file utilizzati dal rilevamento del layout, consulta Rilevamento del layout per tipo di file.
Utilizzare il parser del layout in Vertex AI RAG Engine
Per utilizzare il parser del layout nel motore RAG di Vertex AI, devi creare un corpus. Per creare un corpus:
Nella console Google Cloud , vai alla pagina Motore RAG.
Seleziona Crea corpus.
Nel campo Regione, seleziona la tua regione.
Nel campo Nome corpus, inserisci il nome del corpus.
Nel campo Descrizione, inserisci una descrizione.
Nella sezione Dati, seleziona dove vuoi caricare i dati.
Espandi la sezione Opzioni avanzate.
Nella sezione Strategia di suddivisione in blocchi, sono consigliate le seguenti dimensioni predefinite:
- Dimensione chunking: 1024
- Sovrapposizione dei segmenti: 256
Nella sezione Analizzatore layout, seleziona l'opzione Analizzatore LLM, che offre la massima precisione per i documenti con immagini o grafici.
Nel campo Modello, seleziona il modello.
(Facoltativo) Nel campo Numero massimo di richieste di analisi al minuto, inserisci il numero massimo di richieste di analisi.
(Facoltativo) Nel campo Prompt di analisi personalizzato, inserisci il prompt di analisi.
Fai clic su Continua.
Nella pagina Configura datastore vettoriale, procedi nel seguente modo:
Nel campo Modello di embedding, seleziona il modello di embedding.
Nella sezione Database vettoriale, seleziona il database.
Fai clic su Crea corpus.
Limitazioni
L'API ImportRagFiles
supporta l'analizzatore del layout, ma si applicano le seguenti limitazioni:
- Inserisci la dimensione massima del file di 20 MB per tutti i tipi di file.
- Esiste un limite massimo di 500 pagine per file PDF.
Si applicano le quote e i prezzi di Document AI.
Abilita l'API Document AI
Devi abilitare l'API Document AI per il tuo progetto. Per ulteriori informazioni sull'attivazione delle API, consulta la documentazione di Service Usage.
Enable the Document AI API.
Attivare l'analizzatore di layout
Per attivare Layout Parser:
Crea un parser di layout seguendo le istruzioni riportate nella sezione Creare e gestire i processori.
Il nome del tipo di processore è
LAYOUT_PARSER_PROCESSOR
.Attiva Layout Parser seguendo le istruzioni riportate in Attivare un processore.
La tua knowledge base (corpus) RAG
Se non hai un corpus RAG, creane uno. Ad esempio, vedi Crea un esempio di corpus RAG.
Se hai già un corpus RAG, i file esistenti importati senza un parser di layout non verranno reimportati quando Importi file utilizzando il parser di layout. Se vuoi utilizzare un parser di layout con i tuoi file, eliminali prima. Per esempio, vedi Eliminare un file RAG esempio.
Importare file utilizzando il parser di layout
I file e le cartelle di varie origini possono essere importati utilizzando il parser del layout.
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.
Sostituisci le seguenti variabili utilizzate nell'esempio di codice:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa del corpus RAG.
- GCS_URIS: un elenco delle località di Cloud Storage. Ad
esempio:
"gs://my-bucket1"
,"gs://my-bucket2"
. - LAYOUT_PARSER_PROCESSOR_NAME: il percorso della risorsa al processore del parser del layout creato. Ad esempio:
"projects/{project}/locations/{location}/processors/{processor_id}"
. - CHUNK_SIZE: (facoltativo) il numero di token che ogni blocco deve avere.
from vertexai import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"
paths = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"] # Supports Cloud Storage and Google Drive.
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")
response = rag.import_files(
corpus_name=corpus_name,
paths=paths,
transformation_config=rag.TransformationConfig(
rag.ChunkingConfig(chunk_size=1024, chunk_overlap=256)
),
import_result_sink="gs://sample-existing-folder/sample_import_result_unique.ndjson", # Optional: This must be an existing storage bucket folder, and the filename must be unique (non-existent).
llm_parser=rag.LlmParserConfig(
model_name="gemini-2.5-pro-preview-05-06",
max_parsing_requests_per_min=100,
), # Optional
max_embedding_requests_per_min=900, # Optional
)
print(f"Imported {response.imported_rag_files} files.")
REST
Il esempio di codice mostra come importare i file di Cloud Storage utilizzando il parser di layout. Per ulteriori opzioni di configurazione, inclusa l'importazione di file da un'altra
origine, consulta il ImportRagFilesConfig
riferimento.
Prima di utilizzare i dati della richiesta, sostituisci le seguenti variabili utilizzate nell'esempio di codice:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa del corpus RAG.
- GCS_URIS: un elenco delle località di Cloud Storage. Ad
esempio:
"gs://my-bucket1"
,"gs://my-bucket2"
. - LAYOUT_PARSER_PROCESSOR_NAME: il percorso della risorsa al processore del parser del layout creato. Ad esempio:
"projects/{project}/locations/{location}/processors/{processor_id}"
. - CHUNK_SIZE: (facoltativo) il numero di token che ogni blocco deve avere.
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
Corpo JSON della richiesta:
{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_parsing_config": {
"layout_parser": {
"processor_name": "LAYOUT_PARSER_PROCESSOR_NAME"
}
},
"rag_file_transformation_config": {
"rag_file_chunking_config": {
"fixed_length_chunking": {
"chunk_size": CHUNK_SIZE
}
}
},
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json ed esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
Powershell
Salva il corpo della richiesta in un file denominato request.json ed esegui il comando seguente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
Query di recupero
Quando un utente pone una domanda o fornisce un prompt, il componente di recupero in RAG cerca nella sua knowledge base le 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.
Previsione
La previsione genera una risposta fondata utilizzando i contesti recuperati. Per un esempio, vedi Generazione.
Passaggi successivi
- Scelte di database vettoriale in Vertex AI RAG Engine
- Per scoprire come importare i file RAG, consulta l'articolo Esempio di importazione di file RAG.