Mistral: Mistral Medium 3.1 (batch)
Mistral Medium 3.1 ist ein Text- und Bildmodell für Dialogantworten, Fragen zu Dokumenten und strukturierte Extraktion. Sein vom Hersteller angegebener Kontext von 128k und die aufgeführten Funktionen für Funktionsaufrufe, vorhergesagte Ausgaben und Präfixe unterstützen quellengestützte Erklärungen und gezielte Bearbeitungsabläufe.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Mistral Medium 3.1 ist eine multimodale Ausgabe von Mistral AI für Text- und Bildverständnis. Der Hersteller beschreibt diese Revision als Verbesserung von Ton und Leistung innerhalb der Medium-3-Linie. Sie verarbeitet Text und Bilder und erzeugt Text: eine Erklärung, Dokumentantwort, einen strukturierten Datensatz oder vorgeschlagenen Funktionsaufruf. Die feste Herstellerkennung dieser Ausgabe lautet mistral-medium-2508.
Kontext und konkrete Ausgabe
Die Modellseite dokumentiert ein Kontextfenster von 128k. Nutze es, um zusammengehörige Quellpassagen, Bildbelege, Dialog und Nutzeraufgabe gemeinsam zu bewahren. Benenne die Dokumentrollen und die zu beantwortende Frage, bevor du eine große Sammlung bereitstellst. Ein langer Kontext kann einen gezielten Vergleich unterstützen, während das endgültige Artefakt eine kurze Tabelle oder ein überarbeiteter Abschnitt bleibt.
Medium 3.1 behält seine eigene Spezifikation. Der Kontext von 256k, die dichte Architektur mit 128 Milliarden Parametern und die konfigurierbaren hybriden Reasoning-Modi von Medium 3.5 sollten diesem Eintrag nicht zugeschrieben werden. Die Seite zu 3.1 gibt weder eine Parameterzahl noch eine separate maximale Antwortlänge an, die bedenkenlos aus dem späteren Modell übernommen werden könnte.
Strukturierte Ausgaben und Funktionen
Der Hersteller nennt strukturierte Ausgaben, Funktionsaufrufe und vorhergesagte Ausgaben als Funktionen dieser Ausgabe. Definiere für eine strukturierte Extraktionsaufgabe die Pflichtfelder, erwarteten Typen und den Umgang mit Informationen, die in der Quelle fehlen. Ein Datensatz kann die Dokumentkennung, die extrahierte Aussage, ihre Quellstelle und die verbleibende Frage enthalten. Fordere nur den Datensatz an, wenn ein Programm ihn einlesen wird, oder halte eine Prosaerklärung getrennt, wenn jemand die Interpretation prüfen muss.
Mistrals gemeinsame Dokumentation zu strukturierten Ausgaben unterscheidet den JSON-Modus von einem benutzerdefinierten Schema. Der JSON-Modus verlangt eine ausdrückliche Anweisung zum gewünschten JSON-Format, während der benutzerdefinierte Weg eine konkretere Struktur festlegt. Dies ist die Formatierung des Textergebnisses und keine neue Inhaltsmodalität oder externe Handlung.
Für Funktionen definiert die Anwendung die verfügbare Operation und Argumente, das Modell wählt einen passenden Aufruf und bereitet Werte vor, und die Anwendung führt ihn aus. Sein Ergebnis liefert anschließend Informationen für die nächste Antwort. Ein Dokumentassistent kann eine Abfrage nutzen, um fehlende Referenzdaten zu erhalten, aber nur, wenn die umgebende Anwendung diese Abfrage bereitstellt und ihr tatsächliches Ergebnis zurückgibt. Halte den vorgeschlagenen Aufruf und die zurückgegebenen Daten einander zugeordnet.
Vorhergesagte Änderungen und Antwortpräfixe
Vorhergesagte Ausgaben sind nützlich, wenn der größte Teil des gewünschten Ergebnisses bereits bekannt ist, etwa bei einem Dokument oder einer Codedatei mit begrenztem Änderungsbedarf. Stelle den vorhandenen Inhalt bereit und beschreibe die Änderung präzise, einschließlich dessen, was unverändert bleiben muss. Eine Anfrage kann die Terminologie eines Abschnitts aktualisieren oder ein Implementierungsdetail ersetzen und dabei das übrige Dokument bewahren. Die Vorhersage enthält erwarteten Ausgabeinhalt und keine bereits auf eine Datei angewendete Änderung.
Die Modellseite nennt außerdem die Fortsetzung von Antwortpräfixen. In der Chatdokumentation des Herstellers liefert ein Präfix einen bekannten Anfang der Assistentenantwort, nach dem die Generierung fortgesetzt wird. Ein bekannter Anfang und ein vorhergesagter Hauptinhalt lösen unterschiedliche Vorbereitungsprobleme. Stapelverarbeitung und Agenten-/Dialogschnittstellen sind ebenfalls Ablauffunktionen und keine separaten Bild-, Audio- oder Reasoning-Ausgaben von Medium 3.1.
Fragen zu Dokumenten und Bildern
Der genannte Dokument-QnA-Ablauf verbindet mittels OCR vorbereiteten Text, Struktur und Formatierung mit der Sprachmodellanalyse. Frage nach der konkreten Bedingung, Passage oder Beziehung, die die Aufgabe benötigt. Ein Vergleich kann die Quelldokumente benennen und gemeinsame Aussagen, Konflikte und ungeklärte Details anfordern, mit der Quellstelle neben jedem Befund.
Die Anleitung des Herstellers zu visuellen Fähigkeiten umfasst Medium 3.1 ausdrücklich. Eine direkte visuelle Frage kann ein lesbares Diagramm, Dokumentbild oder einen Screenshot bereitstellen und fragen, welche sichtbaren Belege eine Schlussfolgerung stützen. Bewahre Achsen, Einheiten, Beschriftungen und den Kontext um ein zugeschnittenes Feld. Benenne bei mehreren Bildern deren Reihenfolge und Rolle, statt das Modell erschließen zu lassen, welches Original, Überarbeitung oder Referenz ist.
Kombiniere beispielsweise eine schriftliche Prozessanforderung mit einem Screenshot und fordere eine Tabelle mit sichtbaren Übereinstimmungen, Abweichungen und Fragen an, die mehr Informationen benötigen. Eine andere Aufgabe kann zwei Dokumentversionen bereitstellen und eine überarbeitete Passage verlangen, die ihre gemeinsamen Bedingungen bewahrt und dabei einen benannten Widerspruch auflöst. Dies sind vorgeschlagene Anwendungen der dokumentierten visuellen, Dokument- und Bearbeitungsfähigkeiten mit vorab definiertem erforderlichem Ergebnis.
Das endgültige Artefakt vorbereiten
Gib dem Assistenten eine klare Rolle, das zu verwendende Quellenmaterial und die Antwortform vor. Halte dauerhafte Antwortregeln vom untersuchten Dokument getrennt und nenne Zielsprache und Terminologie. Eine nützliche Antwort kann einen extrahierten Fakt, seine Quelle und eine Interpretation trennen und ist damit leichter zu prüfen als eine einzige zusammengeführte Zusammenfassung.
Das dokumentierte Ergebnis bleibt Text. Externe Werkzeuge, Dateiänderungen und weitere Dokumentverarbeitung gehören zur Anwendung, die mit dem Dialog verbunden ist. Bewahre die benannte Ausgabe Medium 3.1 und ihren Kontext von 128k und fordere die Erklärung, den strukturierten Datensatz oder die gezielte Überarbeitung an, die der nächste Schritt tatsächlich benötigt.
Ailoot Ultra · Stapelverarbeitung POST /v1/batches mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batchStart
Mistral Medium 3.1 ist ein Text- und Bildmodell für Dialogantworten, Fragen zu Dokumenten und strukturierte Extraktion. Sein vom Hersteller angegebener Kontext von 128k und die aufgeführten Funktionen für Funktionsaufrufe, vorhergesagte Ausgaben und Präfixe unterstützen quellengestützte Erklärungen und gezielte Bearbeitungsabläufe.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Stapelverarbeitung POST /v1/batches
- Eingabetypen
text- Ausgabetypen
text- Ausgabeformat
- eingebettetes JSON unter results[].response.body
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldendpoint | Typstring | AnforderungErforderlich | Werte und Limits /v1/chat/completions | Standard— |
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits mistralai/mistral-medium-3.1:batch | Standard— |
Feldrequests | Typbatch_item[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldrequests[].custom_id | Typstring | AnforderungErforderlich | Werte und Limits | Standard— |
Feldrequests[].body.messages | Typmessage[] | AnforderungErforderlich | Werte und Limits | Standard— |
Feldcompletion_window | Typstring | AnforderungOptional | Werte und Limits 24h | Standard— |
Feldprovider | Typobject|null | AnforderungOptional | Werte und Limits | Standard— |
Feldrequests[].body.model | Typstring | AnforderungOptional | Werte und Limits mistralai/mistral-medium-3.1:batch, mistralai/mistral-medium-3.1 | Standard— |
Feldprovider.only | Typstring[] | AnforderungOptional | Werte und Limits mistral | Standard— |
Feldprovider.allow_fallbacks | Typboolean|null | AnforderungOptional | Werte und Limits false, null | Standard— |
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragendpoint, model, requests |
Parametermaterial_types | Vertragtext |
Parameterrepresentation | Vertrageingebettete requests[]; jedes Element enthält custom_id und body |
Parameterrequest_endpoint_profile | Vertrag/v1/chat/completions |
Parameterfile_material | VertragDer Aufrufer kann tatsächliches UTF-8-JSONL lokal in requests[] einlesen. Es werden weder ein Upload-Zweck noch input_file_id oder eine Dateireferenz verwendet. Fehlendes oder leeres Kundenmaterial stoppt die Vorbereitung vor POST. |
Parameterserialization_order | Vertragendpoint, model, provider (falls angegeben), completion_window (falls angegeben), requests als letztes Feld |
Parameteroptional_controls | Vertragprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | VertragAnfragekörper für Text Chat Completions in der dokumentierten Inline-Batch-Struktur. |
Lebenszyklus: asynchronous
GET /v1/batches/{operation_id} · die tatsächliche response.id der ursprünglichen Erstellungsantwort; derselbe Nutzer/Schlüssel/dieselbe Gruppe
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
- Preise für explizites Caching
- Nicht aktiviert Wenn explizites Caching angefordert wird
Ailoot-Tarife
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Kontexttoken, mehr als | Kontexttoken, bis einschließlich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0004 / 1K Token Ausgabe · Ausgabetoken $0.002 / 1K Token Eingabe · Cache-Lesen $0.00004 / 1K Token Eingabe · Cache-Schreiben — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0004 / 1K Token Ausgabe · Ausgabetoken $0.002 / 1K Token Eingabe · Cache-Lesen $0.00004 / 1K Token Eingabe · Cache-Schreiben — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Stapelverarbeitung
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.
Ergebnisse abrufen und speichern
Ailoot Ultra · Stapelverarbeitung
eingebettetes JSON unter results[].response.body
GET /v1/batches/{operation_id}
Auftragsstatus prüfen
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
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Das vollständige ursprüngliche Status-JSON, jedes Ergebnis/jede custom_id und den vollständigen Antwort- oder Fehlerkörper aufbewahren. Abgeschlossene results[] ohne Filterung als JSONL speichern.
Wenn die ursprüngliche Antwort geprüft werden muss
Die ursprüngliche Vorgangs-ID beibehalten. Bei 503 result_pending_check gilt X-Should-Retry:false; einen ursprünglichen Batch mit unbekanntem Ausgang niemals erneut einreichen.
Antwortfelder
| Feld | Typ |
|---|---|
Feldresults[].custom_id | Typstring |
Feldresults[].response.body.choices[].message.content | Typstring|null |
Feldresults[].error | Typobject|null |
Feldusage | Typobject|null |
Feldid | Typstring |
Feldmodel | Typstring |
Feldendpoint | Typstring |
Feldstatus | Typstring |
Feldrequest_counts | Typobject |
Feldresults[].id | Typstring |
Feldresults[].response.status_code | Typinteger |
Feldresults[].response.request_id | Typstring |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungUngültige Struktur der dokumentierten Inline-Einbettung, doppelte Schlüssel, ungültige Identitätsangaben zu einem Element oder ein Konflikt mit den konfigurierten Modellfähigkeiten. | Nächster SchrittDie angegebenen Felder vor jeder neuen Einreichung korrigieren. |
Antwort401 · authentication_error | BedingungUngültiger API-Schlüssel. | Nächster SchrittDen autorisierten Ailoot-Schlüssel verwenden. |
Antwort403 · permission_error | BedingungGruppe für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Berechtigung des Schlüssels bzw. der Gruppe prüfen. |
Antwort422 · invalid_request_error | BedingungStapelverarbeitung wird über das Guthaben abgerechnet; die Erstellung über ein Abonnement wird abgelehnt. | Nächster SchrittDie autorisierte Gruppe mit Guthabenabrechnung verwenden. |
Antwort422 · price_unavailable | BedingungFür die Batch-Eingabe kann kein Preisangebot erstellt werden. | Nächster SchrittAntwort aufbewahren; die dokumentierte Eingabe der API-Familie verwenden. |
Antwort402 · billing_error | BedingungReservierung für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Zulassung klären, bevor eine neue Anfrage gestellt wird. |
Antwort503 · price_unavailable | BedingungMethodenpreis bzw. native Tarife für Stapelverarbeitung nicht verfügbar. | Nächster SchrittAntwort aufbewahren; keine anderen Preise einsetzen. |
Antwort503 · api_error | BedingungDie genaue Anbieterroute ist nicht verfügbar. | Nächster SchrittAntwort zur Reparatur der Route aufbewahren. |
Antwort503 · result_pending_check | BedingungDas ursprüngliche Ergebnis muss geprüft werden; X-Should-Retry:false. | Nächster SchrittDie ursprüngliche operation_id/id beibehalten und ihren Status lesen; den ursprünglichen POST niemals wiederholen. |
Antwort404 · not_found | BedingungDer Batch-Vorgang, dessen Status abgefragt wird, ist nicht vorhanden oder gehört einer anderen Identität. | Nächster SchrittDie genaue ursprüngliche id und denselben Nutzer/Schlüssel/dieselbe Gruppe verwenden. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra mistralai/mistral-medium-3.1:batch
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Mistral: Mistral Medium 3.1 (batch)
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:text→text- Welche Felder verwendet die Anfrage?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:endpoint,model,requests,completion_window,provider- Welche Grenzen gelten?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:requests.min_items:1