OpenAI ha messo in beta pubblica la Decisions API, un endpoint pensato per i casi in cui all’applicazione non serve un testo generato ma una risposta già tipizzata. Come spiega la documentazione ufficiale di OpenAI, l’API valuta testo, immagini o entrambi e restituisce la probabilità che una condizione sia vera, una scelta da un insieme fisso oppure un punteggio rispetto a una griglia. Secondo OpenAI è circa dieci volte più veloce della Responses API.
Che cosa fa la Decisions API e a cosa serve
Secondo OpenAI, il modello diventa un componente di classificazione dentro un’applicazione, per smistare richieste, etichettare contenuti e dare priorità al lavoro. OpenAI cita come esempi il controllo di un’immagine alla ricerca di danni visibili, l’instradamento di un reclamo verso il reparto giusto e la valutazione della gravità di un problema.
La fase è di beta pubblica e OpenAI prevede la disponibilità generale (GA) nelle prossime settimane. Per ora l’unico modello supportato è gpt-6-luna, e si usa l’endpoint dedicato POST /v1/decisions. Secondo OpenAI, nel Playground si possono provare domande e input prima di scrivere codice.
Come è fatta una richiesta
Ogni richiesta ha tre campi:
model: il modello che valuta la richiesta, oggi sologpt-6-luna;input: le prove condivise per le domande, cioè una stringa di testo oppure messaggi utente con testo e immagini;questions: che cosa valutare, con tipo, istruzioni ed eventuali scelte o livelli di punteggio ammessi.
La risposta contiene un array answers. Ogni domanda deve avere un nome univoco, che l’API ripete nella risposta per far riconoscere ogni risultato. Una risposta può anche essere di tipo refusal, caso che gli esempi di codice nelle varie lingue gestiscono esplicitamente.
I tre tipi di domanda
| Tipo | Quando usarlo | Risultato principale |
|---|---|---|
| predicate | Verificare una condizione, come un danno visibile o la pertinenza di un passaggio | probability: stima da 0 a 1 che la condizione sia vera |
| choice | Scegliere un’opzione, come un reparto o una categoria di contenuto | choice: uno dei valori forniti |
| score | Valutare un input su livelli ordinati, come la gravità di un problema | score: media degli indici dei livelli pesata per probabilità |
Sia choice sia score restituiscono probabilità su opzioni discrete. OpenAI indica choice per categorie senza ordine e score per livelli ordinati: poiché il punteggio è una media pesata, può cadere tra un livello e l’altro.
Gli esempi: immagini e smistamento dei reclami
Per il controllo di una foto di prodotto, la richiesta combina un testo («Inspect the product in this photo.») con un’immagine e una domanda predicate chiamata visible_damage, che chiede di cercare crepe, strappi o ammaccature ignorando ombre e danni all’imballaggio. La risposta di esempio riporta una probabilità di 0,92; sta all’applicazione scegliere la soglia oltre la quale segnalare la foto per una revisione.
Nell’esempio di instradamento, la frase «I was charged twice for my order.» viene sottoposta a una domanda choice con quattro reparti: billing, technical, shipping e other, ciascuno con una descrizione. La risposta illustrativa indica billing come scelta, con probabilità 0,95, e include la lista delle probabilità per ogni opzione e un valore di confidence.
Limiti sulle immagini e SDK richiesti
Le immagini devono essere passate come data URL base64 inline. Gli URL HTTP o HTTPS ospitati altrove e i file_id non sono supportati da questo endpoint. Testo e immagini si combinano con parti input_text e input_image in un messaggio utente.
Per eseguire gli esempi con gli SDK servono queste versioni o successive:
- Python 3.26.0
- JavaScript 7.30.0
- Go 3.73.0
- Ruby 0.101.0
- Java 4.78.0
Quando scegliere altro
OpenAI separa i casi d’uso. La Decisions API è per chi ha bisogno di uno dei tre tipi di risposta descritti. Per generare un oggetto che segua un proprio schema JSON, come campi estratti o una spiegazione scritta, la documentazione indica gli Structured Outputs con la Responses API; per far chiedere al modello una chiamata a uno strumento con argomenti, il function calling.