0Pricing
AI Agents · Pelajaran

Memvalidasi Keluaran Alat (Pydantic)

Uraikan setiap keluaran alat melalui model Pydantic—tampilkan galat secara tegas jika responsnya tidak sesuai format.

Memvalidasi Keluaran Alat (Pydantic) adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Percayai, tetapi Verifikasi

Output alat berasal dari dunia luar — API, halaman web, dan model. Respons yang cacat atau tidak terduga dapat membuat agen Anda berhenti karena error atau, lebih buruk lagi, secara diam-diam memasukkan data yang salah ke dalam LLM.

Validasi setiap output alat terhadap sebuah skema.

Model Pydantic

Tentukan bentuk yang diharapkan:

from pydantic import BaseModel, HttpUrl

class SearchResult(BaseModel):
    title: str
    url: HttpUrl
    snippet: str
    score: float = 0.0

Validate at the Boundary

from pydantic import ValidationError

def search(query):
    raw = requests.post('https://api.tavily.com/search', json={'query': query}).json()
    results = []
    for r in raw.get('results', []):
        try:
            results.append(SearchResult.model_validate(r))
        except ValidationError as e:
            log.warning('Bad search result skipped: %s', e)
    return results

Daftar dengan Validasi Model

Validasi seluruh respons:

from pydantic import BaseModel
class SearchResponse(BaseModel):
    results: list[SearchResult]

response = SearchResponse.model_validate(raw)

Validator Bidang

Pemeriksaan khusus di dalam bidang:

from pydantic import field_validator

class SearchResult(BaseModel):
    score: float

    @field_validator('score')
    @classmethod
    def score_in_range(cls, v):
        if not 0 <= v <= 1:
            raise ValueError('score out of [0,1]')
        return v

Ketat vs Longgar

Secara default, Pydantic mengonversi tipe (string -> int jika memungkinkan). Untuk pemeriksaan ketat:

from pydantic import StrictInt

class User(BaseModel):
    age: StrictInt   # rejects '25' (string)

Default Values for Missing Fields

class Tool(BaseModel):
    name: str
    description: str = 'No description provided'   # fallback

Validasi Output Terstruktur LLM

Paksa model mengembalikan JSON yang sesuai dengan skema Pydantic — lihat pelajaran Output Terstruktur. Validasi lagi pada batas sebagai pertahanan berlapis.

Validasi Argumen Alat

Validasi tool_call.arguments milik model sebelum mengeksekusinya:

class SearchArgs(BaseModel):
    query: str
    k: int = 5

args = SearchArgs.model_validate_json(tool_call.function.arguments)
results = search(args.query, args.k)

Error Validasi sebagai Hasil Alat

Jika validasi gagal, kembalikan error kepada model agar model dapat melakukan percobaan ulang dengan argumen yang telah diperbaiki:

try:
    args = SearchArgs.model_validate_json(...)
except ValidationError as e:
    return {'error': f'Invalid arguments: {e}'}

Pemberian Versi Skema

Ketika skema output alat berubah, berikan versinya:

class SearchResultV2(BaseModel):
    title: str
    url: HttpUrl
    relevance: float       # was 'score' in v1

Buat Skema JSON dari Pydantic

Untuk definisi skema alat, turunkan dari kelas Pydantic Anda:

schema = SearchArgs.model_json_schema()
# Use directly as the 'parameters' for an OpenAI tool definition.

Tujuan Validasi

Mengapa menggunakan Pydantic pada setiap output alat?

Ringkasan

Pydantic pada setiap batas: argumen alat yang masuk, output alat yang keluar, dan output terstruktur LLM. Kegagalan yang terlihat jelas lebih baik daripada kerusakan data yang diam-diam.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memvalidasi Keluaran Alat (Pydantic)” gratis?

Ya — teks lengkap “Memvalidasi Keluaran Alat (Pydantic)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memvalidasi Keluaran Alat (Pydantic)”?

Uraikan setiap keluaran alat melalui model Pydantic—tampilkan galat secara tegas jika responsnya tidak sesuai format. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Agents?

Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Memvalidasi Keluaran Alat (Pydantic)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?

Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Alat Idempoten dan Efek Samping
  2. Percobaan Ulang dengan Jeda Eksponensial
  3. Batas Waktu dan Pemutus Sirkuit
  4. Memvalidasi Keluaran Alat (Pydantic)
← Kembali ke AI Agents