Verständnis von Dokumenten

Sie können Gemini-Anfragen Dokumente (PDF- und TXT-Dateien) hinzufügen, um Aufgaben auszuführen, bei denen die Inhalte der enthaltenen Dokumente berücksichtigt werden müssen. Auf dieser Seite erfahren Sie, wie Sie mithilfe der Google Cloud Console und der Vertex AI API Ihren Anfragen an Gemini in Vertex AI PDFs hinzufügen.

Unterstützte Modelle

In der folgenden Tabelle sind die Modelle aufgeführt, die das Dokumentverständnis unterstützen:

Modell Mediendetails MIME-Typen
Gemini 2.5 Pro
  • Maximale Anzahl von Dateien pro Prompt: 3.000
  • Maximale Anzahl Seiten pro Datei: 1.000
  • Maximale Dateigröße pro Datei: 50 MB
  • application/pdf
  • text/plain
Gemini 2.5 Flash
  • Maximale Anzahl von Dateien pro Prompt: 3.000
  • Maximale Anzahl Seiten pro Datei: 1.000
  • Maximale Dateigröße pro Datei für API- oder Cloud Storage-Importe: 50 MB
  • Maximale Dateigröße pro Datei für direkte Uploads über die Console: 7 MB
  • application/pdf
  • text/plain
Gemini 2.0 Flash
  • Maximale Anzahl von Dateien pro Prompt: 3.000
  • Maximale Anzahl Seiten pro Datei: 1.000
  • Maximale Dateigröße pro Datei: 50 MB
  • Maximale Anzahl von Tokens pro Minute (TPM) pro Projekt1:
    • USA/Asien: 3,4 Mio.
    • EU: 3,4 Mio.
  • application/pdf
  • text/plain
Gemini 2.0 Flash-Lite
  • Maximale Anzahl von Dateien pro Prompt: 3.000
  • Maximale Anzahl Seiten pro Datei: 1.000
  • Maximale Dateigröße pro Datei: 50 MB
  • Maximale Anzahl von Tokens pro Minute (TPM):
    • USA/Asien: 3,4 Mio.
    • EU: 3,4 Mio.
  • application/pdf
  • text/plain

1: Dies ist der maximale TPM-Wert aus Dokumentinputs für alle Anfragen eines Projekts. Verwenden Sie auch für andere Modalitäten den maximalen TPM.

Der Kontingentmesswert ist generate_content_document_input_per_base_model_id_and_resolution.

Eine Liste der von Gemini-Modellen unterstützten Sprachen finden Sie in den Modellinformationen der Google-Modelle. Weitere Informationen zum Entwerfen multimodaler Prompts finden Sie unter Multimodale Prompts entwerfen. Wenn Sie nach einer Möglichkeit suchen, Gemini direkt über Ihre mobilen und Ihre Web-Apps zu verwenden, finden Sie weitere Informationen in den Vertex AI in Firebase SDKs für Android-, Swift-, Web- und Flutter-Apps.

Einem Antrag Dokumente hinzufügen

Im folgenden Codebeispiel wird gezeigt, wie Sie eine PDF-Datei in eine Prompt-Anfrage einfügen. Dieses PDF-Beispiel funktioniert mit allen multimodalen Gemini-Modellen.

Gen AI SDK for Python

Installieren

pip install --upgrade google-genai

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Legen Sie Umgebungsvariablen fest, um das Gen AI SDK mit Vertex AI zu verwenden:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
model_id = "gemini-2.0-flash-001"

prompt = """
You are a highly skilled document summarization specialist.
Your task is to provide a concise executive summary of no more than 300 words.
Please summarize the given document for a general audience.
"""

pdf_file = Part.from_uri(
    file_uri="gs://cloud-samples-data/generative-ai/pdf/1706.03762v7.pdf",
    mime_type="application/pdf",
)

response = client.models.generate_content(
    model=model_id,
    contents=[pdf_file, prompt],
)

print(response.text)
# Example response:
# Here is a summary of the document in 300 words.
#
# The paper introduces the Transformer, a novel neural network architecture for
# sequence transduction tasks like machine translation. Unlike existing models that rely on recurrent or
# convolutional layers, the Transformer is based entirely on attention mechanisms.
# ...

