Tutorial ini akan membantu Anda memulai layanan penyesuaian Gemini API menggunakan Python SDK atau REST API menggunakan curl. Contoh ini menunjukkan cara menyesuaikan model teks di balik layanan pembuatan teks Gemini API.
![]() |
![]() |
![]() |
Batasan
Sebelum menyesuaikan model, Anda harus mengetahui batasan berikut:
Menyesuaikan set data
Set data yang dioptimalkan untuk Gemini 1.5 Flash memiliki batasan berikut:
- Ukuran input maksimum per contoh adalah 40.000 karakter.
- Ukuran output maksimum per contoh adalah 5.000 karakter.
- Hanya contoh pasangan input-output yang didukung. Percakapan multi-giliran gaya chat tidak didukung.
Model yang disesuaikan
Model yang dioptimalkan memiliki batasan berikut:
- Batas input model Gemini 1.5 Flash yang dioptimalkan adalah 40.000 karakter.
- Mode JSON tidak didukung dengan model yang dioptimalkan.
- Hanya input teks yang didukung.
Sebelum memulai: Menyiapkan project dan kunci API
Sebelum memanggil Gemini API, Anda perlu menyiapkan project dan mengonfigurasi kunci API.
Membuat daftar model yang disesuaikan
Anda dapat memeriksa model yang disesuaikan yang ada dengan
metode tunedModels.list
.
from google import genai
client = genai.Client() # Get the key from the GOOGLE_API_KEY env variable
for model_info in client.models.list():
print(model_info.name)
Membuat model yang di-tuning
Untuk membuat model yang disesuaikan, Anda harus meneruskan set data ke
model dalam metode
tunedModels.create
.
Untuk contoh ini, Anda akan menyesuaikan model untuk menghasilkan angka berikutnya dalam
urutan. Misalnya, jika inputnya adalah 1
, model akan menghasilkan output 2
. Jika
inputnya adalah one hundred
, outputnya harus one hundred one
.
# create tuning model
training_dataset = [
["1", "2"],
["3", "4"],
["-3", "-2"],
["twenty two", "twenty three"],
["two hundred", "two hundred one"],
["ninety nine", "one hundred"],
["8", "9"],
["-98", "-97"],
["1,000", "1,001"],
["10,100,000", "10,100,001"],
["thirteen", "fourteen"],
["eighty", "eighty one"],
["one", "two"],
["three", "four"],
["seven", "eight"],
]
training_dataset=types.TuningDataset(
examples=[
types.TuningExample(
text_input=i,
output=o,
)
for i,o in training_dataset
],
)
tuning_job = client.tunings.tune(
base_model='models/gemini-1.0-pro-001',
training_dataset=training_dataset,
config=types.CreateTuningJobConfig(
epoch_count= 5,
batch_size=4,
learning_rate=0.001,
tuned_model_display_name="test tuned model"
)
)
# generate content with the tuned model
response = client.models.generate_content(
model=tuning_job.tuned_model.model,
contents='III',
)
print(response.text)
Nilai optimal untuk jumlah epoch, ukuran batch, dan kecepatan belajar bergantung pada set data dan batasan lain dari kasus penggunaan Anda. Untuk mempelajari nilai ini lebih lanjut, lihat Setelan penyesuaian lanjutan dan Hyperparameter.
Mencoba model
Anda dapat menggunakan metode
tunedModels.generateContent
dan menentukan nama model yang dioptimalkan untuk menguji performanya.
response = client.models.generate_content(
model=tuning_job.tuned_model.model,
contents='III'
)
Tidak diterapkan
Beberapa fitur (pelaporan progres, memperbarui deskripsi, dan menghapus model yang dioptimalkan) belum diimplementasikan di SDK baru.