LLM-Parser verwenden

Auf dieser Seite wird erläutert, wie Sie den LLM-Parser der Vertex AI RAG Engine verwenden.

Einführung

Die Vertex AI RAG Engine verwendet LLMs für das Dokumenten-Parsing. LLMs können Dokumente auf folgende Weise effektiv verarbeiten:

  • Semantische Inhalte in verschiedenen Formaten verstehen und interpretieren.
  • Relevante Dokumentabschnitte abrufen
  • Sie können aus Dokumenten aussagekräftige Informationen extrahieren.
  • Relevante Abschnitte in Dokumenten identifizieren
  • Komplexe Dokumente präzise zusammenfassen.
  • Visualisierungen verstehen und mit ihnen interagieren
  • Daten aus Diagrammen extrahieren
  • Beschreiben Sie Bilder.
  • Beziehungen zwischen Diagrammen und Text verstehen
  • Sie können kontextbezogenere und genauere Antworten liefern.

Die Funktionen der Vertex AI-RAG-Engine verbessern die Qualität der generierten Antworten erheblich.

Unterstützte Modelle

Der LLM-Parser unterstützt nur Gemini-Modelle. Wenn Sie die RAG API aktiviert haben, haben Sie Zugriff auf die unterstützten Modelle. Eine Liste der unterstützten Modelle für die Generierung finden Sie unter Generative Modelle.

Unterstützte Dateitypen

Die folgenden Dateitypen werden vom LLM-Parser unterstützt:

  • application/pdf
  • image/png
  • image/jpeg
  • image/webp
  • image/heic
  • image/heif

Preise und Kontingente

Weitere Informationen zu den Preisen finden Sie unter Vertex AI-Preise.

Informationen zu den geltenden Kontingenten finden Sie unter Kontingente anfordern.

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 können mithilfe dieser Formel grob geschätzt werden:

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)

Angenommen, Sie haben 1.000 PDF-Dateien mit jeweils 50 Seiten. Die durchschnittliche PDF-Seite hat 500 Token und wir benötigen zusätzlich 100 Token für Prompts. Die durchschnittliche Ausgabe beträgt 100 Tokens.

In Ihrer Konfiguration wird Gemini 2.0 Flash-Lite für das Parsen verwendet. Das kostet 0,075 $für 1 Million Eingabetokens und 0,3 $für Ausgabetexttokens.

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 Ihres Google Cloud Projekts.
  • 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 für das 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 zum Parsen von Dokumenten konfiguriert wird.
  • MAX_PARSING_REQUESTS_PER_MIN: Optional: Die maximale Anzahl von Anfragen, die der Job pro Minute an das Vertex AI-Modell senden kann. Weitere Informationen finden Sie unter Ratenbegrenzungen für generative KI in Vertex AI und auf der Seite Kontingente und Systemlimits für Ihr Projekt. Dort können Sie einen geeigneten Wert festlegen.

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 Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.

  from vertexai.preview 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,
  )

Aufforderungen

Der LLM-Parser der Vertex AI RAG Engine verwendet einen vordefinierten und optimierten Prompt zum Parsen von Dokumenten. Wenn Sie jedoch spezielle Dokumente haben, die für einen allgemeinen Prompt möglicherweise nicht geeignet sind, können Sie bei Verwendung der API einen benutzerdefinierten Parsing-Prompt angeben. Wenn Sie Gemini bitten, Ihre Dokumente zu parsen, hängt die Vertex AI RAG Engine einen Prompt an Ihren Standardsystemprompt an.

Tabelle mit Prompt-Vorlagen

Zur Unterstützung beim Parsen von Dokumenten finden Sie in der folgenden Tabelle ein Beispiel für eine Prompt-Vorlage, die Sie beim Erstellen von Prompts verwenden können, mit denen die Vertex AI RAG Engine Ihre Dokumente parsen kann:

Anleitung Vorlage Beispiel
Geben Sie die Rolle an. Sie sind [Geben Sie die Rolle an, z. B. Faktendatenextractor oder Informationsabruf]. Sie sind ein Informationssucher.
Geben Sie die Aufgabe an. Extrahieren Sie [Art der Informationen angeben, z. B. Fakten, wichtige Daten oder bestimmte Details] aus [Dokumentquelle angeben, z. B. Dokument, Text, Artikel, Bild, Tabelle]. Extrahieren Sie wichtige Daten aus der Datei „sample.txt“.
Erläutern Sie, wie das LLM die Ausgabe anhand Ihrer Dokumente generieren soll. Präsentieren Sie jeden Fakt in einem [Output-Format angeben, z. B. eine strukturierte Liste oder ein Textformat] und verlinken Sie ihn mit dem [Quellspeicherort angeben, z. B. eine Seite, einen Absatz, eine Tabelle oder eine Zeile]. Stellen Sie die einzelnen Fakten in einer strukturierten Liste dar und verlinken Sie auf die entsprechende Beispielseite.
Betonen Sie, worauf der Schwerpunkt des LLM liegen sollte. Extrahieren Sie [wichtige Datentypen angeben, z. B. Namen, Datumsangaben, Zahlen, Attribute oder Beziehungen] genau wie angegeben. Extrahieren Sie Namen und Datumsangaben.
Markieren Sie, was die LLM vermeiden soll. [Listen Sie die zu vermeidenden Handlungen auf, z. B. Analyse, Interpretation, Zusammenfassung, Schlussfolgerungen oder Äußerung von Meinungen]. Extrahieren Sie nur das, was im Dokument ausdrücklich steht. Keine Meinungen äußern. Extrahieren Sie nur das, was im Dokument ausdrücklich steht.

Allgemeine Anleitung

Beachten Sie die folgenden Richtlinien, wenn Sie einen Prompt zum Senden an den LLM-Parser schreiben.

  • Konkret: Definieren Sie die Aufgabe und die Art der zu extrahierenden Informationen klar.
  • Detailliert: Geben Sie eine detaillierte Anleitung zum Ausgabeformat, zur Quellenzuordnung und zum Umgang mit verschiedenen Datenstrukturen an.
  • Einschränkungen: Geben Sie explizit an, was die KI nicht tun soll, z. B. Analyse oder Interpretation.
  • Klar: Verwenden Sie eine klare und prägnante Sprache.
  • Strukturiert: Strukturieren Sie die Anleitung logisch mit nummerierten Listen oder Aufzählungspunkten, um die Lesbarkeit zu verbessern.

Analyse der Qualität des Parsings

In dieser Tabelle sind die Ergebnisse von Szenarien aufgeführt, die Kunden mit der Vertex AI RAG Engine 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 die Abschnittstitel 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 zugeordnet, 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 Diagrammen extrahieren Der LLM-Parser kann verschiedene Arten von Diagrammen wie Liniendiagramme interpretieren und anhand der Abfrage bestimmte Datenpunkte extrahieren.
Beziehungen zwischen Überschriften und Text erfassen Der LLM-Parser hat sich anhand des Prompts auf die Überschriftenstrukturen konzentriert und konnte alle relevanten Informationen zu einem bestimmten Thema oder Abschnitt abrufen.
Potenzielle Möglichkeit, Einbettungsbeschränkungen mit Prompt Engineering zu überwinden In einigen Anwendungsfällen wurden die Ergebnisse zunächst durch Einschränkungen des Einbettungsmodells beeinträchtigt. Zusätzliche Tests haben jedoch gezeigt, dass ein gut formulierter LLM-Parser-Prompt diese Probleme möglicherweise abmildern und die richtigen Informationen abrufen kann, 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 begründen, 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 die Wissensdatenbank nach Informationen, die für die Suchanfrage relevant sind. Ein Beispiel für das Abrufen von RAG-Dateien aus einem Corpus anhand eines Suchtexts finden Sie unter Abrufabfrage.

Nächste Schritte