REST

Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • FILE_URI: Der URI oder die URL der Datei, die in den Prompt aufgenommen werden soll. Unter anderem sind folgende Werte zulässig:
    • Cloud Storage-Bucket-URI:Das Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud Projekt befinden, von dem die Anfrage gesendet wird. Für gemini-2.0-flash und gemini-2.0-flash-lite beträgt die Größenbeschränkung 2 GB.
    • HTTP-URL: Die Datei-URL muss öffentlich lesbar sein. Sie können eine Videodatei, eine Audiodatei und bis zu 10 Bilddateien pro Anfrage angeben. Audiodateien, Videodateien und Dokumente dürfen nicht größer als 15 MB sein.
    • YouTube-Video-URL:Das YouTube-Video muss entweder dem Konto gehören, mit dem Sie sich in der Google Cloud Console angemeldet haben, oder öffentlich sein. Pro Anfrage wird nur eine YouTube-Video-URL unterstützt.

    Wenn Sie einen fileURI angeben, müssen Sie auch den Medientyp (mimeType) der Datei angeben. Wenn VPC Service Controls aktiviert ist, wird die Angabe einer Mediendatei-URL für fileURI nicht unterstützt.

    Wenn Sie keine PDF-Datei in Cloud Storage haben, können Sie die folgende öffentlich zugängliche Datei: gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf mit dem MIME-Typ application/pdf. Öffnen Sie die Beispiel-PDF-Datei, um diese PDF-Datei anzusehen.

  • MIME_TYPE: Der Medientyp der Datei, die in den Feldern data oder fileUri angegeben wurde. Unter anderem sind folgende Werte zulässig:

    Zum Maximieren von MIME-Typen klicken

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll. Beispiel:You are a very professional document summarization specialist. Please summarize the given document.

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.0-flash:generateContent"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json. Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:

$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://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-2.0-flash:generateContent" | Select-Object -Expand Content

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

Beachten Sie Folgendes in der URL für dieses Beispiel:
  • Mit der Methode generateContent können Sie anfordern, dass die Antwort zurückgegeben wird, nachdem sie vollständig generiert wurde. Um die Wahrnehmung von Latenz für menschliche Zielgruppen zu verringern, streame die Antwort, während sie mithilfe der Methode streamGenerateContent erzeugt wird.
  • Die multimodale Modell-ID befindet sich am Ende der URL vor der Methode (z. B. gemini-2.0-flash). Dieses Beispiel unterstützt möglicherweise auch andere Modelle.

Console

