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 generateContent dan streamGenerateContent Google Cloud Platform. Fokusnya adalah pada output teks dari input teks saja serta input teks dan gambar. Kepada pelajari lebih lanjut prompting multimodal dengan file video dan audio, lihat Strategi pembuatan perintah file.

Sebelum memulai: Siapkan project dan kunci API Anda

Sebelum memanggil Gemini API, Anda perlu menyiapkan project dan mengonfigurasi kunci API Anda.

Membuat teks dari input hanya teks

Cara paling sederhana untuk membuat teks menggunakan Gemini API adalah dengan menyediakan dengan satu input hanya teks, seperti yang ditunjukkan dalam contoh ini:

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

Dalam hal ini, prompt ("Tulis cerita tentang ransel ajaib") tidak menyertakan contoh output, petunjuk sistem, atau informasi format. Game ini zero-shot pendekatan. Untuk beberapa kasus penggunaan, one-shot atau Prompt few-shot mungkin menghasilkan {i>output<i} yang lebih sesuai dengan ekspektasi pengguna. Dalam beberapa kasus, Anda mungkin juga ingin menyediakan petunjuk sistem untuk membantu model memahami tugas atau mengikuti panduan spesifik.

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 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 halnya prompting teks saja, perintah multimodal dapat melibatkan berbagai pendekatan dan penyempurnaan. Tergantung pada {i>output<i} dari contoh ini, Anda mungkin ingin tambahkan langkah-langkah ke dalam perintah atau buat petunjuk yang lebih spesifik. Untuk mempelajari lebih lanjut, lihat Strategi prompt file.

Membuat aliran teks

Secara default, model menampilkan respons setelah melengkapi seluruh teks yang sama. Anda dapat mencapai interaksi yang lebih cepat dengan tidak menunggu keseluruhan hasil, dan sebagai gantinya gunakan streaming untuk menangani hasil yang tidak lengkap.

Contoh berikut menunjukkan cara mengimplementasikan streaming menggunakan Metode streamGenerateContent untuk membuat teks dari prompt input teks saja.

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 percakapan yang interaktif bagi pengguna. Menggunakan fitur chat API memungkinkan Anda mengumpulkan beberapa pertanyaan dan respons, yang memungkinkan pengguna untuk melangkah secara bertahap menuju jawaban atau mendapatkan bantuan dengan masalah multibagian. Fitur ini cocok untuk aplikasi yang membutuhkan komunikasi berkelanjutan, seperti chatbot, tutor interaktif, atau dukungan pelanggan asisten.

Contoh kode berikut menunjukkan implementasi chat dasar:

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)

Mengonfigurasi pembuatan teks

Setiap prompt yang Anda kirim ke model mencakup parameter yang mengontrol cara model menghasilkan respons. Anda dapat menggunakan GenerationConfig ke mengonfigurasi parameter ini. Jika Anda tidak mengonfigurasi parameter, menggunakan opsi default, yang dapat bervariasi berdasarkan model.

Contoh berikut menunjukkan cara mengonfigurasi beberapa opsi yang tersedia.

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 yang akan ditampilkan. Saat ini, nilai ini hanya dapat ditetapkan ke 1. Jika tidak disetel, nilai defaultnya adalah 1.

stopSequences menentukan rangkaian urutan karakter (hingga 5) yang akan menghentikan pembuatan output. Jika ditetapkan, API akan berhenti pada penampilan pertama dari stop_sequence. Urutan perhentian tidak akan disertakan sebagai bagian dari yang dihasilkan.

maxOutputTokens menetapkan jumlah maksimum token yang akan disertakan dalam kandidat.

temperature mengontrol keacakan output. Gunakan nilai yang lebih tinggi untuk respons kreatif, dan nilai yang lebih rendah untuk respons yang lebih determenistik. Nilai-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 nilai masing-masing panggilan menggantikan nilai di konstruktor model.

Langkah berikutnya

Panduan ini menunjukkan cara menggunakan generateContent dan streamGenerateContent untuk menghasilkan output teks dari input teks saja serta teks dan gambar. Untuk mempelajari lebih lanjut tentang cara membuat teks menggunakan Gemini API, lihat referensi berikut:

  • Strategi permintaan file: Gemini API mendukung pembuatan perintah dengan data teks, gambar, audio, dan video, yang dikenal sebagai multimodal prompting.
  • Petunjuk sistem: Sistem memungkinkan Anda mengarahkan perilaku model berdasarkan kebutuhan dan kasus penggunaan Anda.
  • Panduan keamanan: Terkadang AI generatif menghasilkan output yang tidak diharapkan, misalnya output yang tidak akurat, bias, atau menyinggung. Pascapemrosesan dan evaluasi manual sangat penting untuk membatasi risiko bahaya dari {i>output<i} tersebut.