এই টিউটোরিয়ালটি আপনাকে পাইথন SDK বা কার্ল ব্যবহার করে REST API ব্যবহার করে Gemini API টিউনিং পরিষেবা শুরু করতে সাহায্য করবে। উদাহরণগুলি দেখায় কিভাবে Gemini API টেক্সট জেনারেশন পরিষেবার পিছনে টেক্সট মডেল টিউন করা যায়।
ai.google.dev-এ দেখুন | একটি Colab নোটবুক ব্যবহার করে দেখুন | GitHub এ নোটবুক দেখুন |
সীমাবদ্ধতা
একটি মডেল টিউন করার আগে, আপনার নিম্নলিখিত সীমাবদ্ধতা সম্পর্কে সচেতন হওয়া উচিত:
ফাইন-টিউনিং ডেটাসেট
জেমিনি 1.5 ফ্ল্যাশের জন্য ফাইন-টিউনিং ডেটাসেটগুলির নিম্নলিখিত সীমাবদ্ধতা রয়েছে:
- উদাহরণ প্রতি সর্বোচ্চ ইনপুট আকার 40,000 অক্ষর।
- উদাহরণ প্রতি সর্বোচ্চ আউটপুট আকার হল 5,000 অক্ষর।
- শুধুমাত্র ইনপুট-আউটপুট জোড়া উদাহরণ সমর্থিত। চ্যাট-স্টাইল মাল্টি-টার্ন কথোপকথন সমর্থিত নয়।
টিউন করা মডেল
টিউন করা মডেলগুলির নিম্নলিখিত সীমাবদ্ধতা রয়েছে:
- একটি টিউন করা জেমিনি 1.5 ফ্ল্যাশ মডেলের ইনপুট সীমা হল 40,000 অক্ষর৷
- JSON মোড টিউন করা মডেলগুলির সাথে সমর্থিত নয়৷
- শুধুমাত্র টেক্সট ইনপুট সমর্থিত.
আপনি শুরু করার আগে: আপনার প্রকল্প এবং API কী সেট আপ করুন
Gemini API কল করার আগে, আপনাকে আপনার প্রকল্প সেট আপ করতে হবে এবং আপনার API কী কনফিগার করতে হবে।
আপনার API কী পান এবং সুরক্ষিত করুন
Gemini API কল করার জন্য আপনার একটি API কী প্রয়োজন। আপনার যদি ইতিমধ্যে একটি না থাকে তবে Google AI স্টুডিওতে একটি কী তৈরি করুন৷
এটি দৃঢ়ভাবে সুপারিশ করা হয় যে আপনি আপনার সংস্করণ নিয়ন্ত্রণ সিস্টেমে একটি API কী চেক করবেন না ৷
Google ক্লাউড সিক্রেট ম্যানেজার- এর মতো গোপন স্টোরে আপনার API কী সংরক্ষণ করা উচিত।
এই টিউটোরিয়ালটি অনুমান করে যে আপনি একটি পরিবেশ পরিবর্তনশীল হিসাবে আপনার API কী অ্যাক্সেস করছেন।
SDK প্যাকেজ ইনস্টল করুন এবং আপনার API কী কনফিগার করুন
Gemini API-এর জন্য Python SDK google-generativeai
প্যাকেজে রয়েছে।
পিপ ব্যবহার করে নির্ভরতা ইনস্টল করুন:
pip install -U google-generativeai
প্যাকেজটি আমদানি করুন এবং আপনার API কী দিয়ে পরিষেবাটি কনফিগার করুন:
import os import google.generativeai as genai genai.configure(api_key=os.environ['API_KEY'])
টিউন করা মডেলের তালিকা করুন
আপনি tunedModels.list
পদ্ধতির মাধ্যমে আপনার বিদ্যমান টিউন করা মডেলগুলি পরীক্ষা করতে পারেন।
import google.generativeai as genai
for model_info in genai.list_tuned_models():
print(model_info.name)
একটি টিউন করা মডেল তৈরি করুন
একটি টিউন করা মডেল তৈরি করতে, আপনাকে tunedModels.create
পদ্ধতিতে মডেলটিতে আপনার ডেটাসেট পাস করতে হবে।
এই উদাহরণের জন্য, আপনি ক্রমানুসারে পরবর্তী সংখ্যা তৈরি করতে একটি মডেল টিউন করবেন। উদাহরণস্বরূপ, যদি ইনপুট 1
হয়, তাহলে মডেলটি 2
আউটপুট করবে। ইনপুট one hundred
হলে আউটপুট one hundred one
হতে হবে।
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
যুগের গণনা, ব্যাচের আকার এবং শেখার হারের জন্য সর্বোত্তম মানগুলি আপনার ডেটাসেট এবং আপনার ব্যবহারের ক্ষেত্রে অন্যান্য সীমাবদ্ধতার উপর নির্ভরশীল। এই মানগুলি সম্পর্কে আরও জানতে, উন্নত টিউনিং সেটিংস এবং হাইপারপ্যারামিটারগুলি দেখুন।
যেহেতু একটি মডেল টিউন করতে উল্লেখযোগ্য সময় লাগতে পারে, তাই এই API টিউনিং সম্পূর্ণ হওয়ার জন্য অপেক্ষা করে না। পরিবর্তে, এটি একটি google.api_core.operation.Operation
অবজেক্ট প্রদান করে যা আপনাকে টিউনিং কাজের স্থিতি পরীক্ষা করতে বা এটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে এবং ফলাফলটি পরীক্ষা করতে দেয়৷
আপনার টিউন করা মডেলটি অবিলম্বে টিউন করা মডেলের তালিকায় যোগ করা হয়েছে, কিন্তু মডেলটি টিউন করার সময় এর অবস্থা "তৈরি করা" তে সেট করা হয়েছে৷
টিউনিং অগ্রগতি পরীক্ষা করুন
আপনি wait_bar()
পদ্ধতি ব্যবহার করে টিউনিং অপারেশনের অগ্রগতি পরীক্ষা করতে পারেন:
for status in operation.wait_bar():
time.sleep(10)
আপনি অপারেশনের স্থিতি রিফ্রেশ করতে টিউনিং ধাপের মোট সংখ্যা এবং operation.update()
পরীক্ষা করতে operation.metadata
ব্যবহার করতে পারেন।
আপনি cancel()
পদ্ধতি ব্যবহার করে যেকোনো সময় আপনার টিউনিং কাজ বাতিল করতে পারেন।
operation.cancel()
মডেল চেষ্টা করুন
আপনি tunedModels.generateContent
পদ্ধতি ব্যবহার করতে পারেন এবং এর কার্যকারিতা পরীক্ষা করতে টিউন করা মডেলের নাম উল্লেখ করতে পারেন।
import google.generativeai as genai
model = genai.GenerativeModel(model_name="tunedModels/my-increment-model")
result = model.generate_content("III")
print(result.text) # "IV"
বর্ণনা আপডেট করুন
আপনি genai.update_tuned_model
পদ্ধতি ব্যবহার করে যেকোনো সময় আপনার টিউন করা মডেলের বিবরণ আপডেট করতে পারেন।
genai.update_tuned_model('tunedModels/my-increment-model', {"description":"This is my model."})
মডেল মুছুন
আপনার আর প্রয়োজন নেই এমন মডেলগুলি মুছে দিয়ে আপনি আপনার টিউন করা মডেল তালিকা পরিষ্কার করতে পারেন৷ একটি মডেল মুছে ফেলার জন্য tunedModels.delete
পদ্ধতি ব্যবহার করুন। আপনি যদি কোনো টিউনিং কাজ বাতিল করেন, আপনি সেগুলি মুছে দিতে চাইতে পারেন কারণ তাদের কর্মক্ষমতা অপ্রত্যাশিত হতে পারে।
genai.delete_tuned_model("tunedModels/my-increment-model")