So senden Sie einen multimodalen Prompt mit der Google Cloud -Konsole:

  1. Rufen Sie in der Google Cloud Console im Bereich „Vertex AI“ die Seite Vertex AI Studio auf.

    Zu Vertex AI Studio

  2. Klicken Sie auf Prompt erstellen.

  3. Optional – Konfigurieren Sie Modell und Parameter:

    • Modell: Wählen Sie ein Modell aus.
  4. Optional: Klicken Sie zum Konfigurieren erweiterter Parameter auf Erweitert und konfigurieren Sie so:

    Klicken Sie, um erweiterte Konfigurationen zu maximieren.

    • Top-K: Sie können den Schieberegler oder das Textfeld verwenden, um einen Wert für Top-K einzugeben.

      Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von 1 bedeutet, dass das nächste ausgewählte Token unter den Tokens im Modell-Vokabular (auch als gierige Decodierung bezeichnet) am wahrscheinlichsten ist, während ein „Top-K“ von 3 bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird.

      Für jeden Tokenauswahlschritt werden die „Top-K“-Tokens mit den höchsten Wahrscheinlichkeiten abgetastet. Anschließend werden Tokens weiter auf der Grundlage von „Top-P“ gefiltert, wobei das endgültige Token mithilfe von Temperaturproben ausgewählt wird.

      Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.

    • Top-P: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für „Top-P“ einzugeben. Tokens werden vom wahrscheinlichsten bis zum am wenigsten wahrscheinlichen Token ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem Wert von „Top-P“ entspricht. Für die Ergebnisse der geringsten Variablen legen Sie Top-P auf 0 fest.
    • Maximale Anzahl von Antworten: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für die Anzahl der zu generierenden Antworten einzugeben.
    • Streamingantworten: Wenn Sie diese Option aktivieren, werden Antworten ausgedruckt, sobald sie generiert werden.
    • Schwellenwert für Sicherheitsfilter: Wählen Sie den Schwellenwert aus, mit dem Sie festlegen, wie wahrscheinlich es ist, dass Sie Antworten sehen, die möglicherweise schädlich sind.
    • Fundierung aktivieren: Die Funktion „Fundierung“ wird für multimodale Prompts nicht unterstützt.
    • Region: Wählen Sie die Region aus, die Sie verwenden möchten.
    • Temperatur: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für die Temperatur einzugeben.

          
      The temperature is used for sampling during response generation, which occurs when topP
      and topK are applied. Temperature controls the degree of randomness in token selection.
      Lower temperatures are good for prompts that require a less open-ended or creative response, while
      higher temperatures can lead to more diverse or creative results. A temperature of 0
      means that the highest probability tokens are always selected. In this case, responses for a given
      prompt are mostly deterministic, but a small amount of variation is still possible.
      
      

      If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature.

      </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.

      Specify a lower value for shorter responses and a higher value for potentially longer responses.

      </li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>

  5. Klicken Sie auf Medien einfügen und wählen Sie eine Quelle für die Datei aus.

    Hochladen

    Wählen Sie die Datei aus, die Sie hochladen möchten, und klicken Sie auf Öffnen.

    Über URL

    Geben Sie die URL der Datei ein, die Sie verwenden möchten, und klicken Sie auf Einfügen.

    Cloud Storage

    Wählen Sie den Bucket und dann die Datei aus dem Bucket aus, die Sie importieren möchten, und klicken Sie auf Auswählen.

    Google Drive

    1. Wählen Sie ein Konto aus und erteilen Sie Vertex AI Studio die Einwilligung, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Sie können mehrere Dateien mit einer Gesamtgröße von bis zu 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
    2. Klicken Sie auf die Datei, die Sie hinzufügen möchten.
    3. Klicken Sie auf Auswählen.

      Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt. Außerdem wird die Gesamtzahl der Tokens angezeigt. Wenn Ihre Prompt-Daten das Tokenlimit überschreiten, werden die Tokens abgeschnitten und nicht bei der Verarbeitung Ihrer Daten berücksichtigt.

  6. Geben Sie Ihren Prompt in den Bereich Prompt ein.

  7. Optional: Wenn Sie Token-ID zu Text und Token-IDs sehen möchten, klicken Sie im Bereich Prompt auf die Anzahl der Tokens.

  8. Klicken Sie auf Senden.

  9. Optional: Klicken Sie auf Speichern, um den Prompt unter Meine Prompts zu speichern.

  10. Optional: Klicken Sie auf Mit Code erstellen > Code abrufen, um den Python-Code oder einen curl-Befehl für den Prompt abzurufen.

Optionale Modellparameter festlegen

Jedes Modell hat eine Reihe von optionalen Parametern, die Sie festlegen können. Weitere Informationen finden Sie unter Parameter für die Inhaltsgenerierung.

Anforderungen an Dokumente

PDF-Tokenisierung

PDFs werden als Bilder behandelt, sodass jede Seite einer PDF-Datei auf die gleiche Weise wie ein Bild tokenisiert wird.

Außerdem entsprechen die Kosten für PDFs den Gemini-Bildpreisen. Wenn Sie beispielsweise eine zweiseitige PDF in einen Gemini API-Aufruf einfügen, wird Ihnen eine Eingabegebühr für die Verarbeitung von zwei Bildern berechnet.

Best Practices für PDF

Beachten Sie bei der Verwendung von PDFs die folgenden Best Practices und Informationen, um die besten Ergebnisse zu erzielen.

  • Wenn Ihr Prompt eine einzelne PDF-Datei enthält, platzieren Sie die PDF-Datei in Ihrer Anfrage vor dem Text-Prompt.
  • Wenn Sie ein langes Dokument haben, sollten Sie es in mehrere PDFs aufteilen, um es zu verarbeiten.
  • Verwenden Sie PDFs, die mit Text entwickelt wurden, der als Text statt als Bilder gerendert wird. Dieses Format sorgt dafür, dass Text maschinenlesbar ist, damit das Modell im Vergleich zu gescannten Bild-PDFs einfacher bearbeiten, suchen und ändern kann. Dies liefert optimale Ergebnisse bei der Arbeit mit textintensiven Dokumenten wie Verträgen.

Beschränkungen

Multimodale Gemini-Modelle sind zwar in vielen multimodalen Anwendungsfällen nützlich, aber es ist wichtig, die Einschränkungen der Modelle zu verstehen:

  • Räumliches Denken: Die Modelle können Text oder Objekte in PDFs nicht genau finden. Sie geben möglicherweise nur eine ungefähre Anzahl an Objekten zurück.
  • Genauigkeit: Die Modelle können bei der Interpretation von handgeschriebenem Text in PDF-Dokumenten halluzinieren.

Nächste Schritte