Halaman ini menunjukkan cara mengirim perintah chat ke model Gemini menggunakan Konsol Google Cloud, REST API, dan SDK yang didukung.
Untuk mempelajari cara menambahkan gambar dan media lainnya ke permintaan Anda, lihat Pemahaman gambar.
Untuk mengetahui daftar bahasa yang didukung oleh Gemini, lihat Dukungan bahasa.
Untuk mempelajari model dan API AI generatif yang tersedia di Vertex AI, buka Model Garden di Konsol Google Cloud.
Jika Anda mencari cara untuk menggunakan Gemini langsung dari aplikasi seluler dan web, lihat Vertex AI di Firebase SDK untuk aplikasi Android, Swift, web, dan Flutter.
Untuk menguji dan melakukan iterasi pada perintah chat, sebaiknya gunakan konsol Google Cloud. Untuk mengirim perintah secara terprogram ke model, Anda dapat menggunakan REST API, Vertex AI SDK untuk Python, atau salah satu library dan SDK lain yang didukung yang ditampilkan di tab berikut.
Python
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.
Respons streaming dan non-streaming
Anda dapat memilih apakah model menghasilkan respons streaming atau respons non-streaming. Untuk respons streaming, Anda akan menerima setiap respons segera setelah token output-nya dibuat. Untuk respons non-streaming, Anda akan menerima semua respons setelah semua token output dibuat.
Untuk respons streaming, gunakan parameter stream
di
generate_content
.
response = model.generate_content(contents=[...], stream = True)
Untuk respons non-streaming, hapus parameter, atau tetapkan parameter ke
False
.
Kode contoh
C#
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi C# Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model menghasilkan respons streaming atau respons non-streaming. Untuk respons streaming, Anda akan menerima setiap respons segera setelah token output-nya dibuat. Untuk respons non-streaming, Anda akan menerima semua respons setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
StreamGenerateContent
.
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
Untuk respons non-streaming, gunakan
metode
GenerateContentAsync
.
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
Untuk mengetahui informasi selengkapnya tentang cara server melakukan streaming respons, lihat Streaming RPC.
Kode contoh
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai AI Generatif menggunakan Node.js SDK. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Node.js SDK untuk Gemini.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model menghasilkan respons streaming atau respons non-streaming. Untuk respons streaming, Anda akan menerima setiap respons segera setelah token output-nya dibuat. Untuk respons non-streaming, Anda akan menerima semua respons setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Untuk respons non-streaming, gunakan
metode
generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Kode contoh
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Java SDK untuk Gemini.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model menghasilkan respons streaming atau respons non-streaming. Untuk respons streaming, Anda akan menerima setiap respons segera setelah token output-nya dibuat. Untuk respons non-streaming, Anda akan menerima semua respons setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
generateContentStream
.
public ResponseStream<GenerateContentResponse> generateContentStream(Content content)
Untuk respons non-streaming, gunakan
metode
generateContent
.
public GenerateContentResponse generateContent(Content content)
Kode contoh
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di panduan memulai Vertex AI. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI Go SDK untuk Gemini.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Respons streaming dan non-streaming
Anda dapat memilih apakah model menghasilkan respons streaming atau respons non-streaming. Untuk respons streaming, Anda akan menerima setiap respons segera setelah token output-nya dibuat. Untuk respons non-streaming, Anda akan menerima semua respons setelah semua token output dibuat.
Untuk respons streaming, gunakan metode
GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Untuk respons non-streaming, gunakan metode GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Kode contoh
REST
Setelah menyiapkan lingkungan, Anda dapat menggunakan REST untuk menguji perintah teks. Contoh berikut mengirimkan permintaan ke endpoint model penayang.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
GENERATE_RESPONSE_METHOD
: Jenis respons yang ingin Anda hasilkan dari model. Pilih metode yang menghasilkan cara Anda ingin respons model ditampilkan:streamGenerateContent
: Respons di-streaming saat dibuat untuk mengurangi persepsi latensi bagi audiens manusia.generateContent
: Respons ditampilkan setelah sepenuhnya dibuat.
LOCATION
: Region untuk memproses permintaan. Opsi yang tersedia mencakup hal berikut:Klik untuk meluaskan sebagian daftar region yang tersedia
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: Project ID Anda.MODEL_ID
: ID model model multimodal yang ingin Anda gunakan. Beberapa opsi meliputi:gemini-1.0-pro-002
gemini-1.0-pro-vision-001
gemini-1.5-pro-002
gemini-1.5-flash
Petunjuk teks yang akan disertakan dalam perintah pertama percakapan multi-giliran. Misalnya,TEXT1
What are all the colors in a rainbow?
Petunjuk teks yang akan disertakan dalam perintah kedua. Misalnya,TEXT2
Why does it appear when it rains?
TEMPERATURE
: Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saattopP
dantopK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons pengganti, coba tingkatkan suhunya.
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": { "text": "TEXT1" } }, { "role": "model", "parts": { "text": "What a great question!" } }, { "role": "user", "parts": { "text": "TEXT2" } } ], "generation_config": { "temperature": TEMPERATURE } } 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD"
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": { "text": "TEXT1" } }, { "role": "model", "parts": { "text": "What a great question!" } }, { "role": "user", "parts": { "text": "TEXT2" } } ], "generation_config": { "temperature": TEMPERATURE } } '@ | 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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan berikut ini.
Perhatikan hal berikut di URL untuk contoh ini:- Gunakan metode
generateContent
untuk meminta respons ditampilkan setelah sepenuhnya dibuat. Untuk mengurangi persepsi latensi kepada audiens manusia, streaming respons saat dihasilkan menggunakan metodestreamGenerateContent
. - ID model multimodal terletak di akhir URL sebelum metode (misalnya,
gemini-1.5-flash
ataugemini-1.0-pro-vision
). Contoh ini juga dapat mendukung model lainnya.
Konsol
Untuk menggunakan Vertex AI Studio guna mengirim perintah chat di Konsol Google Cloud, lakukan hal berikut:
- Di bagian Vertex AI pada Konsol Google Cloud, buka halaman Vertex AI Studio.
- Di bagian Mulai percakapan, klik Chat teks.
Opsional: Konfigurasi model dan parameter:
- Model: Pilih Gemini Pro.
- Region: Pilih region yang ingin Anda gunakan.
Suhu: Gunakan penggeser atau kotak teks untuk memasukkan nilai suhu.
Suhu digunakan untuk pengambilan sampel selama pembuatan respons, yang terjadi saattopP
dantopK
diterapkan. Suhu mengontrol tingkat keacakan dalam pemilihan token. Suhu yang lebih rendah cocok untuk perintah yang memerlukan respons yang kurang terbuka atau kreatif, sedangkan suhu yang lebih tinggi dapat memberikan hasil yang lebih beragam atau kreatif. Suhu0
berarti token probabilitas tertinggi selalu dipilih. Dalam hal ini, respons untuk permintaan tertentu sebagian besar deterministik, tetapi sedikit variasi masih dapat dilakukan.Jika model menampilkan respons yang terlalu umum, terlalu pendek, atau model memberikan respons pengganti, coba tingkatkan suhunya.
Batas token output: Gunakan penggeser atau kotak teks untuk memasukkan nilai batas output maksimum.
Jumlah maksimum token yang dapat dibuat dalam respons. Token terdiri dari sekitar empat karakter. 100 token setara dengan sekitar 60-80 kata.Tentukan nilai yang lebih rendah untuk respons yang lebih singkat dan nilai yang lebih tinggi untuk respons yang berpotensi lebih panjang.
- Tambahkan urutan perhentian: Opsional. Masukkan urutan perhentian, yang merupakan rangkaian karakter yang menyertakan spasi. Jika model menemukan urutan berhenti, pembuatan respons akan berhenti. Urutan perhentian tidak disertakan dalam respons, dan Anda dapat menambahkan hingga lima urutan perhentian.
- 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-K1
berarti token yang dipilih berikutnya adalah yang paling mungkin di antara semua token dalam kosakata model (juga disebut decoding greedy), sedangkan top-K3
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
. - Aktifkan Grounding: Tambahkan sumber grounding dan jalur untuk menyesuaikan fitur ini.
- Masukkan perintah teks Anda di panel Prompt. Model ini menggunakan pesan sebelumnya sebagai konteks untuk respons baru.
- Opsional: Untuk menampilkan jumlah token teks, klik Lihat token. Anda dapat melihat token atau ID token perintah teks Anda.
- Untuk melihat token dalam perintah teks yang ditandai dengan warna berbeda yang menandai batas setiap ID token, klik Token ID to text. Token media tidak didukung.
- Untuk melihat ID token, klik ID Token.
Untuk menutup panel alat pemisah kata, klik X, atau klik di luar panel.
- Klik Kirim.
- Opsional: Untuk menyimpan perintah Anda ke My prompts, klik Save.
- Opsional: Untuk mendapatkan kode Python atau perintah curl untuk perintah Anda, klik Get code.
- Opsional: Untuk menghapus semua pesan sebelumnya, klik Hapus percakapan
Anda dapat menggunakan petunjuk sistem untuk mengarahkan perilaku model berdasarkan kebutuhan atau kasus penggunaan tertentu. Misalnya, Anda dapat menentukan persona atau peran untuk chatbot yang merespons permintaan layanan pelanggan. Untuk informasi selengkapnya, lihat contoh kode petunjuk sistem.
Langkah selanjutnya
Pelajari cara mengirim permintaan perintah multimodal:
Pelajari praktik terbaik responsible AI dan filter keamanan Vertex AI.