Mistral: Mistral Medium 3.1 (batch)
Mistral Medium 3.1 è un modello per testo e immagini destinato a risposte conversazionali, domande sui documenti ed estrazione strutturata. Il contesto di 128k dichiarato dal produttore e le funzionalità elencate di chiamata di funzione, output predetti e prefissi supportano spiegazioni basate sulle fonti e flussi di modifica mirati.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Mistral Medium 3.1 è un’edizione multimodale di Mistral AI per la comprensione testuale e visiva. Il produttore descrive questa revisione come un miglioramento del tono e delle prestazioni nella linea Medium 3. Accetta testo e immagini e produce testo: una spiegazione, una risposta documentale, un record strutturato o una chiamata di funzione proposta. L’identificatore fisso del produttore per questa edizione è mistral-medium-2508.
Contesto ed edizione specifica
La pagina del modello documenta una finestra di contesto di 128k. Usala per mantenere insieme brani sorgente correlati, evidenze visive, conversazione e compito dell’utente. Identifica ruoli dei documenti e domanda a cui rispondere prima di fornire una raccolta ampia. Un contesto lungo può supportare un confronto mirato mentre l’elaborato finale resta una breve tabella o una sezione revisionata.
Medium 3.1 mantiene una propria specifica. Il contesto di 256k, l’architettura densa da 128 miliardi di parametri e le modalità configurabili di ragionamento ibrido descritte per Medium 3.5 non devono essere attribuiti a questa voce. La pagina 3.1 non fornisce un conteggio dei parametri o un dato separato sulla lunghezza massima della risposta che possano essere sostituiti in sicurezza con quelli del modello successivo.
Output strutturati e funzioni
Il produttore elenca output strutturati, chiamate di funzione e output predetti tra le funzionalità di questa edizione. Per un compito di estrazione strutturata, definisci campi richiesti, tipi attesi e trattamento delle informazioni assenti dalla fonte. Un record può contenere identificatore del documento, affermazione estratta, posizione nella fonte e domanda che resta aperta. Chiedi soltanto il record quando verrà analizzato da un programma, oppure mantieni separata una spiegazione in prosa quando qualcuno deve esaminare l’interpretazione.
La documentazione condivisa di Mistral sugli output strutturati distingue la modalità JSON da uno schema personalizzato. La modalità JSON richiede un’istruzione esplicita sul formato JSON desiderato, mentre il percorso personalizzato definisce una struttura più specifica. È una formattazione del risultato testuale, non una nuova modalità di contenuto o un’azione esterna.
Per le funzioni, l’applicazione definisce operazione disponibile e argomenti, il modello seleziona una chiamata appropriata e prepara i valori, e l’applicazione la esegue. Il risultato diventa poi un’informazione per la risposta successiva. Un assistente documentale può usare una ricerca per ottenere dati di riferimento mancanti, ma soltanto se l’applicazione circostante fornisce quella ricerca e ne restituisce il risultato effettivo. Mantieni associati la chiamata proposta e i dati restituiti.
Modifiche predette e prefissi di risposta
Gli output predetti sono utili quando gran parte del risultato desiderato è già nota, come per un documento o file di codice che necessita di una modifica limitata. Fornisci il contenuto esistente e descrivi precisamente la modifica, incluso ciò che deve restare invariato. Una richiesta può aggiornare la terminologia di una sezione o sostituire un dettaglio implementativo preservando il resto del documento. La predizione contiene il contenuto di output atteso, non una modifica completata e applicata a un file.
La pagina del modello elenca anche la continuazione da un prefisso di risposta. Nella documentazione chat del produttore, un prefisso fornisce un inizio noto per la risposta dell’assistente, dopo il quale prosegue la generazione. Un inizio noto e un corpo predetto risolvono problemi di preparazione diversi. Anche batch e interfacce per agenti o conversazioni sono funzionalità del flusso di lavoro, non edizioni separate di Medium 3.1 per immagini, audio o ragionamento.
Domande documentali e visive
Il flusso document-QnA elencato combina testo, struttura e formattazione preparati tramite OCR con l’analisi del modello linguistico. Chiedi la condizione, il brano o la relazione specifici richiesti dal compito. Un confronto può identificare i documenti sorgente e richiedere affermazioni condivise, conflitti e dettagli irrisolti, conservando la posizione nella fonte accanto a ogni risultato.
La guida alla visione del produttore include esplicitamente Medium 3.1. Una domanda visiva diretta può fornire un grafico, un’immagine documentale o uno screenshot leggibili e chiedere quali evidenze visibili supportino una conclusione. Conserva assi, unità, etichette e contesto intorno a un campo ritagliato. Se fornisci più immagini, identifica il loro ordine e ruolo, invece di lasciare che il modello deduca quale sia originale, revisione o riferimento.
Per esempio, abbina un requisito scritto di processo a uno screenshot e chiedi una tabella di corrispondenze visibili, differenze e domande che richiedono ulteriori informazioni. Un altro compito può fornire due versioni di un documento e chiedere un brano revisionato che preservi le condizioni condivise, risolvendo un’incoerenza nominata. Sono applicazioni proposte delle capacità documentate di visione, lavoro documentale e modifica, con il risultato richiesto definito in anticipo.
Preparazione dell’elaborato finale
Assegna all’assistente un ruolo chiaro, il materiale sorgente da usare e la forma della risposta. Mantieni le regole di risposta durature distinte dal documento esaminato e indica lingua finale e terminologia. Una risposta utile può separare fatto estratto, fonte e interpretazione, rendendo l’esame più semplice rispetto a un unico riepilogo fuso.
Il risultato documentato resta testo. Strumenti esterni, modifiche dei file e ulteriori elaborazioni documentali appartengono all’applicazione collegata alla conversazione. Conserva l’edizione denominata Medium 3.1 e il suo contesto di 128k e chiedi la spiegazione, il record strutturato o la revisione mirata di cui il passaggio successivo ha effettivamente bisogno.
Ailoot Ultra · Batch POST /v1/batches mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batchIntroduzione
Mistral Medium 3.1 è un modello per testo e immagini destinato a risposte conversazionali, domande sui documenti ed estrazione strutturata. Il contesto di 128k dichiarato dal produttore e le funzionalità elencate di chiamata di funzione, output predetti e prefissi supportano spiegazioni basate sulle fonti e flussi di modifica mirati.
- Input accettati
- Testo
- Risultati
- Testo
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Batch POST /v1/batches
- Tipi di input
text- Tipi di output
text- Formato di output
- JSON inline di results[].response.body
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campoendpoint | Tipostring | RequisitoObbligatorio | Valori e limiti /v1/chat/completions | Predefinito— |
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti mistralai/mistral-medium-3.1:batch | Predefinito— |
Camporequests | Tipobatch_item[] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 | Predefinito— |
Camporequests[].custom_id | Tipostring | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Camporequests[].body.messages | Tipomessage[] | RequisitoObbligatorio | Valori e limiti | Predefinito— |
Campocompletion_window | Tipostring | RequisitoFacoltativo | Valori e limiti 24h | Predefinito— |
Campoprovider | Tipoobject|null | RequisitoFacoltativo | Valori e limiti | Predefinito— |
Camporequests[].body.model | Tipostring | RequisitoFacoltativo | Valori e limiti mistralai/mistral-medium-3.1:batch, mistralai/mistral-medium-3.1 | Predefinito— |
Campoprovider.only | Tipostring[] | RequisitoFacoltativo | Valori e limiti mistral | Predefinito— |
Campoprovider.allow_fallbacks | Tipoboolean|null | RequisitoFacoltativo | Valori e limiti false, null | Predefinito— |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattoendpoint, model, requests |
Parametromaterial_types | Contrattotext |
Parametrorepresentation | Contrattorequests[] inline; ogni elemento contiene custom_id e body |
Parametrorequest_endpoint_profile | Contratto/v1/chat/completions |
Parametrofile_material | ContrattoIl chiamante può leggere localmente i dati JSONL effettivi in UTF-8 e inserirli in requests[]. Non viene usato alcun purpose di caricamento, input_file_id o riferimento a file. Il materiale del cliente mancante o vuoto interrompe la preparazione prima del POST. |
Parametroserialization_order | Contrattoendpoint, model, provider (se fornito), completion_window (se fornito), requests per ultimo |
Parametrooptional_controls | Contrattoprovider.only, provider.allow_fallbacks, completion_window |
Parametroschema_scope | ContrattoCorpi delle richieste Chat Completions per testo nella struttura inline Batch documentata. |
Ciclo di vita: asynchronous
GET /v1/batches/{operation_id} · response.id effettivo della risposta alla creazione originale; stesso utente/chiave/gruppo
Tariffe
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
- Tariffe della cache esplicita
- Non abilitato Quando viene richiesta una cache esplicita
Tariffe Ailoot
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Token di contesto, più di | Token di contesto, fino al limite incluso | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Token di contesto, più di— | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.0004 / 1K token Output · Token in output $0.002 / 1K token Input · Lettura dalla cache $0.00004 / 1K token Input · Scrittura nella cache — / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
| ConfigurazioneFascia 1 di lunghezza della richiesta | Listino delle tariffe— | Token di contesto, più di0 | Token di contesto, fino al limite inclusoNessun limite superiore | Costo Input · Token in input $0.0004 / 1K token Output · Token in output $0.002 / 1K token Input · Lettura dalla cache $0.00004 / 1K token Input · Scrittura nella cache — / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Batch
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"mistralai/mistral-medium-3.1:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen
def prepare_requests(customer_path):
path = Path(customer_path)
if not path.is_file(): raise ValueError("Customer JSONL file is missing")
items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
if not items: raise ValueError("Customer JSONL contains no requests")
ids = set()
for item in items:
if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
cid = item["custom_id"]
if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
ids.add(cid)
if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
supplied_model = item["body"].get("model")
if supplied_model is not None and supplied_model not in ['mistralai/mistral-medium-3.1:batch', 'mistralai/mistral-medium-3.1']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/mistral-medium-3.1:batch", "requests":items}
if __name__ == "__main__":
material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
body = prepare_requests(material)
key = os.environ.get("AILOOT_API_KEY", "")
if not key: raise SystemExit("Set AILOOT_API_KEY")
request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
with urlopen(request) as response:
raw = response.read()
Path("batch-create-response.json").write_bytes(raw)
print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.
Ricevi e salva i risultati
Ailoot Ultra · Batch
JSON inline di results[].response.body
GET /v1/batches/{operation_id}
Verifica lo stato dell’attività
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Conserva tutti i risultati completati
Conserva ogni risposta, file e parte di contenuto restituiti per intero.
Conserva il JSON completo dello stato originale, ogni result/custom_id e il corpo completo della risposta o dell'errore. Salva i results[] completati come JSONL senza filtrarli.
Se occorre verificare la risposta originale
Conserva l'ID dell'operazione originale. La risposta 503 result_pending_check contiene X-Should-Retry:false; non reinviare mai un batch originale il cui esito è sconosciuto.
Campi della risposta
| Campo | Tipo |
|---|---|
Camporesults[].custom_id | Tipostring |
Camporesults[].response.body.choices[].message.content | Tipostring|null |
Camporesults[].error | Tipoobject|null |
Campousage | Tipoobject|null |
Campoid | Tipostring |
Campomodel | Tipostring |
Campoendpoint | Tipostring |
Campostatus | Tipostring |
Camporequest_counts | Tipoobject |
Camporesults[].id | Tipostring |
Camporesults[].response.status_code | Tipointeger |
Camporesults[].response.request_id | Tipostring |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneStruttura inline documentata non valida, chiavi duplicate, identità degli elementi non valida o conflitto con le capacità configurate del modello. | Passaggio successivoCorreggi i campi indicati prima di qualsiasi nuovo invio. |
Risposta401 · authentication_error | CondizioneChiave API non valida. | Passaggio successivoUsa la chiave Ailoot autorizzata. |
Risposta403 · permission_error | CondizioneGruppo Batch non disponibile. | Passaggio successivoVerifica le autorizzazioni della chiave e del gruppo. |
Risposta422 · invalid_request_error | CondizioneBatch usa l'addebito sul saldo; la creazione tramite abbonamento viene rifiutata. | Passaggio successivoUsa il gruppo autorizzato con addebito sul saldo. |
Risposta422 · price_unavailable | CondizioneNon è possibile formulare un preventivo per l'input Batch. | Passaggio successivoConserva la risposta; usa l'input documentato per la famiglia. |
Risposta402 · billing_error | CondizioneRiserva Batch non disponibile. | Passaggio successivoRisolvi le condizioni di ammissione prima di una nuova richiesta. |
Risposta503 · price_unavailable | CondizionePrezzo del metodo Batch o tariffe native non disponibili. | Passaggio successivoConserva la risposta; non sostituire i prezzi. |
Risposta503 · api_error | CondizioneLa rotta esatta del fornitore non è disponibile. | Passaggio successivoConserva la risposta per la riparazione della rotta. |
Risposta503 · result_pending_check | CondizioneIl risultato originale richiede una verifica; X-Should-Retry:false. | Passaggio successivoConserva operation_id/id originale e leggine lo stato; non ripetere mai il POST originale. |
Risposta404 · not_found | CondizioneL'operazione di stato Batch è assente o appartiene a un'altra identità. | Passaggio successivoUsa l'id originale esatto e lo stesso utente/chiave/gruppo. |
Alias
Alias del modello
Ailoot Ultra mistralai/mistral-medium-3.1:batch
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · Mistral: Mistral Medium 3.1 (batch)
- Quali input e risultati sono disponibili?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:text→text- Quali campi usa la richiesta?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:endpoint,model,requests,completion_window,provider- Quali limiti si applicano?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:requests.min_items:1