Gemini API dapat menghasilkan output teks saat teks, gambar, video, dan audio diberikan sebagai input.
Panduan ini menunjukkan cara membuat teks menggunakan metode
generateContent
dan
streamGenerateContent
. Untuk mempelajari cara menggunakan kemampuan audio dan visi Gemini,
lihat panduan Visi dan Audio.
Sebelum memulai: Menyiapkan project dan kunci API
Sebelum memanggil Gemini API, Anda perlu menyiapkan project dan mengonfigurasi kunci API.
Membuat teks dari input khusus teks
Cara termudah untuk membuat teks menggunakan Gemini API adalah dengan memberikan satu input khusus teks ke model, seperti yang ditunjukkan dalam contoh ini:
import google.generativeai as genai
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)
Dalam hal ini, perintah ("Tulis cerita tentang ransel ajaib") tidak menyertakan contoh output, petunjuk sistem, atau informasi pemformatan. Ini adalah pendekatan zero-shot. Untuk beberapa kasus penggunaan, perintah one-shot atau few-shot mungkin menghasilkan output yang lebih selaras dengan ekspektasi pengguna. Dalam beberapa kasus, Anda mungkin juga ingin memberikan petunjuk sistem untuk membantu model memahami tugas atau mengikuti panduan tertentu.
Membuat teks dari input teks dan gambar
Gemini API mendukung input multimodal yang menggabungkan teks dengan file media. Contoh berikut menunjukkan cara membuat teks dari input teks dan gambar:
import google.generativeai as genai
import PIL.Image
model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)
Seperti prompt teks saja, prompt multimodal dapat melibatkan berbagai pendekatan dan peningkatan. Bergantung pada output dari contoh ini, sebaiknya Anda menambahkan langkah ke perintah atau lebih spesifik dalam petunjuk Anda. Untuk mempelajari lebih lanjut, lihat Strategi perintah file.
Membuat streaming teks
Secara default, model menampilkan respons setelah menyelesaikan seluruh proses pembuatan teks. Anda dapat mencapai interaksi yang lebih cepat dengan tidak menunggu seluruh hasil, dan sebagai gantinya menggunakan streaming untuk menangani hasil sebagian.
Contoh berikut menunjukkan cara menerapkan streaming menggunakan
metode streamGenerateContent
untuk
membuat teks dari perintah input khusus teks.
import google.generativeai as genai
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.", stream=True)
for chunk in response:
print(chunk.text)
print("_" * 80)
Membuat chat interaktif
Anda dapat menggunakan Gemini API untuk membuat pengalaman chat interaktif bagi pengguna. Dengan menggunakan fitur chat API, Anda dapat mengumpulkan beberapa putaran pertanyaan dan respons, sehingga pengguna dapat melangkah secara bertahap menuju jawaban atau mendapatkan bantuan untuk masalah multibagian. Fitur ini ideal untuk aplikasi yang memerlukan komunikasi berkelanjutan, seperti chatbot, tutor interaktif, atau asisten dukungan pelanggan.
Contoh kode berikut menunjukkan implementasi chat dasar:
import google.generativeai as genai
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)
Mengaktifkan streaming chat
Anda juga dapat menggunakan streaming dengan chat, seperti yang ditunjukkan pada contoh berikut:
import google.generativeai as genai
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.", stream=True)
for chunk in response:
print(chunk.text)
print("_" * 80)
response = chat.send_message("How many paws are in my house?", stream=True)
for chunk in response:
print(chunk.text)
print("_" * 80)
print(chat.history)
Mengonfigurasi pembuatan teks
Setiap perintah yang Anda kirim ke model menyertakan
parameter yang
mengontrol cara model menghasilkan respons. Anda dapat menggunakan
GenerationConfig
untuk
mengonfigurasi parameter ini. Jika Anda tidak mengonfigurasi parameter, model akan menggunakan opsi default, yang dapat bervariasi menurut model.
Contoh berikut menunjukkan cara mengonfigurasi beberapa opsi yang tersedia.
import google.generativeai as genai
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
"Tell me a story about a magic backpack.",
generation_config=genai.types.GenerationConfig(
# Only one candidate for now.
candidate_count=1,
stop_sequences=["x"],
max_output_tokens=20,
temperature=1.0,
),
)
print(response.text)
candidateCount
menentukan jumlah respons yang dihasilkan untuk ditampilkan.
Saat ini, nilai ini hanya dapat ditetapkan ke 1. Jika tidak ditetapkan, setelan defaultnya adalah 1.
stopSequences
menentukan kumpulan urutan karakter (maksimal 5) yang akan menghentikan pembuatan output. Jika ditentukan, API akan berhenti pada kemunculan pertama
stop_sequence
. Urutan perhentian tidak akan disertakan sebagai bagian dari
respons.
maxOutputTokens
menetapkan jumlah maksimum token yang akan disertakan dalam kandidat.
temperature
mengontrol keacakan output. Gunakan nilai yang lebih tinggi untuk respons yang lebih
kreatif, dan nilai yang lebih rendah untuk respons yang lebih deterministik. Nilai
dapat berkisar dari [0,0, 2,0].
Anda juga dapat mengonfigurasi setiap panggilan ke generateContent
:
response = model.generate_content(
'Write a story about a magic backpack.',
generation_config = genai.GenerationConfig(
max_output_tokens=1000,
temperature=0.1,
)
)
Setiap nilai yang ditetapkan pada setiap panggilan akan mengganti nilai pada konstruktor model.
Langkah berikutnya
Setelah menjelajahi dasar-dasar Gemini API, Anda dapat mencoba:
- Pemahaman visi: Pelajari cara menggunakan pemahaman visi native Gemini untuk memproses gambar dan video.
- Petunjuk sistem: Petunjuk sistem memungkinkan Anda mengarahkan perilaku model berdasarkan kebutuhan dan kasus penggunaan tertentu.
- Pemahaman audio: Pelajari cara menggunakan pemahaman audio native Gemini untuk memproses file audio.