เอาต์พุตที่มีโครงสร้าง

คุณสามารถกำหนดค่าโมเดล Gemini ให้สร้างคำตอบที่เป็นไปตาม JSON Schema ที่ระบุได้ ซึ่งจะช่วยให้ได้ผลลัพธ์ที่คาดการณ์ได้และมีความปลอดภัยในการกำหนดประเภท รวมถึงลดความซับซ้อนในการดึง Structured Data จากข้อความที่ไม่มีโครงสร้าง

การใช้เอาต์พุตที่มีโครงสร้างเหมาะสำหรับกรณีต่อไปนี้

  • การดึงข้อมูล: ดึงข้อมูลที่เฉพาะเจาะจง เช่น ชื่อและวันที่ จากข้อความ
  • การจัดประเภทที่มีโครงสร้าง: จัดประเภทข้อความเป็นหมวดหมู่ที่กำหนดไว้ล่วงหน้า
  • เวิร์กโฟลว์แบบ Agent: สร้างอินพุตที่มีโครงสร้างสำหรับเครื่องมือหรือ API

นอกจากจะรองรับ JSON Schema ใน REST API แล้ว Google GenAI SDK ยังช่วยให้คุณกำหนดสคีมาโดยใช้ Pydantic (Python) และ Zod (JavaScript) ได้ด้วย

ตัวอย่างเอาต์พุตที่มีโครงสร้าง

ตัวดึงข้อมูลสูตรอาหาร

ตัวอย่างนี้แสดงวิธีดึง Structured Data จากข้อความโดยใช้ประเภท JSON Schema พื้นฐาน เช่น object, array, string และ integer

Python

from google import genai
from pydantic import BaseModel, Field
from typing import List, Optional

class Ingredient(BaseModel):
    name: str = Field(description="Name of the ingredient.")
    quantity: str = Field(description="Quantity of the ingredient, including units.")

class Recipe(BaseModel):
    recipe_name: str = Field(description="The name of the recipe.")
    prep_time_minutes: Optional[int] = Field(description="Optional time in minutes to prepare the recipe.")
    ingredients: List