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 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 genau zusammenfassen
  • Visuelle Elemente verstehen und mit ihnen interagieren
  • Daten aus Diagrammen extrahieren
  • Bilder beschreiben
  • Zusammenhänge zwischen Diagrammen und Text verstehen
  • Kontextbezogenere und genauere Antworten geben

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 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,3 $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 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, 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 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 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 möglicherweise nicht für einen allgemeinen Prompt geeignet sind, können Sie Ihren benutzerdefinierten Parsing-Prompt angeben, wenn Sie die API verwenden. Wenn Sie Gemini auffordern, Ihre Dokumente zu parsen, hängt die Vertex AI-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 Vertex AI RAG Engine Ihre Dokumente parsen kann:

Anleitung Vorlagenanweisung Beispiel
Geben Sie die Rolle an. Sie sind ein/e [Rolle angeben, z. B. Fachextraktor für Daten oder Informationsabrufer]. 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 die wichtigsten Daten aus der Datei „sample.txt“.
Erklären Sie, wie das LLM die Ausgabe anhand Ihrer Dokumente generieren soll. Präsentiere jeden Fakt in einem [Gib das Ausgabeformat an, z. B. eine strukturierte Liste oder ein Textformat] und verlinke ihn mit der [Gib den Quellspeicherort an, z. B. eine Seite, einen Absatz, eine Tabelle oder eine Zeile]. Stellen Sie jede Tatsache in einer strukturierten Liste dar und verlinken Sie auf die zugehörige 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 Aktionen, die vermieden werden sollten, 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 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 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 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 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 hat sich am Prompt orientiert und auf Überschriftenstrukturen geachtet, um alle relevanten Informationen zu einem bestimmten Thema oder Abschnitt abzurufen.
Einschränkungen von Einbettungen durch Prompt Engineering überwinden Anfangs wurde die Leistung 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. Ein Beispiel für das Abrufen von RAG-Dateien aus einem Corpus basierend auf einem Abfragetext finden Sie unter Abfrage zum Abrufen.

Nächste Schritte