F FabGPT-FAQ

Come funziona lo Structured Decoding (Outlines, Guidance) per garantire output JSON conformi?

AI e LLM 1 min lettura Runbook verificato

Lo structured decoding guida la generazione del modello a livello di campionamento dei token tramite automi a stati finiti (FSM) o grammatiche Context-Free, garantendo al 100% che l'output rispetti uno schema JSON senza errori di sintassi.

Esempio pratico con libreria Outlines (API 0.x; dalla v1.0 del 2025 si usa outlines.from_transformers e Generator) e Pydantic:

PYTHON
from enum import Enum
from pydantic import BaseModel
import outlines

class Severity(str, Enum):
    low = "low"
    medium = "medium"
    high = "high"

class VulnerabilityReport(BaseModel):
    cve_id: str
    severity: Severity
    remediation_steps: list[str]

# Caricamento del modello locale
model = outlines.models.transformers("meta-llama/Llama-3.2-3B-Instruct")

# Generatore vincolato allo schema Pydantic
generator = outlines.generate.json(model, VulnerabilityReport)
result = generator("Analizza la vulnerabilità OpenSSL Heartbleed")
print(result.cve_id)  # Accesso tipizzato sicuro

Questo approccio elimina i retry di parsing JSON e previene allucinazioni strutturali negli agenti.

Hai una domanda specifica su questo tema?

Interroga direttamente il motore FabGPT-FAQ con risposta in tempo reale.