Auf dieser Seite wird der Document AI-Layoutparser vorgestellt und es wird beschrieben, wie er mit der RAG Engine verwendet wird.
Document AI
Document AI ist eine Plattform zur Dokumentverarbeitung und zum Verstehen von Dokumenten, die unstrukturierte Daten aus Dokumenten in Felder umwandelt, die sich für die Speicherung in einer Datenbank eignen. Strukturierte Daten führen zu Daten, die Sie verstehen, analysieren und nutzen können.
Document AI basiert auf Produkten in Vertex AI mit generativer KI, um Ihnen bei der Entwicklung skalierbarer, cloudbasierter End-to-End-Anwendungen zur Dokumentenverarbeitung zu helfen. Für die Verwendung dieser Produkte sind keine speziellen Kenntnisse im Bereich maschinelles Lernen erforderlich.
Document AI-Layoutparser
Der Layoutparser extrahiert Inhaltselemente wie Text, Tabellen und Listen aus dem Dokument. Der Layoutparser erstellt dann kontextsensitive Blöcke, die das Abrufen von Informationen in Anwendungen für generative KI und Discovery erleichtern.
Wenn das Dokument für den Abruf und die LLM-Generierung verwendet wird, wird das Layout des Dokuments beim Chunking berücksichtigt. Dadurch wird die semantische Kohärenz verbessert und das Rauschen im Inhalt reduziert. Der gesamte Text in einem Chunk stammt aus derselben Layout-Einheit, z. B. der Überschrift, der Unterüberschrift oder der Liste.
Informationen zu den von der Layout-Erkennung verwendeten Dateitypen finden Sie unter Layout-Erkennung nach Dateityp.
Layoutparser in der Vertex AI RAG Engine verwenden
Wenn Sie den Layout-Parser in Vertex AI RAG Engine verwenden möchten, müssen Sie einen Korpus erstellen. So erstellen Sie einen Korpus:
Rufen Sie in der Google Cloud Console die Seite RAG Engine auf.
Wählen Sie Korpus erstellen aus.
Wählen Sie im Feld Region Ihre Region aus.
Geben Sie im Feld Corpus name (Corpusname) den Namen Ihres Corpus ein.
Geben Sie im Feld Beschreibung eine Beschreibung ein.
Wählen Sie im Bereich Daten aus, wo Sie Ihre Daten hochladen möchten.
Maximieren Sie den Bereich Erweiterte Optionen.
Im Abschnitt Chunking strategy (Strategie für das Aufteilen in Chunks) werden die folgenden Standardgrößen empfohlen:
- Blockgröße: 1024
- Chunk-Überschneidung: 256
Wählen Sie im Bereich Layout-Parser die Option LLM-Parser aus. Diese Option bietet die höchste Genauigkeit für Dokumente mit Bildern oder Diagrammen.
Wählen Sie im Feld Modell Ihr Modell aus.
Optional: Geben Sie im Feld Maximale Anzahl von Anfragen zum Parsen pro Minute die maximale Anzahl von Anfragen zum Parsen ein.
Optional: Geben Sie im Feld Benutzerdefinierter Parse-Prompt Ihren Parse-Prompt ein.
Klicken Sie auf Weiter.
Führen Sie auf der Seite Vektorspeicher konfigurieren die folgenden Schritte aus:
Wählen Sie im Feld Einbettungsmodell Ihr Einbettungsmodell aus.
Wählen Sie im Abschnitt Vektordatenbank Ihre Datenbank aus.
Klicken Sie auf Korpus erstellen.
Beschränkungen
Die ImportRagFiles
API unterstützt den Layout-Parser. Es gelten jedoch die folgenden Einschränkungen:
- Geben Sie für alle Dateitypen die maximale Dateigröße von 20 MB ein.
- Eine PDF-Datei darf maximal 500 Seiten umfassen.
Es gelten die Kontingente und Preise für Document AI.
Document AI API aktivieren
Sie müssen die Document AI API für Ihr Projekt aktivieren. Weitere Informationen zur Aktivierung von APIs finden Sie in der Dokumentation zu Service Usage.
Enable the Document AI API.
Layoutparser aktivieren
So aktivieren Sie den Layout-Parser:
Erstellen Sie einen Layout-Parser. Folgen Sie dazu der Anleitung unter Prozessoren erstellen und verwalten.
Der Name des Prozessortyps ist
LAYOUT_PARSER_PROCESSOR
.Aktivieren Sie den Layout Parser gemäß der Anleitung unter Prozessor aktivieren.
Ihre RAG-Wissensdatenbank (Korpus)
Wenn Sie keinen RAG-Korpus haben, erstellen Sie einen. Ein Beispiel finden Sie unter RAG-Korpus erstellen.
Wenn Sie bereits einen RAG-Korpus haben, werden vorhandene Dateien, die ohne Layout Parser importiert wurden, nicht noch einmal importiert, wenn Sie Dateien mit Layout Parser importieren. Wenn Sie einen Layout-Parser für Ihre Dateien verwenden möchten, müssen Sie die Dateien zuerst löschen. Ein Beispiel finden Sie unter Beispiel: RAG-Datei löschen.
Dateien mit dem Layoutparser importieren
Mit dem Layoutparser können Dateien und Ordner aus verschiedenen Quellen importiert werden.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
Ersetzen Sie die folgenden Variablen, die im Codebeispiel verwendet werden:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der RAG-Korpusressource.
- GCS_URIS: Eine Liste der Cloud Storage-Standorte. Beispiel:
"gs://my-bucket1"
,"gs://my-bucket2"
. - LAYOUT_PARSER_PROCESSOR_NAME: Der Ressourcenpfad zum erstellten Layout-Parser-Prozessor. Beispiel:
"projects/{project}/locations/{location}/processors/{processor_id}"
. - CHUNK_SIZE: Optional: Die Anzahl der Tokens, die jeder Block haben sollte.
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
Im Codebeispiel wird gezeigt, wie Cloud Storage-Dateien mit dem Layoutparser importiert werden. Weitere Konfigurationsoptionen, einschließlich des Imports von Dateien aus einer anderen Quelle, finden Sie in der ImportRagFilesConfig
-Referenz.
Ersetzen Sie die folgenden Variablen im Codebeispiel, bevor Sie die Anfragedaten verwenden:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der RAG-Korpusressource.
- GCS_URIS: Eine Liste der Cloud Storage-Standorte. Beispiel:
"gs://my-bucket1"
,"gs://my-bucket2"
. - LAYOUT_PARSER_PROCESSOR_NAME: Der Ressourcenpfad zum erstellten Layout-Parser-Prozessor. Beispiel:
"projects/{project}/locations/{location}/processors/{processor_id}"
. - CHUNK_SIZE: Optional: Die Anzahl der Tokens, die jeder Block haben sollte.
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
JSON-Text anfordern:
{
"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
}
}
},
}
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
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
können Sie das aktive Konto prüfen.Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
$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
Abrufabfrage
Wenn ein Nutzer eine Frage stellt oder einen Prompt bereitstellt, durchsucht die Abrufkomponente in RAG in ihrer Wissensdatenbank nach relevanten Informationen.
Ein Beispiel für das Abrufen von RAG-Dateien aus einem Korpus basierend auf einem Abfragetext finden Sie unter Abfrage zum Abrufen.
Vorhersage
Die Vorhersage generiert eine fundierte Antwort anhand der abgerufenen Kontexte. Ein Beispiel finden Sie unter Generierung.
Nächste Schritte
- Optionen für Vektordatenbanken in der Vertex AI-RAG-Engine
- Informationen zum Importieren von RAG-Dateien finden Sie im Beispiel zum Importieren von RAG-Dateien.