बेहतर बनाने का ट्यूटोरियल

इस ट्यूटोरियल की मदद से, Gemini API को ट्यून करने की सुविधा का इस्तेमाल शुरू किया जा सकता है Python SDK या REST API का इस्तेमाल करके, curl. यहां दिए गए उदाहरणों में, पीछे के टेक्स्ट मॉडल को ट्यून करने का तरीका बताया गया है Gemini API की टेक्स्ट जनरेट करने की सेवा.

ai.google.dev पर देखें Colab notebook को आज़माएं GitHub पर notebook देखें

पुष्टि करने की सुविधा सेट अप करें

Gemini API की मदद से, अपने डेटा का इस्तेमाल करके मॉडल को ट्यून किया जा सकता है. क्योंकि इसमें आपका डेटा और आपके ट्यून किए गए मॉडल, एपीआई कुंजियों की तुलना में ज़्यादा सख्त ऐक्सेस कंट्रोल की ज़रूरत होती है.

इस ट्यूटोरियल को चलाने से पहले, आपको अपने प्रोजेक्ट.

ट्यून किए गए मॉडल की सूची बनाना

genai.list_tuned_models की मदद से, आपके ट्यून किए गए मौजूदा मॉडल देखे जा सकते हैं तरीका.

for model_info in genai.list_tuned_models():
    print(model_info.name)

ट्यून किया गया मॉडल बनाना

ट्यून किया जाने वाला मॉडल बनाने के लिए, आपको genai.create_tuned_model तरीका. ऐसा करने के लिए कॉल में इनपुट और आउटपुट वैल्यू या फ़ाइल से किसी DataFrame में इंपोर्ट करके, पास करना होगा.

इस उदाहरण के लिए, आप मॉडल को इस स्थिति में अगला नंबर जनरेट करने के लिए ट्यून करेंगे क्रम. उदाहरण के लिए, अगर इनपुट 1 है, तो मॉडल में 2 आउटपुट मिलेगा. अगर इनपुट one hundred है और आउटपुट one hundred one होना चाहिए.

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

epoch काउंट, बैच साइज़, और लर्निंग रेट के लिए सबसे सही वैल्यू इन बातों पर निर्भर करती हैं अपने डेटासेट और इस्तेमाल के उदाहरण की दूसरी कंस्ट्रेंट के लिए. इस बारे में ज़्यादा जानने के लिए इन मानों की पहचान कर सकते हैं, तो ट्यून करने की बेहतर सेटिंग और हाइपर पैरामीटर.

किसी मॉडल को ट्यून करने में ज़्यादा समय लग सकता है. इसलिए, यह एपीआई ट्यूनिंग पूरी करने के लिए. इसके बजाय, यह google.api_core.operation.Operation दिखाता है एक ऑब्जेक्ट होता है, जो आपको ट्यूनिंग जॉब की स्थिति देखने या इसके लिए इंतज़ार करने देता है पूरा करें और परिणाम की जाँच करें.

आपके ट्यून किए गए मॉडल को, ट्यून किए जाने वाले मॉडल की सूची में तुरंत जोड़ दिया जाता है. हालांकि, राज्य "बनाए जा रहा है" पर सेट हो मॉडल को ट्यून किया जाता है.

ट्यूनिंग की प्रोग्रेस देखना

wait_bar() का इस्तेमाल करके, ट्यूनिंग की प्रोग्रेस देखी जा सकती है तरीका:

for status in operation.wait_bar():
    time.sleep(10)

ट्यूनिंग के चरणों की कुल संख्या देखने के लिए, operation.metadata का भी इस्तेमाल किया जा सकता है और operation.update() का इस्तेमाल करें.

cancel() तरीके का इस्तेमाल करके, ट्यूनिंग का जॉब कभी भी रद्द किया जा सकता है.

operation.cancel()

मॉडल आज़माएं

genai.generate_text तरीके का इस्तेमाल करके, ट्यून किए जाने वाले ट्यून का नाम बताया जा सकता है मॉडल की मदद लें.

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."})

मॉडल मिटाएं

आपको जिन मॉडल की ज़रूरत नहीं है उन्हें मिटाकर, ट्यून किए गए मॉडल की सूची को खाली किया जा सकता है. किसी मॉडल को मिटाने के लिए, genai.delete_tuned_model तरीके का इस्तेमाल करें. अगर आपने किसी जॉब ट्यून करने के बाद, उन्हें मिटाया जा सकता है. ऐसा इसलिए, क्योंकि अंदाज़ा लगाना मुश्किल है.

genai.delete_tuned_model("tunedModels/my-increment-model")