Pemahaman dokumen

Anda dapat menambahkan dokumen (file PDF dan TXT) ke permintaan Gemini untuk melakukan tugas yang melibatkan pemahaman konten dokumen yang disertakan. Halaman ini menunjukkan cara menambahkan PDF ke permintaan Anda ke Gemini di Vertex AI menggunakan konsol Google Cloud dan Vertex AI API.

Model yang didukung

Tabel berikut mencantumkan model yang mendukung pemahaman dokumen:

Model Detail media Jenis MIME
Gemini 2.5 Flash-Lite
  • Jumlah maksimum file per perintah: 3.000
  • Jumlah maksimum halaman per file: 1.000
  • Ukuran file maksimum per file: 50 MB
  • application/pdf
  • text/plain
Gemini 2.0 Flash dengan pembuatan gambar
  • Jumlah maksimum file per perintah: 3.000
  • Jumlah maksimum halaman per file: 1.000
  • Ukuran file maksimum per file: 50 MB
  • application/pdf
  • text/plain
Gemini 2.5 Pro
  • Jumlah maksimum file per perintah: 3.000
  • Jumlah maksimum halaman per file: 1.000
  • Ukuran file maksimum per file: 50 MB
  • application/pdf
  • text/plain
Gemini 2.5 Flash
  • Jumlah maksimum file per perintah: 3.000
  • Jumlah maksimum halaman per file: 1.000
  • Ukuran file maksimum per file untuk impor API atau Cloud Storage: 50 MB
  • Ukuran file maksimum per file untuk upload langsung melalui konsol: 7 MB
  • application/pdf
  • text/plain
Gemini 2.0 Flash
  • Jumlah maksimum file per perintah: 3.000
  • Jumlah maksimum halaman per file: 1.000
  • Ukuran file maksimum per file: 50 MB
  • Token maksimum per menit (TPM) per project1:
    • Amerika Serikat/Asia: 3,4 JUTA
    • Uni Eropa: 3,4 Jt
  • application/pdf
  • text/plain
Gemini 2.0 Flash-Lite
  • Jumlah maksimum file per perintah: 3.000
  • Jumlah maksimum halaman per file: 1.000
  • Ukuran file maksimum per file: 50 MB
  • Token maksimum per menit (TPM):
    • Amerika Serikat/Asia: 3,4 JUTA
    • Uni Eropa: 3,4 Jt
  • application/pdf
  • text/plain

1Ini adalah TPM maksimum dari input dokumen di semua permintaan project. Gunakan juga TPM maksimum untuk modalitas lainnya.

Metrik kuota adalah generate_content_document_input_per_base_model_id_and_resolution.

Untuk mengetahui daftar bahasa yang didukung oleh model Gemini, lihat informasi model Model Google. Untuk mempelajari lebih lanjut cara mendesain perintah multimodal, lihat Mendesain perintah multimodal. Jika Anda mencari cara untuk menggunakan Gemini langsung dari aplikasi seluler dan web, lihat SDK klien Logika AI Firebase untuk aplikasi Swift, Android, Web, Flutter, dan Unity.

Menambahkan dokumen ke permintaan

Contoh kode berikut menunjukkan cara menyertakan PDF dalam permintaan perintah. Contoh PDF ini kompatibel dengan semua model multimodal Gemini.

Gen AI SDK for Python

Instal

pip install --upgrade google-genai

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=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.5-flash"

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

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Anda.
  • FILE_URI: URI atau URL file yang akan disertakan dalam perintah. Nilai yang dapat diterima mencakup hal berikut:
    • URI bucket Cloud Storage: Objek harus dapat dibaca secara publik atau berada di project Google Cloud yang sama dengan project yang mengirim permintaan. Untuk gemini-2.0-flash dan gemini-2.0-flash-lite, batas ukuran adalah 2 GB.
    • URL HTTP: URL file harus dapat dibaca secara publik. Anda dapat menentukan satu file video, satu file audio, dan hingga 10 file gambar per permintaan. Ukuran file audio, file video, dan dokumen tidak boleh lebih dari 15 MB.
    • URL video YouTube:Video YouTube harus dimiliki oleh akun yang Anda gunakan untuk login ke konsol Google Cloud atau bersifat publik. Hanya satu URL video YouTube yang didukung per permintaan.

    Saat menentukan fileURI, Anda juga harus menentukan jenis media (mimeType) file. Jika Kontrol Layanan VPC diaktifkan, penentuan URL file media untuk fileURI tidak didukung.

    Jika tidak memiliki file PDF di Cloud Storage, Anda dapat menggunakan file yang tersedia secara publik berikut: gs://cloud-samples-data/generative-ai/pdf/2403.05530.pdf dengan jenis MIME application/pdf. Untuk melihat PDF ini, buka file PDF contoh.

  • MIME_TYPE: Jenis media file yang ditentukan dalam kolom data atau fileUri. Nilai yang dapat diterima mencakup hal berikut:

    Klik untuk meluaskan jenis MIME

    • 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: Petunjuk teks yang akan disertakan dalam perintah. Misalnya, You are a very professional document summarization specialist. Please summarize the given document.

Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:

curl

Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

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

Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

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

Simpan isi permintaan dalam file bernama request.json. Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:

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

Kemudian, jalankan perintah berikut untuk mengirim permintaan REST Anda:

$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

Anda akan menerima respons JSON yang mirip dengan berikut ini.

Perhatikan hal berikut di URL untuk sampel ini:
  • Gunakan metode generateContent untuk meminta agar respons ditampilkan setelah dibuat sepenuhnya. Untuk mengurangi persepsi latensi bagi audiens manusia, streaming respons saat respons dibuat menggunakan metode streamGenerateContent.
  • ID model multimodal terletak di akhir URL sebelum metode (misalnya, gemini-2.0-flash). Contoh ini mungkin mendukung model lain juga.

