İnce ayar eğiticisi

Bu eğitim, curl kullanarak Python SDK'sını veya REST API'yi kullanarak Gemini API ayarlama hizmetini kullanmaya başlamanıza yardımcı olacaktır. Örneklerde, Gemini API metin oluşturma hizmetinin arkasındaki metin modelinin nasıl ayarlanacağı gösterilmektedir.

Sınırlamalar

Bir modeli ayarlamadan önce aşağıdaki sınırlamalara dikkat etmeniz gerekir:

Veri kümelerini hassas ayarlama

Gemini 1.5 Flash için veri kümelerinde ince ayar yapmayla ilgili aşağıdaki sınırlamalar vardır:

  • Örnek başına maksimum giriş boyutu 40.000 karakterdir.
  • Örnek başına maksimum çıkış boyutu 5.000 karakterdir.
  • Yalnızca giriş-çıkış çifti örnekleri desteklenir. Sohbet tarzında çoklu turlu görüşmeler desteklenmez.

Ayarlanmış modeller

Ayarlanmış modellerde aşağıdaki sınırlamalar vardır:

  • Ayarlanmış bir Gemini 1.5 Flash modelinin giriş sınırı 40.000 karakterdir.
  • JSON modu, ayarlanmış modellerde desteklenmez.
  • Yalnızca metin girişi desteklenir.

Başlamadan önce: Projenizi ve API anahtarınızı oluşturun

Gemini API'yi çağırmadan önce projenizi oluşturmanız ve API anahtarınızı yapılandırmanız gerekir.

API anahtarınızı alma ve güvenliğini sağlama

Gemini API'yi çağırmak için bir API anahtarına ihtiyacınız vardır. Henüz bir anahtarınız yoksa Google AI Studio'da anahtar oluşturun.

API anahtarı alma

Sürüm kontrol sisteminize API anahtarı kontrol etmemeniz önemle tavsiye edilir.

API anahtarınızı Google Cloud Secret Manager gibi bir gizli anahtar deposunda saklamanız gerekir.

Bu eğitimde, API anahtarınıza ortam değişkeni olarak eriştiğiniz varsayılmaktadır.

SDK paketini yükleyin ve API anahtarınızı yapılandırın

göz atın.

Gemini API için Python SDK'sı, google-genai paketinde bulunur.

  1. Bağımlılığı pip kullanarak yükleyin:

    pip install -U google-genai
    
  2. API anahtarınızı GOOGLE_API_KEY ortam değişkenine koyun:

    export GOOGLE_API_KEY="YOUR_KEY_HERE"
    
  3. Ortamdan anahtarı alacak bir API Client oluşturun:

    from google import genai
    
    client = genai.Client()
    

Ayarlanmış modelleri listeleme

Mevcut ayarlanmış modellerinizi tunedModels.list yöntemiyle kontrol edebilirsiniz.

from google import genai
from google.genai import types
client = genai.Client() # Get the key from the GOOGLE_API_KEY env variable

for model_info in client.models.list():
    print(model_info.name)

Ayarlanmış bir model oluşturma

Ayarlanmış bir model oluşturmak için veri kümenizi tunedModels.create yönteminde modele iletmeniz gerekir.

Bu örnekte, bir modeli sıradaki sonraki sayıyı oluşturacak şekilde ayarlayacaksınız. Örneğin, giriş 1 ise model 2 değerini döndürmelidir. Giriş one hundred ise çıkış one hundred one olmalıdır.

# 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.5-flash-001-tuning',
    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)

Dönem sayısı, toplu boyut ve öğrenme hızı için en uygun değerler, veri kümenize ve kullanım alanınızı diğer kısıtlamalarına bağlıdır. Bu değerler hakkında daha fazla bilgi edinmek için Gelişmiş ayar ayarları ve Hiperparametreler başlıklı makaleleri inceleyin.

Modeli deneyin

tunedModels.generateContent yöntemini kullanarak performansını test etmek için ayarlanmış modelin adını belirtebilirsiniz.

response = client.models.generate_content(
    model=tuning_job.tuned_model.model,
    contents='III'
)

Uygulanmadı

Bazı özellikler (ilerleme raporlama, açıklamayı güncelleme ve ayarlanmış modelleri silme) yeni SDK'ya henüz uygulanmamıştır.