Gemini API dapat menghasilkan output teks dari berbagai jenis input, termasuk teks, gambar, video, dan audio. Anda dapat menggunakan pembuatan teks untuk berbagai aplikasi, termasuk:
- Menulis kreatif
- Mendeskripsikan atau menafsirkan aset media
- Pelengkapan teks
- Meringkas teks bentuk bebas
- Menerjemahkan antarbahasa
- Chatbot
- Kasus penggunaan baru Anda sendiri
Panduan ini menunjukkan cara membuat teks menggunakan API
generateContent
dan
streamGenerateContent
serta SDK sisi server pilihan Anda. Fokusnya
adalah pada output teks dari input teks saja serta input teks dan gambar. Untuk mempelajari lebih lanjut
pengaturan multimodal dengan file video dan audio, lihat
Memberi perintah dengan file media.
Sebelum memulai: Siapkan project dan kunci API Anda
Sebelum memanggil Gemini API, Anda perlu menyiapkan project dan mengonfigurasi kunci API.
Membuat teks dari input hanya teks
Cara paling sederhana untuk membuat teks menggunakan Gemini API adalah dengan memberi model dengan satu input hanya teks, seperti yang ditunjukkan dalam contoh ini:
import os
import google.generativeai as genai
# Access your API key as an environment variable.
genai.configure(api_key=os.environ['API_KEY'])
# Choose a model that's appropriate for your use case.
model = genai.GenerativeModel('gemini-1.5-flash')
prompt = "Write a story about a magic backpack."
response = model.generate_content(prompt)
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 dapat menghasilkan output yang lebih sesuai 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 menghasilkan teks dari input teks dan gambar:
import pathlib
import os
import google.generativeai as genai
# Access your API key as an environment variable.
genai.configure(api_key=os.environ['API_KEY'])
# Choose a model that's appropriate for your use case.
model = genai.GenerativeModel('gemini-1.5-flash')
image1 = {
'mime_type': 'image/jpeg',
'data': pathlib.Path('image1.jpg').read_bytes()
}
image2 = {
'mime_type': 'image/jpeg',
'data': pathlib.Path('image2.jpg').read_bytes()
}
prompt = "What's different between these pictures?"
response = model.generate_content([prompt, image1, image2])
print(response.text)
Seperti halnya pembuatan perintah khusus teks, pembuatan perintah multimodal dapat melibatkan berbagai pendekatan dan pengoptimalan. Bergantung pada output dari contoh ini, Anda mungkin ingin menambahkan langkah-langkah ke perintah atau lebih spesifik dalam petunjuk. Untuk mempelajari lebih lanjut, lihat Strategi pembuatan perintah file.
Membuat aliran 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 parsial.
Contoh berikut menunjukkan cara mengimplementasikan streaming menggunakan
metode streamGenerateContent
untuk
membuat teks dari perintah input khusus teks.
import os
import google.generativeai as genai
# Access your API key as an environment variable.
genai.configure(api_key=os.environ['API_KEY'])
# Choose a model that's appropriate for your use case.
model = genai.GenerativeModel('gemini-1.5-flash')
prompt = "Write a story about a magic backpack."
response = model.generate_content(prompt, stream=True)
for chunk in response:
print(chunk.text)
print("_"*80)
Membuat chat interaktif
Anda dapat menggunakan Gemini API untuk membuat pengalaman percakapan yang interaktif bagi pengguna. Dengan menggunakan fitur chat API, Anda dapat mengumpulkan beberapa putaran pertanyaan dan respons, sehingga pengguna dapat secara bertahap memberikan jawaban atau mendapatkan bantuan terkait 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 os
import google.generativeai as genai
genai.configure(api_key=os.environ['API_KEY'])
model = genai.GenerativeModel('gemini-1.5-flash')
chat = model.start_chat(history=[])
response = chat.send_message(
'In one sentence, explain how a computer works to a young child.')
print(response.text)
response = chat.send_message(
'Okay, how about a more detailed explanation to a high schooler?')
print(response.text)
Mengonfigurasi pembuatan teks
Setiap perintah yang Anda kirim ke model akan 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 berdasarkan model.
Contoh berikut menunjukkan cara mengonfigurasi dua opsi yang
tersedia: temperature
dan maxOutputTokens
.
model = genai.GenerativeModel(
'gemini-1.5-flash',
generation_config=genai.GenerationConfig(
max_output_tokens=2000,
temperature=0.9,
))
temperature
mengontrol keacakan output. Gunakan nilai yang lebih tinggi untuk respons yang lebih kreatif, dan nilai yang lebih rendah untuk respons yang lebih determenistik. Nilai dapat berkisar dari [0.0, 2.0].
maxOutputTokens
menetapkan jumlah maksimum token yang akan disertakan dalam kandidat.
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 nilai masing-masing panggilan menggantikan nilai di konstruktor model.
Langkah selanjutnya
Panduan ini menunjukkan cara menggunakan
generateContent
dan
streamGenerateContent
untuk menghasilkan output teks dari input khusus teks serta teks dan gambar. Untuk mempelajari lebih lanjut
cara membuat teks menggunakan Gemini API, lihat referensi berikut:
- Perintah dengan file media: Gemini API mendukung pembuatan perintah dengan data teks, gambar, audio, dan video, yang juga dikenal sebagai perintah multimodal.
- Petunjuk sistem: Petunjuk sistem memungkinkan Anda mengarahkan perilaku model berdasarkan kebutuhan dan kasus penggunaan spesifik Anda.
- Panduan keamanan: Terkadang model AI generatif menghasilkan output yang tidak terduga, seperti output yang tidak akurat, bias, atau menyinggung. Pascapemrosesan dan evaluasi manual sangat penting untuk membatasi risiko bahaya dari output tersebut.