Provisioned Throughput verwenden

Auf dieser Seite wird erläutert, wie Sie Überschreitungen steuern oder Provisioned Throughput umgehen und wie Sie die Nutzung überwachen.

Überschreitungen steuern oder Provisioned Throughput umgehen

Mit der API können Sie Überschreitungen steuern, wenn Sie den gekauften Durchsatz überschreiten, oder Provisioned Throughput pro Anfrage umgehen.

Lesen Sie sich die einzelnen Optionen durch, um herauszufinden, was Sie tun müssen, um Ihren Anwendungsfall zu erfüllen.

Standardverhalten

Wenn Sie den gekauften Durchsatz überschreiten, werden die Überschreitungen als On-Demand-Nutzung abgerechnet und zum Pay-as-you-go-Preis in Rechnung gestellt. Sobald Ihre Bestellung für Provisioned Throughput aktiv ist, wird das Standardverhalten automatisch angewendet. Sie müssen Ihren Code nicht ändern, um mit der Inanspruchnahme Ihrer Bestellung zu beginnen.

Nur Provisioned Throughput verwenden

Wenn Sie Kosten verwalten, indem Sie On-Demand-Gebühren vermeiden, verwenden Sie nur Provisioned Throughput. Bei Anfragen, die den Bestellbetrag für Provisioned Throughput überschreiten, wird der Fehler 429 zurückgegeben.

Legen Sie beim Senden von Anfragen an die API den X-Vertex-AI-LLM-Request-Type-HTTP-Header auf dedicated fest.

Nur Pay-as-you-go verwenden

Dies wird auch als On-Demand-Nutzung bezeichnet. Anfragen umgehen die Bestellung von Provisioned Throughput und werden direkt an Pay-as-you-go gesendet. Das kann für Tests oder Anwendungen in der Entwicklungsphase nützlich sein.

Legen Sie beim Senden von Anfragen an die API den X-Vertex-AI-LLM-Request-Type-HTTP-Header auf shared fest.

Beispiel

Gen AI SDK for Python

Gen AI SDK for Python installieren oder aktualisieren

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=us-central1
export GOOGLE_GENAI_USE_VERTEXAI=True


from google import genai
from google.genai.types import HttpOptions

client = genai.Client(
    http_options=HttpOptions(
        api_version="v1",
        headers={
            # Options:
            # - "dedicated": Use Provisioned Throughput
            # - "shared": Use pay-as-you-go
            # https://cloud.google.com/vertex-ai/generative-ai/docs/use-provisioned-throughput
            "X-Vertex-AI-LLM-Request-Type": "shared"
        },
    )
)
response = client.models.generate_content(
    model="gemini-2.0-flash-001",
    contents="How does AI work?",
)
print(response.text)

# Example response:
# Okay, let's break down how AI works. It's a broad field, so I'll focus on the ...
#
# Here's a simplified overview:
# ...

Vertex AI SDK für 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 Vertex AI SDK for Python API.

import vertexai
from vertexai.generative_models import GenerativeModel

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"
vertexai.init(
    project=PROJECT_ID,
    location="us-central1",
    # Options:
    # - "dedicated": Use Provisioned Throughput
    # - "shared": Use pay-as-you-go
    # https://cloud.google.com/vertex-ai/generative-ai/docs/use-provisioned-throughput
    request_metadata=[("x-vertex-ai-llm-request-type", "shared")],
)

model = GenerativeModel("gemini-1.5-flash-002")

response = model.generate_content(
    "What's a good name for a flower shop that specializes in selling bouquets of dried flowers?"
)

print(response.text)
# Example response:
# **Emphasizing the Dried Aspect:**
# * Everlasting Blooms
# * Dried & Delightful
# * The Petal Preserve
# ...

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.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -H "X-Vertex-AI-LLM-Request-Type: dedicated" \ # Options: dedicated, shared
  $URL \
  -d '{"contents": [{"role": "user", "parts": [{"text": "Hello."}]}]}'

Provisioned Throughput überwachen

Sie können die Nutzung von Provisioned Throughput über Monitoring-Messwerte und pro Anfrage überwachen.

Antwortheader

Wenn eine Anfrage mit Provisioned Throughput verarbeitet wurde, ist in der Antwort der folgende HTTP-Header enthalten. Diese Codezeile gilt nur für den generateContent API-Aufruf.

  {"X-Vertex-AI-LLM-Request-Type": "dedicated"}

Messwerte

Provisioned Throughput kann mithilfe einer Reihe von Messwerten überwacht werden, die für den Ressourcentyp aiplatform.googleapis.com/PublisherModel erfasst werden. Jeder Messwert kann nach den folgenden Dimensionen gefiltert werden:

  • type: input, output
  • request_type: dedicated, shared

Wenn Sie einen Messwert filtern möchten, um die Nutzung von Provisioned Throughput aufzurufen, verwenden Sie den Anfragetyp dedicated. Das Pfadpräfix für einen Messwert lautet aiplatform.googleapis.com/publisher/online_serving.

Der vollständige Pfad für den Messwert /consumed_throughput lautet beispielsweise aiplatform.googleapis.com/publisher/online_serving/consumed_throughput.

Die folgenden Cloud Monitoring-Messwerte sind für die Ressource aiplatform.googleapis.com/PublisherModel in den Gemini-Modellen verfügbar und haben einen Filter für die Nutzung des bereitgestellten Durchsatzes:

Messwert Anzeigename Beschreibung
/characters Zeichen Verteilung der Zeichenanzahl bei Eingabe und Ausgabe.
/character_count Anzahl der Zeichen Die Summe der Zeichenanzahl in der Eingabe und Ausgabe.
/consumed_throughput Zeichendurchsatz Verbrauchter Durchsatz, der die Abnahmerate in Zeichen angibt. Bei tokenbasierten Modellen entspricht dies dem in Tokens verbrauchten Durchsatz * 4.
/model_invocation_count Anzahl der Modellaufrufe Anzahl der Modellausrufe (Vorhersageanfragen).
/model_invocation_latencies Latenzen beim Modellaufruf Latenz beim Modellaufruf (Vorhersagelatenz).
/first_token_latencies Latenz beim ersten Token Dauer vom Empfang der Anfrage bis zur Rückgabe des ersten Tokens.
/tokens Tokens Verteilung der Tokenanzahl bei Eingabe und Ausgabe.
/token_count Tokenanzahl Die Summe der Eingabe- und Ausgabetoken.

Anthropic-Modelle haben auch einen Filter für den bereitgestellten Durchsatz, aber nur für tokens/token_count.

Nächste Schritte