LLM-Parser verwenden

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:

Klicken Sie, um unterstützte Modelle zu maximieren.

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

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,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 Agent Platform-Modell senden kann. Weitere Informationen finden Sie unter Ratenbeschränkungen 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 RAG Engine Ihrem Standard-Systemprompt einen Prompt hinzu.

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
Geben Sie die Rolle an. 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. Stellen Sie jede Tatsache in einem [Geben Sie das Ausgabeformat an, z. B. eine strukturierte Liste oder ein Textformat] dar und verlinken Sie sie mit der [Geben Sie den Quellspeicherort an, z. B. eine Seite, einen Absatz, eine Tabelle oder eine Zeile]. Präsentieren Sie jeden Fakt in einer strukturierten Liste 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 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 zugeordnet, um spezifische 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 bei Einbettungen durch Prompt Engineering überwinden Anfangs wurde die Leistung durch Einschränkungen des Einbettungsmodells in einigen Anwendungsfällen beeinträchtigt. Zusätzliche Tests haben jedoch gezeigt, dass ein gut formulierter LLM-Parser-Prompt diese Probleme möglicherweise beheben und die richtigen Informationen abrufen kann, auch wenn das semantische Verständnis für das Einbettungsmodell allein schwierig ist.

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