Lompat ke konten utama
←

Membangun Aplikasi LLM dengan Python

Pelajaran 4 dari 19

Keluaran terstruktur

Mengurai JSON dan memvalidasinya

Setelah pelajaran ini kamu bisa mengurai JSON dari jawaban model dan memeriksa kunci, tipe, nilai pilihan, dan rentangnya dengan kode Python.

±13 menitDiperiksa 23 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Aplikasi butuh data, bukan paragraf: nama pelanggan, jumlah barang, kategori keluhan. Caranya meminta model menjawab dalam format JSON yang ditentukan. Halaman Structured outputs Anthropic mendaftar masalah yang tetap muncul tanpa fitur khusus: JSON yang gagal diurai, field wajib yang hilang, dan tipe yang tidak konsisten. Dengan fitur keluaran terstruktur pun, halaman yang sama menyebut keluaran bisa tidak sesuai skema bila model menolak atau terpotong max_tokens, dan batasan angka seperti minimum tidak didukung. Pemeriksaan akhir tetap tugas kodemu.

Langkah pertama mengurai teks dengan json.loads. Teks yang bukan JSON sah membuat fungsi itu melempar json.JSONDecodeError, turunan ValueError. Model kadang menambahkan kalimat pembuka atau pagar kode di sekitar objeknya, jadi ambil dulu teks dari kurung kurawal pertama sampai terakhir, dan tolak hasil urai yang bukan dict.

import json

teks = 'Tentu! {"kota": "Padang", "berat_kg": 2.5}'
objek = teks[teks.find("{"): teks.rfind("}") + 1]
try:
    data = json.loads(objek)
except json.JSONDecodeError as e:
    print("bukan JSON sah:", e.msg)

print(isinstance(True, int))   # True  <- bool lolos pemeriksaan int
print(isinstance(2.5, float))  # True

Langkah kedua memeriksa isinya: setiap kunci wajib ada, tidak ada kunci asing, tipenya benar, nilai pilihan termasuk daftar yang diizinkan, dan angkanya di dalam rentang. Kumpulkan semua galat dalam satu list, karena list itu nanti dikirim balik ke model. Sintaks JSON ada di kelas Berkas, Format, dan Data yang Rapi; JSON Schema formal di kelas Pengujian Kontrak API.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Tim memakai fitur keluaran terstruktur dengan skema yang menulis jumlah minimal 1. Suatu kali model mengembalikan JSON sah berisi "jumlah": 0. Menurut halaman Structured outputs Anthropic, mengapa ini bisa terjadi?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Tampilkan 3 lagi