Membuat teks menggunakan Gemini API

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.