Konsol

Untuk mengirim perintah multimodal menggunakan konsol Google Cloud , lakukan hal berikut:

  1. Di bagian Vertex AI pada konsol Google Cloud , buka halaman Vertex AI Studio.

    Buka Vertex AI Studio

  2. Klik Buat perintah.

  3. Opsional: Konfigurasikan model dan parameter:

    • Model: Pilih model.
  4. Opsional: Untuk mengonfigurasi parameter lanjutan, klik Lanjutan dan konfigurasikan sebagai berikut:

    Klik untuk meluaskan konfigurasi lanjutan

    • Top-K: Gunakan penggeser atau kotak teks untuk memasukkan nilai untuk top-K.

      Top-K mengubah cara model memilih token untuk output. Top-K 1 berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan top-K 3 berarti token berikutnya dipilih di antara tiga token yang paling mungkin dengan menggunakan suhu.

      Untuk setiap langkah pemilihan token, token top-K dengan probabilitas tertinggi akan diambil sampelnya. Kemudian token akan difilter lebih lanjut berdasarkan top-P dengan token akhir yang dipilih menggunakan pengambilan sampel suhu.

      Tentukan nilai yang lebih rendah untuk respons acak yang lebih sedikit dan nilai yang lebih tinggi untuk respons acak yang lebih banyak.

    • Top-P: Gunakan penggeser atau kotak teks untuk memasukkan nilai untuk top-P. Token dipilih dari yang paling mungkin hingga yang paling tidak mungkin sampai jumlah probabilitasnya sama dengan nilai top-P. Untuk hasil yang paling sedikit variabelnya, tetapkan top-P ke 0.
    • Respons maks: Gunakan penggeser atau kotak teks untuk memasukkan nilai jumlah respons yang akan dibuat.
    • Streaming respons: Aktifkan untuk mencetak respons saat dihasilkan.
    • Nilai minimum filter keamanan: Pilih nilai minimum seberapa besar kemungkinan Anda melihat respons yang dapat berbahaya.
    • Aktifkan Perujukan: Perujukan tidak didukung untuk perintah multimodal.
    • Region: Pilih region yang ingin Anda gunakan.
    • Suhu: Gunakan penggeser atau kotak teks untuk memasukkan nilai suhu.

          
      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. Klik Sisipkan Media, lalu pilih sumber untuk file Anda.

    Upload

    Pilih file yang ingin Anda upload, lalu klik Buka.

    Melalui URL

    Masukkan URL file yang ingin Anda gunakan, lalu klik Sisipkan.

    Cloud Storage

    Pilih bucket, lalu pilih file dari bucket yang ingin Anda impor, lalu klik Pilih.

    Google Drive

    1. Pilih akun dan berikan izin kepada Vertex AI Studio untuk mengakses akun Anda saat pertama kali Anda memilih opsi ini. Anda dapat mengupload beberapa file yang memiliki total ukuran hingga 10 MB. Satu file tidak boleh melebihi 7 MB.
    2. Klik file yang ingin Anda tambahkan.
    3. Klik Pilih.

      Thumbnail file ditampilkan di panel Perintah. Jumlah total token juga ditampilkan. Jika data perintah Anda melebihi batas token, token akan terpotong dan tidak disertakan dalam pemrosesan data Anda.

  6. Masukkan perintah teks Anda di panel Perintah.

  7. Opsional: Untuk melihat ID token ke teks dan ID token, klik jumlah token di panel Perintah.

  8. Klik Kirim.

  9. Opsional: Untuk menyimpan perintah Anda ke My prompts, klik Save.

  10. Opsional: Untuk mendapatkan kode Python atau perintah curl untuk perintah Anda, klik Build with code > Get code.

Menetapkan parameter model opsional

Setiap model memiliki serangkaian parameter opsional yang dapat Anda tetapkan. Untuk mengetahui informasi selengkapnya, lihat Parameter pembuatan konten.

Tokenisasi dokumen

Tokenisasi PDF

PDF diperlakukan sebagai gambar, sehingga setiap halaman PDF di-tokenisasi dengan cara yang sama seperti gambar.

Selain itu, biaya untuk PDF mengikuti harga gambar Gemini. Misalnya, jika Anda menyertakan PDF dua halaman dalam panggilan Gemini API, Anda akan dikenai biaya input untuk memproses dua gambar.

Praktik terbaik PDF

Saat menggunakan PDF, gunakan praktik terbaik dan informasi berikut untuk mendapatkan hasil terbaik:

  • Jika perintah Anda berisi satu PDF, tempatkan PDF sebelum perintah teks dalam permintaan Anda.
  • Jika Anda memiliki dokumen yang panjang, pertimbangkan untuk membaginya menjadi beberapa PDF untuk memprosesnya.
  • Gunakan PDF yang dibuat dengan teks yang dirender sebagai teks, bukan menggunakan teks dalam gambar yang dipindai. Format ini memastikan teks dapat dibaca oleh mesin sehingga model dapat mengedit, menelusuri, dan memanipulasinya dengan lebih mudah dibandingkan dengan PDF gambar yang dipindai. Praktik ini memberikan hasil yang optimal saat bekerja dengan dokumen yang berisi banyak teks seperti kontrak.

Batasan

Meskipun model multimodal Gemini sangat canggih dalam banyak kasus penggunaan multimodal, penting untuk memahami batasan model ini:

  • Penalaran spasial: Model tidak akurat dalam menemukan teks atau objek dalam PDF. Objek tersebut mungkin hanya menampilkan perkiraan jumlah objek.
  • Akurasi: Model mungkin berhalusinasi saat menafsirkan teks tulisan tangan dalam dokumen PDF.

Langkah berikutnya