Auf dieser Seite wird beschrieben, wie Sie den LLM-Parser der RAG Engine auf der Gemini Enterprise Agent Platform verwenden.
Einführung
RAG Engine verwendet LLMs zum Parsen von Dokumenten. LLMs können Dokumente auf folgende Weise effektiv verarbeiten:
- Semantische Inhalte in verschiedenen Formaten verstehen und interpretieren.
- Relevante Dokumentabschnitte abrufen.
- Nützliche Informationen aus Dokumenten extrahieren
- Relevante Abschnitte in Dokumenten identifizieren
- Komplexe Dokumente präzise zusammenfassen.
- Bilder verstehen und mit ihnen interagieren
- Daten aus Diagrammen extrahieren
- Bilder beschreiben
- Zusammenhänge zwischen Diagrammen und Text erkennen
- Kontextbezogenere und genauere Antworten geben
Die Funktionen der RAG Engine verbessern die Qualität der generierten Antworten erheblich.
Unterstützte Modelle
Die folgenden Modelle unterstützen den LLM-Parser der RAG Engine:
Unterstützte Dateitypen
Die folgenden Dateitypen werden vom LLM-Parser unterstützt:
application/pdfimage/pngimage/jpegimage/webpimage/heicimage/heif
Preise und Kontingente
Preisinformationen finden Sie unter Gemini Enterprise Agent Platform-Preise.
Informationen zu den geltenden Kontingenten finden Sie unter Ratenkontingente.
Der LLM-Parser ruft Gemini-Modelle auf, um Ihre Dokumente zu parsen. Dadurch entstehen zusätzliche Kosten, die Ihrem Projekt in Rechnung gestellt werden. Die Kosten lassen sich mit dieser Formel grob schätzen:
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)
Sie haben beispielsweise 1.000 PDF-Dateien mit jeweils 50 Seiten. Eine durchschnittliche PDF-Seite enthält 500 Tokens und wir benötigen weitere 100 Tokens für das Prompting. Die durchschnittliche Ausgabe beträgt 100 Tokens.
Gemini 2.0 Flash-Lite wird in Ihrer Konfiguration zum Parsen verwendet. Die Kosten betragen 0,075 $ für 1 Million Eingabetokens und 0,30 $ für Ausgabetext-Tokens.
cost = 1,000 * 50 * (600 * 0.075 / 1M + 100 * 0.3 / 1M) = 3.75
Die Kosten betragen 3,75 $.
Dateien mit aktivierter LlmParser importieren
Ersetzen Sie die Werte in den folgenden Variablen, die in den Codebeispielen verwendet werden:
PROJECT_ID: Die ID für Ihr Google Cloud -Projekt.
LOCATION: Die Region, in der Ihre Anfrage verarbeitet wird.
RAG_CORPUS_RESOURCE: Die ID Ihres Korpus.
GCS_URI: Der Cloud Storage-URI der Dateien, die Sie importieren möchten.
GOOGLE_DRIVE_URI: Der Google Drive-URI der Dateien, die Sie importieren möchten.
MODEL_NAME: Der Ressourcenname des Modells, das zum Parsen verwendet wird.
Format:
projects/{project_id}/locations/{location}/publishers/google/models/{model_id}CUSTOM_PARSING_PROMPT: Optional: Benutzerdefinierter Prompt, der vom Kunden für den LLM-Parser konfiguriert wird, um Dokumente zu parsen.
MAX_PARSING_REQUESTS_PER_MIN (optional): Die maximale Anzahl von Anfragen, die der Job pro Minute an das Agent Platform-Modell senden kann. Weitere Informationen finden Sie unter Ratenlimits für generative KI auf der Agent Platform und auf der Seite Kontingente und Systemlimits für Ihr Projekt, um einen geeigneten Wert festzulegen.
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
Informationen zur Installation des Agent Platform SDK for Python finden Sie unter Agent Platform SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
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,
)
Prompting
Der LLM-Parser der RAG Engine auf der Gemini Enterprise Agent Platform verwendet einen vordefinierten und optimierten Prompt zum Parsen von Dokumenten. Wenn Sie jedoch spezielle Dokumente haben, die möglicherweise nicht für einen allgemeinen Prompt geeignet sind, können Sie bei Verwendung der API einen benutzerdefinierten Parsing-Prompt angeben. Wenn Sie Gemini auffordern, Ihre Dokumente zu analysieren, fügt die RAG Engine einen Prompt an Ihren Standard-Systemprompt an.
Tabelle mit Prompt-Vorlagen
Die folgende Tabelle enthält ein Beispiel für eine Prompt-Vorlage, die Ihnen beim Erstellen von Prompts helfen soll, mit denen die RAG Engine Ihre Dokumente parsen kann:
| Anleitung | Vorlagenaussage | Beispiel |
|---|---|---|
| Rolle angeben | Sie sind [Rolle angeben, z. B. ein Tool zum Extrahieren von Fakten oder zum Abrufen von Informationen]. | Du bist ein Informationsabrufer. |
| Aufgabe angeben | Extrahiere [Gib den Informationstyp an, z. B. Fakten, Schlüsseldaten oder bestimmte Details] aus [Gib die Dokumentquelle an, z. B. ein Dokument, Text, Artikel, Bild oder eine Tabelle]. | Extrahieren Sie wichtige Daten aus der Datei „sample.txt“. |
| Erklären Sie, wie das LLM die Ausgabe anhand Ihrer Dokumente generieren soll. | Präsentiere jede Tatsache in einem [Ausgabeformat angeben, z. B. strukturierte Liste oder Textformat] und verlinke sie mit der [Quellspeicherort angeben, z. B. Seite, Absatz, Tabelle oder Zeile]. | Präsentiere jeden Fakt in einer strukturierten Liste und verlinke zur zugehörigen Beispielseite. |
| Geben Sie an, worauf sich das LLM konzentrieren soll. | Extrahiere [Gib die wichtigsten Datentypen an, z. B. Namen, Datumsangaben, Zahlen, Attribute oder Beziehungen] genau wie angegeben. | Namen und Datumsangaben extrahieren |
| Markieren Sie, was das LLM vermeiden soll. | [Liste der zu vermeidenden Aktionen, z. B. Analyse, Interpretation, Zusammenfassung, Schlussfolgerung oder Meinungsäußerung]. Extrahieren Sie nur das, was im Dokument explizit steht. | Keine Meinungsäußerungen. Extrahieren Sie nur das, was im Dokument explizit steht. |
Allgemeine Anleitung
Beachten Sie die folgenden Richtlinien, wenn Sie Ihren Prompt für den LLM-Parser schreiben.
- Spezifisch: Definieren Sie die Aufgabe und die Art der Informationen, die extrahiert werden sollen, klar.
- Detailliert: Geben Sie detaillierte Anweisungen zum Ausgabeformat, zur Quellenangabe und zur Verarbeitung verschiedener Datenstrukturen.
- Einschränken: Geben Sie explizit an, was die KI nicht tun soll, z. B. Analysen oder Interpretationen.
- Klar: Verwenden Sie eine klare und anweisende Sprache.
- Strukturiert: Organisieren Sie Anweisungen logisch mithilfe von nummerierten Listen oder Aufzählungszeichen, um die Lesbarkeit zu verbessern.
Analyse der Parsing-Qualität
In dieser Tabelle sind die Ergebnisse von Szenarien aufgeführt, die Kunden mit der RAG Engine auf der Gemini Enterprise Agent Platform ausgeführt haben. Das Feedback zeigt, dass der LLM-Parser die Qualität des Parsens von Dokumenten verbessert.
| Szenario | Ergebnis | |
|---|---|---|
| Informationen auf Folien analysieren und Abschnitte verknüpfen | Der LLM-Parser hat Abschnittsüberschriften auf einer Folie erfolgreich mit den detaillierten Informationen auf den nachfolgenden Folien verknüpft. | |
| Informationen aus Tabellen verstehen und extrahieren | Der LLM-Parser hat Spalten und Überschriften in einer großen Tabelle korrekt in Beziehung gesetzt, um bestimmte Fragen zu beantworten. | |
| Flussdiagramme interpretieren | Der LLM-Parser konnte der Logik eines Flussdiagramms folgen und die richtige Abfolge von Aktionen und entsprechenden Informationen extrahieren. | |
| Daten aus Grafiken extrahieren | Der LLM-Parser kann verschiedene Arten von Diagrammen interpretieren, z. B. Liniendiagramme, und basierend auf der Anfrage bestimmte Datenpunkte extrahieren. | |
| Beziehungen zwischen Überschriften und Text erfassen | Der LLM-Parser, der durch den Prompt gesteuert wurde, berücksichtigte die Überschriftenstruktur und konnte alle relevanten Informationen abrufen, die mit einem bestimmten Thema oder Abschnitt verknüpft sind. | |
| Möglichkeit, Einschränkungen bei Einbettungen durch Prompt Engineering zu überwinden | Anfangs wurden die Ergebnisse in einigen Anwendungsfällen durch Einschränkungen des Einbettungsmodells beeinträchtigt. Zusätzliche Tests haben jedoch gezeigt, dass diese Probleme durch einen gut formulierten LLM-Parser-Prompt möglicherweise behoben werden können. So lassen sich die richtigen Informationen abrufen, auch wenn das semantische Verständnis für das Einbettungsmodell allein eine Herausforderung darstellt. |
Der LLM-Parser verbessert die Fähigkeit des LLM, den Kontext in einem Dokument zu verstehen und zu analysieren, was zu genaueren und umfassenderen Antworten führt.
Abrufabfrage
Nachdem Sie einen Prompt eingegeben haben, der an ein generatives KI-Modell gesendet wird, durchsucht die Abrufkomponente in RAG in ihrer Wissensdatenbank nach relevanten Informationen. Weitere Informationen zum Abrufen von RAG-Dateien aus einem Corpus finden Sie unter Methode: ragFiles.get.
Nächste Schritte
Weitere Informationen zur RAG Engine auf der Gemini Enterprise Agent Platform finden Sie unter Übersicht über die RAG Engine auf der Gemini Enterprise Agent Platform.
Weitere Informationen zur RAG Engine auf der Gemini Enterprise Agent Platform finden Sie hier: