Bu eğitim, Gemini API ayar hizmetini kullanmaya başlamanıza yardımcı olacaktır. Python SDK veya REST API kullanarak curl değerine ayarlayın. Örneklerde, arka plandaki metin modelinin nasıl ayarlanacağı gösterilmektedir Gemini API metin oluşturma hizmeti.
ai.google.dev adresinde görüntüleme | Colab not defterini deneyin | GitHub'da not defterini görüntüle |
Sınırlamalar
Bir modelde ince ayar yapmadan önce, aşağıdaki sınırlamaların farkında olmanız gerekir:
Veri kümelerini hassas ayarlama
Gemini 1.5 Flash için veri kümelerinde ince ayar yapmak için aşağıdaki sınırlamalar geçerlidir:
- Ö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ış 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.
Hassaslaştırılmış modelleri listeleme
Mevcut ayarlanmış modellerinizi tunedModels.list
yöntemiyle kontrol edebilirsiniz.
import google.generativeai as genai
for model_info in genai.list_tuned_models():
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
çıktısı vermelidir. Giriş one hundred
ise çıkış one hundred one
olmalıdır.
import google.generativeai as genai
import time
base_model = "models/gemini-1.5-flash-001-tuning"
training_data = [
{"text_input": "1", "output": "2"},
# ... more examples ...
# ...
{"text_input": "seven", "output": "eight"},
]
operation = genai.create_tuned_model(
# You can use a tuned model here too. Set `source_model="tunedModels/..."`
display_name="increment",
source_model=base_model,
epoch_count=20,
batch_size=4,
learning_rate=0.001,
training_data=training_data,
)
for status in operation.wait_bar():
time.sleep(10)
result = operation.result()
print(result)
# # You can plot the loss curve with:
# snapshots = pd.DataFrame(result.tuning_task.snapshots)
# sns.lineplot(data=snapshots, x='epoch', y='mean_loss')
model = genai.GenerativeModel(model_name=result.name)
result = model.generate_content("III")
print(result.text) # IV
Dönem sayısı, grup boyutu ve öğrenme hızı için en uygun değerler bağlıdır veri kümenize ve kullanım alanınızın diğer kısıtlamalarına bağlı kalır. Şu konu hakkında daha fazla bilgi edinmek için: daha fazla bilgi için Gelişmiş ayar ayarları ve Hiperparametreler.
Bir modelin ayarlanması önemli ölçüde zaman alabileceğinden bu API,
ayarlama yapabilirsiniz. Bunun yerine, bir google.api_core.operation.Operation
değeri döndürüyor
ince ayar işinin durumunu kontrol etmenizi veya
ve sonucu kontrol edin.
Hassaslaştırılmış modeliniz, hassaslaştırılmış modeller listesine hemen eklenir, ancak durum "create" değerine ayarlandığında otomatik olarak devreye girer.
Ayarlamanın ilerleme durumunu kontrol etme
İnce ayar işleminin ilerleme durumunu wait_bar()
kullanarak kontrol edebilirsiniz.
yöntem:
for status in operation.wait_bar():
time.sleep(10)
Toplam ayarlama adımı sayısını kontrol etmek için operation.metadata
öğesini de kullanabilirsiniz
ve operation.update()
tuşlarına basarak işlemin durumunu yenileyin.
cancel()
yöntemini kullanarak ayarlama işinizi dilediğiniz zaman iptal edebilirsiniz.
operation.cancel()
Modeli deneyin
tunedModels.generateContent
yöntemini kullanarak performansını test etmek için ayarlanmış modelin adını belirtebilirsiniz.
import google.generativeai as genai
model = genai.GenerativeModel(model_name="tunedModels/my-increment-model")
result = model.generate_content("III")
print(result.text) # "IV"
Açıklamayı güncelle
genai.update_tuned_model
yöntemini kullanarak ayarlanmış modelinizin açıklamasını istediğiniz zaman güncelleyebilirsiniz.
genai.update_tuned_model('tunedModels/my-increment-model', {"description":"This is my model."})
Modeli silme
Artık ihtiyaç duymadığınız modelleri silerek ayarlanmış model listenizi temizleyebilirsiniz.
Bir modeli silmek için tunedModels.delete
yöntemini kullanın. İptal ettiğiniz ayarlama işlerinin performansı tahmin edilemez olabileceğinden bunları silebilirsiniz.
genai.delete_tuned_model("tunedModels/my-increment-model")