0Pricing
AI Agents · Pelajaran

Instructor / Outlines untuk Struktur Terjamin

Instructor (Python) dan Outlines membatasi proses pengodean sehingga model benar-benar tidak dapat menghasilkan JSON yang tidak valid.

Instructor / Outlines untuk Struktur Terjamin 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.

Dua Pustaka Utama

Dua pendekatan utama untuk keluaran terstruktur yang terjamin:

  • Instructor (Jason Liu) — pembungkus Pydantic untuk OpenAI/Anthropic dan banyak penyedia lainnya
  • Outlines (.txt) — dekode terbatas untuk model OSS

Instructor Basics

# pip install instructor openai
import instructor
from openai import OpenAI
from pydantic import BaseModel

client = instructor.from_openai(OpenAI())

class User(BaseModel):
    name: str
    age: int

user = client.chat.completions.create(
    model='gpt-4o-mini',
    response_model=User,
    messages=[{'role': 'user', 'content': 'Alice, 30'}]
)
print(user.name, user.age)

Keajaiban Instructor

Di balik layar, Instructor:

  1. Membuat JSON Schema dari model Pydantic Anda
  2. Menambahkannya sebagai alat ke panggilan OpenAI
  3. Memaksa alat tersebut untuk dipanggil
  4. Menguraikan argumen dan mengembalikan instans Pydantic
  5. Mencoba ulang dengan perbaikan saat terjadi kesalahan validasi

Instructor with Validation

from pydantic import field_validator

class User(BaseModel):
    name: str
    age: int

    @field_validator('age')
    @classmethod
    def positive(cls, v):
        if v <= 0:
            raise ValueError('Age must be positive')
        return v

# Instructor catches ValidationError and retries automatically

Streaming Instructor

for partial in client.chat.completions.create_partial(
    model='gpt-4o-mini',
    response_model=User,
    messages=[{'role': 'user', 'content': 'Alice, 30'}]
):
    print(partial)
# Streams partial Pydantic instances as fields fill in.

Instructor with Anthropic

from anthropic import Anthropic
client = instructor.from_anthropic(Anthropic())

user = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    response_model=User,
    messages=[{'role': 'user', 'content': 'Alice, 30'}]
)

Outlines untuk Model OSS

Outlines menggunakan dekode yang dibatasi tata bahasa. Pustaka ini berfungsi dengan HuggingFace, vLLM, dan llama.cpp:

# pip install outlines
import outlines

model = outlines.models.transformers('mistralai/Mistral-7B-Instruct-v0.2')

generator = outlines.generate.json(model, User)
user = generator('Alice, 30')

Mengapa Menggunakan Dekode Terbatas?

Outlines mengetahui token mana yang legal pada setiap langkah (berdasarkan skema) dan menutupi token yang ilegal. Model benar-benar tidak dapat menghasilkan JSON yang tidak valid.

Regex / Pilihan Outlines

Anda dapat membatasi keluaran ke regex atau daftar pilihan:

import outlines.text.generate as g
yes_no = g.choice(model, ['yes', 'no'])
result = yes_no('Are bananas fruits?')   # 'yes'

Menggabungkan Keduanya

Untuk keandalan maksimum:

  1. Gunakan Instructor untuk model terkelola/tertutup (OpenAI, Anthropic)
  2. Gunakan Outlines untuk model yang di-hosting sendiri
  3. Model Pydantic digunakan bersama oleh keduanya

Perbandingan Biaya

  • Strict Outputs (OpenAI bawaan) — sudah termasuk dalam harga
  • Instructor — sedikit beban tambahan dari percobaan ulang saat validasi
  • Outlines — sedikit penurunan throughput karena penutupan token, tetapi tanpa panggilan tambahan

Kapan Menggunakan yang Mana

Kasus PenggunaanAlat
OpenAI/AnthropicInstructor + Pydantic
OSS yang di-hosting sendiriOutlines
Jalur yang kritis terhadap latensiOpenAI Structured Outputs (bawaan)

Pendekatan Outlines

Bagaimana Outlines menjamin keluaran terstruktur?

Ringkasan

Untuk OpenAI/Anthropic, gunakan Structured Outputs bawaan atau Instructor. Untuk OSS, gunakan Outlines. Model Pydantic menyatukan semuanya.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Instructor / Outlines untuk Struktur Terjamin” gratis?

Ya — teks lengkap “Instructor / Outlines untuk Struktur Terjamin” 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 “Instructor / Outlines untuk Struktur Terjamin”?

Instructor (Python) dan Outlines membatasi proses pengodean sehingga model benar-benar tidak dapat menghasilkan JSON yang tidak valid. 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 “Instructor / Outlines untuk Struktur Terjamin” 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. Mode JSON dan Keluaran Panggilan Alat
  2. Validasi Skema Pydantic
  3. Perulangan Perbaikan untuk Keluaran yang Tidak Sesuai Format
  4. Instructor / Outlines untuk Struktur Terjamin
← Kembali ke AI Agents