এই টিউটোরিয়ালটি আপনাকে পাইথন SDK বা কার্ল ব্যবহার করে REST API ব্যবহার করে Gemini API টিউনিং পরিষেবা শুরু করতে সাহায্য করবে। উদাহরণগুলি দেখায় কিভাবে Gemini API টেক্সট জেনারেশন পরিষেবার পিছনে টেক্সট মডেল টিউন করা যায়।
আপনি শুরু করার আগে
Gemini API কল করার আগে, নিশ্চিত করুন যে আপনি আপনার পছন্দের SDK ইনস্টল করেছেন, এবং একটি Gemini API কী কনফিগার করা এবং ব্যবহারের জন্য প্রস্তুত।
সীমাবদ্ধতা
একটি মডেল টিউন করার আগে, আপনার নিম্নলিখিত সীমাবদ্ধতা সম্পর্কে সচেতন হওয়া উচিত:
ফাইন-টিউনিং ডেটাসেট
জেমিনি 1.5 ফ্ল্যাশের জন্য ফাইন-টিউনিং ডেটাসেটগুলির নিম্নলিখিত সীমাবদ্ধতা রয়েছে:
- উদাহরণ প্রতি সর্বোচ্চ ইনপুট আকার 40,000 অক্ষর।
- উদাহরণ প্রতি সর্বোচ্চ আউটপুট আকার হল 5,000 অক্ষর।
- শুধুমাত্র ইনপুট-আউটপুট জোড়া উদাহরণ সমর্থিত। চ্যাট-স্টাইল মাল্টি-টার্ন কথোপকথন সমর্থিত নয়।
টিউন করা মডেল
টিউন করা মডেলগুলির নিম্নলিখিত সীমাবদ্ধতা রয়েছে:
- একটি টিউন করা জেমিনি 1.5 ফ্ল্যাশ মডেলের ইনপুট সীমা হল 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)
একটি টিউন করা মডেল তৈরি করুন
একটি টিউন করা মডেল তৈরি করতে, আপনাকে 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-তে প্রয়োগ করা হয়নি।