ستساعدك هذه المقالة التعليمية على بدء استخدام خدمة ضبط Gemini API باستخدام حزمة Python SDK أو واجهة برمجة التطبيقات REST باستخدام curl. توضّح الأمثلة كيفية ضبط نموذج النص الذي يستند إليه خدمة إنشاء النصوص في Gemini API.
قبل البدء
قبل استدعاء واجهة برمجة التطبيقات Gemini API، تأكَّد من تثبيت حزمة تطوير البرامج (SDK) المفضّلة لديك ، وضبط مفتاح واجهة برمجة التطبيقات Gemini API وجاهزيته للاستخدام.
![]() |
![]() |
![]() |
القيود
قبل ضبط نموذج، يجب أن تكون على دراية بالقيود التالية:
تحسين مجموعات البيانات
تنطبق القيود التالية على مجموعات البيانات التي تم تحسينها لنموذج Gemini 1.5 Flash:
- الحد الأقصى لحجم الإدخال لكل مثال هو 40,000 حرف.
- الحد الأقصى لحجم الإخراج لكل مثال هو 5,000 حرف.
- لا يُسمح إلا بأمثلة أزواج الإدخال/الإخراج. لا تتوفّر المحادثات المتعدّدة الخطوات بأسلوب المحادثة.
النماذج المحسَّنة
تنطبق القيود التالية على النماذج المحسّنة:
- الحد الأقصى المسموح به للإدخال في نموذج Gemini 1.5 Flash المُعدّل هو 40,000 حرف.
- لا يتوفّر وضع JSON مع النماذج المحسّنة.
- لا يتوفّر إدخال سوى النصوص.
عرض النماذج المحسَّنة
يمكنك التحقّق من النماذج المحسّنة الحالية باستخدام طريقة
tunedModels.list
.
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)
إنشاء نموذج معدَّل
لإنشاء نموذج معدَّل، عليك تمرير dataset إلى
النموذج في الأسلوب 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.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)
تعتمد القيم المثلى لعدد الفترات وحجم الحزمة ومعدّل التعلّم على مجموعة البيانات والقيود الأخرى لحالة الاستخدام. لمزيد من المعلومات عن هذه القيم، اطّلِع على إعدادات الضبط المتقدّمة و المَعلمات الفائقة.
تجربة النموذج
يمكنك استخدام الطريقة
tunedModels.generateContent
وتحديد اسم النموذج المحسَّن لاختبار أدائه.
response = client.models.generate_content(
model=tuning_job.tuned_model.model,
contents='III'
)
لم يتم تنفيذه
لم يتمّ تنفيذ بعض الميزات (إعداد تقارير التقدّم وتحديث الوصف و حذف النماذج المحسّنة) في حزمة تطوير البرامج (SDK) الجديدة إلى الآن.