บทแนะนำนี้จะช่วยคุณในการเริ่มต้นใช้งานการปรับแต่ง Gemini API ที่ใช้ Python SDK หรือ REST API โดยใช้ curl ตัวอย่างแสดงวิธีปรับแต่งโมเดลข้อความ บริการสร้างข้อความ Gemini API
ดูใน ai.google.dev | ลองใช้ Colab Notebook | ดูสมุดบันทึกใน GitHub |
ตั้งค่าการตรวจสอบสิทธิ์
Gemini API ช่วยให้คุณปรับแต่งโมเดลจากข้อมูลของคุณเองได้ เนื่องจากเป็นข้อมูลของคุณและ โมเดลที่คุณปรับแต่งซึ่งต้องการการควบคุมการเข้าถึงที่เข้มงวดกว่าคีย์ API
ก่อนที่คุณจะเรียกใช้บทแนะนำนี้ได้ คุณจะต้องตั้งค่า OAuth สำหรับ โปรเจ็กต์
แสดงรายการโมเดลที่ปรับแต่ง
คุณสามารถตรวจสอบโมเดลที่ปรับแต่งแล้วได้ด้วย genai.list_tuned_models
for model_info in genai.list_tuned_models():
print(model_info.name)
สร้างโมเดลที่ปรับแต่ง
หากต้องการสร้างโมเดลที่ปรับแต่ง คุณต้องส่งชุดข้อมูลไปยังโมเดลใน
genai.create_tuned_model
วิธี คุณสามารถทำได้โดยกำหนด
ค่าอินพุตและเอาต์พุตในการเรียกใช้หรือการนำเข้าจากไฟล์ไปยังเฟรมข้อมูลเพื่อ
ไปยังเมธอด
สำหรับตัวอย่างนี้ คุณจะปรับแต่งโมเดลเพื่อสร้างตัวเลขถัดไปใน
ตามลำดับ ตัวอย่างเช่น หากอินพุตคือ 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 ขนาดกลุ่ม และอัตราการเรียนรู้จะขึ้นอยู่กับ ในชุดข้อมูลและข้อจำกัดอื่นๆ ของ Use Case หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ ค่าเหล่านี้ โปรดดู การตั้งค่าการปรับแต่งขั้นสูงและ ไฮเปอร์พารามิเตอร์
เนื่องจากการปรับแต่งโมเดลอาจใช้เวลามาก API นี้จึงไม่ต้องรอ
ปรับแต่งให้สมบูรณ์ แต่จะแสดง 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")