این آموزش به شما کمک می کند تا با استفاده از Python SDK یا REST API با استفاده از curl شروع به کار با سرویس تنظیم API Gemini کنید. مثالها نحوه تنظیم مدل متنی در پشت سرویس تولید متن Gemini API را نشان میدهند.
![]() | ![]() | ![]() |
محدودیت ها
قبل از تنظیم یک مدل، باید از محدودیت های زیر آگاه باشید:
تنظیم دقیق مجموعه داده ها
مجموعه داده های تنظیم دقیق برای Gemini 1.5 Flash دارای محدودیت های زیر است:
- حداکثر اندازه ورودی در هر نمونه 40000 کاراکتر است.
- حداکثر اندازه خروجی در هر نمونه 5000 کاراکتر است.
- فقط نمونه های جفت ورودی-خروجی پشتیبانی می شوند. مکالمات چند نوبتی به سبک چت پشتیبانی نمی شود.
مدل های تیون شده
مدل های تنظیم شده دارای محدودیت های زیر هستند:
- محدودیت ورودی یک مدل فلش جمینی 1.5 تنظیم شده 40000 کاراکتر است.
- حالت JSON با مدل های تنظیم شده پشتیبانی نمی شود.
- فقط ورودی متن پشتیبانی می شود.
قبل از شروع: پروژه و کلید API خود را تنظیم کنید
قبل از فراخوانی Gemini API، باید پروژه خود را راه اندازی کرده و کلید API خود را پیکربندی کنید.
کلید API خود را دریافت و ایمن کنید
برای فراخوانی Gemini API به یک کلید API نیاز دارید. اگر قبلاً یکی ندارید، یک کلید در Google AI Studio ایجاد کنید.
اکیداً توصیه می شود که یک کلید API را در سیستم کنترل نسخه خود بررسی نکنید .
شما باید کلید API خود را در یک فروشگاه محرمانه مانند Google Cloud Secret Manager ذخیره کنید.
این آموزش فرض می کند که شما به کلید API خود به عنوان یک متغیر محیطی دسترسی دارید.
بسته SDK را نصب کنید و کلید API خود را پیکربندی کنید
Python SDK برای Gemini API در بسته google-genai
موجود است.
وابستگی را با استفاده از pip نصب کنید:
pip install -U google-genai
کلید API خود را در متغیر محیطی
GOOGLE_API_KEY
قرار دهید:export GOOGLE_API_KEY="YOUR_KEY_HERE"
یک API
Client
ایجاد کنید، کلید را از محیط دریافت می کند:import google.generativeai as genai client = genai.Client()
مدل های تنظیم شده را لیست کنید
می توانید مدل های تنظیم شده موجود خود را با روش 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)
یک مدل تنظیم شده ایجاد کنید
برای ایجاد یک مدل تنظیم شده، باید مجموعه داده خود را به مدل در متد tunedModels.create
ارسال کنید.
برای این مثال، شما یک مدل را برای تولید عدد بعدی در دنباله تنظیم می کنید. به عنوان مثال، اگر ورودی 1
باشد، مدل باید خروجی 2
داشته باشد. اگر ورودی one hundred
باشد، خروجی باید 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)
مقادیر بهینه برای تعداد دوره، اندازه دسته و نرخ یادگیری به مجموعه داده شما و سایر محدودیتهای مورد استفاده شما بستگی دارد. برای کسب اطلاعات بیشتر در مورد این مقادیر، تنظیمات تنظیم پیشرفته و Hyperparameters را ببینید.
مدل را امتحان کنید
می توانید از روش tunedModels.generateContent
استفاده کنید و نام مدل تنظیم شده را برای تست عملکرد آن مشخص کنید.
response = client.models.generate_content(
model=tuning_job.tuned_model.model,
contents='III'
)
اجرا نشده است
برخی از ویژگیها (گزارش پیشرفت، بهروزرسانی توضیحات، و حذف مدلهای تنظیمشده) هنوز در SDK جدید پیادهسازی نشدهاند.