Panduan memulai ini menunjukkan cara menginstal Google Gen AI SDK untuk bahasa pilihan Anda, lalu membuat permintaan API pertama. Sampelnya sedikit bervariasi berdasarkan apakah Anda menggunakan kunci API atau kredensial default aplikasi (ADC) untuk autentikasi.
Pilih metode autentikasi Anda:
Sebelum memulai
Jika Anda belum menyiapkan kredensial default aplikasi, lihat Mengonfigurasi kredensial default aplikasi.
Menyiapkan lingkungan Anda
Python
-
Dengan menggunakan Python 3.9 atau yang lebih baru, instal Google Gen AI SDK:
pip install -q -U google-genai
-
Menetapkan variabel lingkungan:
export GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID
REST
Menetapkan variabel lingkungan:
export GOOGLE_CLOUD_PROJECT=YOUR_PROJECT_ID
Membuat permintaan pertama Anda
Gunakan metode generateContent
untuk mengirim permintaan ke Gemini API di Vertex AI:
Python
from google import genai client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") response = client.models.generate_content( model="gemini-2.0-flash", contents="Explain how AI works in a few words" ) print(response.text)
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/global/publishers/google/models/gemini-2.0-flash-001:generateContent -d \ $'{ "contents": { "role": "user", "parts": { "text": "Explain how AI works in a few words" } } }'
Buat gambar
Gemini dapat membuat dan memproses gambar secara percakapan. Anda dapat meminta Gemini dengan teks, gambar, atau kombinasi keduanya untuk menyelesaikan berbagai tugas terkait gambar, seperti pembuatan dan pengeditan gambar. Kode berikut menunjukkan cara membuat gambar berdasarkan perintah deskriptif:
Anda harus menyertakan responseModalities: ["TEXT", "IMAGE"]
dalam
konfigurasi. Output khusus gambar tidak didukung dengan model ini.
Python
from google import genai from google.genai import types from PIL import Image from io import BytesIO import base64 client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") contents = ('Hi, can you create an image of the Eiffel tower with fireworks in the background?') response = client.models.generate_content( model="gemini-2.0-flash-preview-image-generation", contents=contents, config=types.GenerateContentConfig( response_modalities=['TEXT', 'IMAGE'] ) ) for part in response.candidates[0].content.parts: if part.text is not None: print(part.text) elif part.inline_data is not None: image = Image.open(BytesIO((part.inline_data.data))) image.save('gemini-native-image.png') image.show()
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/global/publishers/google/models/gemini-2.0-flash-preview-image-generation:generateContent -d \ $'{ "contents": { "role": "user", "parts": { "text": "Can you create an image of the Eiffel tower with fireworks in the background?" } }, "generationConfig": { "responseModalities":["TEXT","IMAGE"] } }'
Pemahaman gambar
Gemini juga dapat memahami gambar. Kode berikut menggunakan gambar yang dihasilkan di bagian sebelumnya dan menggunakan model yang berbeda untuk menyimpulkan informasi tentang gambar:
Python
from google import genai from google.genai import types with open("gemini-native-image.png", "rb") as f: image = f.read() client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") response = client.models.generate_content( model="gemini-flash-2.0", contents=[ Part.from_bytes(data=image, mime_type="image/png"), "Write a short and engaging blog post based on this picture.", ], ) print(response.text) ''' Okay, here's a short and engaging blog post inspired by the image: **Paris Aglow: A Night to Remember!** WOW! Just look at this image. Fireworks exploding over Paris, the Eiffel Tower brilliantly lit – can you imagine a more magical sight? This is Paris at its most dazzling, a city transformed into a canvas of light and color. The Eiffel Tower, the iconic symbol of Paris, stands proud amidst the spectacle. It's illuminated in blue, adding to the magical atmosphere of the celebrations. Whether it's a special occasion, a national holiday, or just a spontaneous celebration of life, Paris knows how to put on a show. This image is a reminder of the city's enduring beauty and its power to inspire awe. Have you ever witnessed the magic of Paris? Let me know in the comments! '''
REST
-
Tetapkan variabel shell untuk image yang Anda gunakan:
export B64_BASE_IMAGE=YOUR_B64_ENCODED_IMAGE
-
Jalankan perintah berikut:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/global/publishers/google/models/gemini-2.0-flash:generateContent -d \ $'{ "contents": [ { "role": "user", "parts": [ {"text": "Write a short and engaging blog post based on this picture."}, {"inlineData": { "data": "${B64_BASE_IMAGE}", "mimeType": "image/png", } } ] } ] }'
Eksekusi kode
Fitur eksekusi kode Gemini API di Vertex AI memungkinkan model membuat dan menjalankan kode Python, serta belajar secara berulang dari hasil hingga mencapai output akhir. Vertex AI menyediakan eksekusi kode sebagai alat, mirip dengan panggilan fungsi. Anda dapat menggunakan kemampuan eksekusi kode ini untuk membuat aplikasi yang mendapatkan manfaat dari penalaran berbasis kode dan menghasilkan output teks. Contoh:
Python
from google import genai from google.genai import types client = genai.Client(vertexai=True, project="${GOOGLE_CLOUD_PROJECT}", location="global") response = client.models.generate_content( model="gemini-2.0-flash", contents="What is the sum of the first 50 prime numbers? " "Generate and run code for the calculation, and make sure you get all 50.", config=types.GenerateContentConfig( tools=[types.Tool(code_execution=types.ToolCodeExecution)] ), ) for part in response.candidates[0].content.parts: if part.text is not None: print(part.text) if part.executable_code is not None: print(part.executable_code.code) if part.code_execution_result is not None: print(part.code_execution_result.output)
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1/projects/${GOOGLE_CLOUD_PROJECT}/locations/us-central1/publishers/google/models/gemini-2.0-flash-001:generateContent -d \ $'{ "tools": [{'codeExecution': {}}], "contents": { "role": "user", "parts": { "text": "What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50." } }, }'
Untuk contoh eksekusi kode lainnya, lihat dokumentasi eksekusi kode.
Langkah berikutnya
Setelah membuat permintaan API pertama, sebaiknya pelajari panduan berikut yang menunjukkan cara menyiapkan fitur Vertex AI yang lebih canggih untuk kode produksi: