Unquant

Opening your workspace…

Unquant

Completamenti di chat

Generazione di risposte in chat compatibile con OpenAI, con streaming, immagini, chiamate agli strumenti e controllo del ragionamento.

POST /v1/chat/completions

curl https://api.unquant.io/v1/chat/completions \
  -H "Authorization: Bearer $UNQUANT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"glm-5.3-flash",
       "messages":[{"role":"user","content":"Hello!"}]}'

Campi della richiesta

Parametri di base
modelstringaObbligatorio

glm-5.3-flash o qwen-3.8-flash-next.

messagesarrayObbligatorio

Ruoli system, user, assistant e tool. Il contenuto è una stringa o un array di elementi text e image_url.

streambooleano

Trasmette la risposta in streaming tramite eventi inviati dal server.

stream_optionsoggetto

{"include_usage": true} aggiunge un blocco finale con il conteggio dei token.

Lunghezza
max_tokensintero

Limite massimo della lunghezza della risposta.

max_completion_tokensintero

Equivalente a max_tokens.

Campionamento
temperaturenumero

Grado di casualità del campionamento.

top_pnumero

Campionamento a nucleo.

top_kintero

Campiona tra i k token più probabili.

min_pnumero

Probabilità relativa minima per un token.

seedintero

Valore iniziale per un campionamento riproducibile.

stopstringa o array

Sequenze di arresto.

Ripetizione
frequency_penaltynumero

Penalizza i token in base alla frequenza con cui sono già comparsi.

presence_penaltynumero

Penalizza i token già comparsi almeno una volta.

repetition_penaltynumero

Penalità moltiplicativa per le ripetizioni.

Strumenti
toolsarray

Funzioni che il modello può chiamare, nel formato OpenAI.

tool_choicestringa o oggetto

auto, none, required o una funzione specificata per nome.

parallel_tool_callsbooleano

Consente più chiamate agli strumenti in un unico turno.

Risultato
response_formatoggetto

Risultato in formato JSON.

logprobsbooleano

Restituisce le probabilità logaritmiche dei token.

top_logprobsintero

Numero di alternative da restituire per ciascun token.

nintero

Deve essere 1: una sola risposta generata per richiesta.

Ragionamento
reasoning_effortstringa

Entrambi i modelli: none, low o high; GLM-5.3-Flash accetta anche max.

chat_template_kwargsoggetto

Opzioni del modello di formattazione della chat, come {"enable_thinking": false}.

Gli altri campi vengono ignorati.

Risposta

response.choices[0].message.content

I conteggi di utilizzo vengono restituiti per il tuo monitoraggio e non comportano mai addebiti.

Streaming

Con "stream": true la risposta arriva tramite eventi inviati dal server nel formato a blocchi di OpenAI e termina con data: [DONE]. Leggi il testo da choices[0].delta.content.

Immagini

Entrambi i modelli accettano immagini come elementi image_url contenenti un URL di dati in base64 (data:image/png;base64,..., JPEG o WebP). Le immagini indicate tramite URL remoti non vengono recuperate e causano un errore 400.

{"role": "user", "content": [
  {"type": "text", "text": "Describe this image."},
  {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}

Chiamate agli strumenti

Passa tools come nell'API di OpenAI. Quando il modello chiama uno strumento, la risposta contiene finish_reason: "tool_calls" e message.tool_calls; esegui lo strumento, aggiungi un messaggio tool con il risultato e il relativo tool_call_id, quindi effettua una nuova chiamata.

Ragionamento

Entrambi i modelli ragionano prima di rispondere e accettano reasoning_effort: none per risposte dirette, low per un ragionamento leggero o high per problemi più complessi; GLM-5.3-Flash offre anche max e usa high come valore predefinito. Il ragionamento viene restituito separatamente in reasoning_content, senza mai essere mescolato a content. Puoi disattivarlo anche con "thinking": {"type": "disabled"} e "chat_template_kwargs": {"enable_thinking": false}.

Richieste simultanee

Il tuo piano stabilisce quante richieste possono essere eseguite contemporaneamente sull'insieme delle tue chiavi API. Una richiesta che supera questo limite restituisce subito 429 e non viene messa in coda; le richieste in corso proseguono normalmente.

Guida per sviluppatori