Menggunakan Throughput yang Disediakan

Halaman ini menjelaskan cara mengontrol kelebihan atau mengabaikan Throughput yang Disediakan dan cara memantau penggunaan.

Mengontrol kelebihan atau mengabaikan Throughput yang Disediakan

Gunakan API untuk mengontrol kelebihan jika Anda melebihi throughput yang dibeli atau untuk mengabaikan Throughput yang Disediakan per permintaan.

Baca setiap opsi untuk menentukan hal yang harus Anda lakukan untuk memenuhi kasus penggunaan Anda.

Perilaku default

Jika Anda melebihi jumlah throughput yang dibeli, kelebihannya akan masuk ke sesuai permintaan dan ditagih dengan tarif bayar sesuai penggunaan. Setelah pesanan Throughput yang Disediakan aktif, perilaku default akan otomatis terjadi. Anda tidak perlu mengubah kode untuk mulai menggunakan pesanan.

Hanya menggunakan Throughput yang Disediakan

Jika Anda mengelola biaya dengan menghindari biaya sesuai permintaan, hanya gunakan Throughput yang Disediakan. Permintaan yang melebihi jumlah pesanan Throughput yang Disediakan akan menampilkan error 429.

Saat mengirim permintaan ke API, tetapkan header HTTP X-Vertex-AI-LLM-Request-Type ke dedicated.

Hanya menggunakan bayar sesuai penggunaan

Hal ini juga disebut sebagai penggunaan on-demand. Permintaan mengabaikan pesanan Provisioned Throughput dan dikirim langsung ke pay-as-you-go. Hal ini mungkin berguna untuk eksperimen atau aplikasi yang sedang dalam pengembangan.

Saat mengirim permintaan ke API, tetapkan header HTTP X-Vertex-AI-LLM-Request-Type ke shared.

Contoh

Pelajari cara menginstal atau mengupdate Gen AI SDK for Python.

Untuk mempelajari lebih lanjut, lihat dokumentasi referensi SDK.

Tetapkan variabel lingkungan untuk menggunakan Gen AI SDK dengan Vertex AI:

# 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:
# ...

Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Vertex AI SDK untuk Python.

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
# ...

Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirimkan permintaan ke endpoint model penayang.

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."}]}]}'

Memantau Throughput yang Disediakan

Anda dapat memantau penggunaan Throughput yang Disediakan melalui metrik pemantauan dan berdasarkan per permintaan.

Header respons

Jika permintaan diproses menggunakan Provisioned Throughput, header HTTP berikut akan ada dalam respons. Baris kode ini hanya berlaku untuk panggilan API generateContent.

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

Metrik

Throughput yang Disediakan dapat dipantau menggunakan serangkaian metrik yang diukur pada jenis resource aiplatform.googleapis.com/PublisherModel. Setiap metrik dapat difilter berdasarkan dimensi berikut:

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

Untuk memfilter metrik guna melihat penggunaan Throughput yang Disediakan, gunakan jenis permintaan dedicated. Awalan jalur untuk metrik adalah aiplatform.googleapis.com/publisher/online_serving.

Misalnya, jalur lengkap untuk metrik /consumed_throughput adalah aiplatform.googleapis.com/publisher/online_serving/consumed_throughput.

Metrik Cloud Monitoring berikut tersedia di resource aiplatform.googleapis.com/PublisherModel dalam model Gemini dan memiliki filter untuk penggunaan Provisioned Throughput:

Metrik Nama tampilan Deskripsi
/characters Karakter Distribusi jumlah karakter input dan output.
/character_count Jumlah karakter Jumlah karakter input dan output yang terakumulasi.
/consumed_throughput Throughput Karakter Throughput yang digunakan, yang memperhitungkan rasio burndown dalam karakter. Untuk model berbasis token, ini setara dengan throughput yang digunakan dalam token * 4.
/model_invocation_count Jumlah pemanggilan model Jumlah pemanggilan model (permintaan prediksi).
/model_invocation_latencies Latensi pemanggilan model Latensi pemanggilan model (latensi prediksi).
/first_token_latencies Latensi token pertama Durasi dari permintaan yang diterima hingga token pertama ditampilkan.
/tokens Token Distribusi jumlah token input dan output.
/token_count Jumlah token Jumlah token input dan output yang terakumulasi.

Model antropogenik juga memiliki filter untuk Provisioned Throughput, tetapi hanya untuk tokens/token_count.

Langkah berikutnya