Mistral: Mistral Medium 3.5 (batch)
Mistral Medium 3.5 verbindet Anweisungsbefolgung, schlussfolgerndes Denken und Programmierung in einem dichten Text- und Bildmodell mit 128 Milliarden Parametern. Es bietet einen vom Hersteller angegebenen Kontext von 256k, Reasoning-Einstellungen pro Anfrage, native Funktionsaufrufe und strukturierte Ausgaben für Dokument- und Agentenablä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.5 ist das dichte Modell von Mistral AI mit 128 Milliarden Parametern, das Anweisungsbefolgung, schlussfolgerndes Denken und Programmierung in einem einzigen Satz von Gewichten verbindet. Es erhält Text und Bilder und gibt Text zurück. Der Hersteller positioniert es für Agenten- und Programmieraufgaben, während derselbe Modellstand eine direkte Gesprächsantwort liefern oder für eine anspruchsvollere Aufgabe seinen dokumentierten Reasoning-Modus verwenden kann.
Einheitliches Modell und visuelle Fähigkeiten
Die veröffentlichte Modellkarte nennt 128 Milliarden dichte Parameter und ein Kontextfenster von 256k. Der Vision-Encoder ist für unterschiedliche Bildgrößen und Seitenverhältnisse trainiert. Bilder können Belege zu einer Programmier- oder Dokumentaufgabe beitragen: ein Screenshot einer Benutzeroberfläche, ein Diagramm zu einer Anforderung oder eine Seite mit Informationen, die das Modell auslegen muss. Das Ergebnis kann eine schriftliche Erklärung, Code oder strukturierte Felder statt eines erzeugten Bildes sein.
Der Hersteller beschreibt mehrsprachige Unterstützung für Dutzende Sprachen, darunter Englisch, Französisch, Spanisch, Deutsch, Italienisch, Portugiesisch, Niederländisch, Chinesisch, Japanisch, Koreanisch und Arabisch. Er hebt außerdem die Einhaltung von Systemprompts und native Funktionsaufrufe mit JSON-Ausgabe hervor. Legen Sie Zielgruppe, Sprache und Antwortregeln getrennt vom untersuchten Material fest, damit die Formulierungen eines Quelldokuments Belege für die Aufgabe bleiben.
Reasoning-Einstellungen
Die Modellkarte dokumentiert zwei Werte für den Reasoning-Aufwand pro Anfrage. Der Wert none liefert eine anweisungsbezogene Antwort ohne Reasoning-Modus; high aktiviert Reasoning und wird für komplexe Prompts und agentengestützte Programmierung empfohlen. Das ist eine Moduswahl innerhalb desselben Modellstands Medium 3.5 und keine andere Modellidentität.
Für hohen Reasoning-Aufwand empfiehlt der Hersteller temperature 0.7 und top-p 0.95. Für none dokumentiert er je nach Aufgabe Temperaturen zwischen 0.0 und 0.7 und lässt top-p ungesetzt oder bei 1.0. Das sind Empfehlungen für diese Veröffentlichung. Wählen Sie zuerst den Zweck der Ausgabe: eine knappe Feldextraktion, eine Codeänderung mit Erklärung oder einen Vergleich, der mehrere begründete Entscheidungen erfordert.
Eine praktische Reasoning-Aufgabe kann eine Anforderung, die Implementierung und die Eingabe liefern, die eine Abweichung offenlegt. Bitten Sie das Modell, den relevanten Pfad zu identifizieren, die Unstimmigkeit zu erklären und die kleinste Änderung vorzuschlagen, die die öffentliche Schnittstelle bewahrt. Verlangen Sie den überarbeiteten Code getrennt von Annahmen und Beispielen. Das Modell erzeugt einen Vorschlag; Kompilieren, Ausführen und Anwenden erfordern die mit dem Agenten verbundene Entwicklungsumgebung.
Werkzeuge, Dokumente und vorhersehbare Änderungen
Die Dienstbeschreibung des Herstellers nennt außerdem strukturierte Ausgaben, vorhergesagte Ausgaben, Dokumentfragen, Antwortpräfixe, Stapelverarbeitung und Agentengespräche. Definieren Sie für die Extraktion Feldnamen, Typen und den Umgang mit fehlenden Werten. Der JSON-Modus liefert eine strukturierte Darstellung, während ein benutzerdefiniertes Schema eine spezifischere Form in der verbundenen Schnittstelle definiert. Verlangen Sie nur den Datensatz, wenn ein Programm ihn parsen wird, und eine gesonderte Erklärung, wenn eine Person die Auslegung prüfen muss.
Die Beantwortung von Dokumentfragen verbindet per OCR aufbereiteten Text und dessen Struktur mit dem Verständnis des Sprachmodells. Benennen Sie für einen Vergleich die Dokumente und die zu bewertende Bedingung und verlangen Sie dann jede Feststellung mit ihrer Quellstelle. Eine nützliche Ausgabe kann gemeinsame Anforderungen, Widersprüche und offene Fragen trennen. Direkte Bildfragen können sich auf eine Diagrammbeschriftung oder ein Oberflächenelement konzentrieren; das Bewahren von Überschriften, Einheiten und Bildrollen hilft dabei, die Antwort mit dem bereitgestellten Material verbunden zu halten.
Vorhergesagte Ausgaben sind für Aufgaben dokumentiert, bei denen ein großer Teil der gewünschten Antwort bereits bekannt ist, etwa die erneute Erzeugung einer Codedatei oder eines Dokuments mit begrenzten Änderungen. Stellen Sie den vorhandenen Inhalt bereit und benennen Sie die konkrete Änderung, wobei die zu erhaltenden Teile bewahrt werden. Das unterscheidet sich von der Aufforderung, ein vollständig neues Artefakt zu erstellen oder von einem bekannten Antwortpräfix aus fortzusetzen. Die Dienstfunktionen beschreiben Optionen für Übermittlung und Formatierung; sie ändern weder die Text- und Bildeingabe noch die Textausgabe des Modells.
In einem werkzeuggestützten Ablauf stellt die Anwendung Funktionsbeschreibungen und Parameter bereit, das Modell wählt eine Funktion und bereitet Argumente vor, und die Anwendung führt sie aus und liefert das Ergebnis zurück. Ein Berechnungswerkzeug kann Werte erhalten, die aus einem bereitgestellten Bild gelesen wurden, während ein Abfragewerkzeug die fehlenden Informationen für die nächste Antwort liefern kann. Ordnen Sie das Werkzeugergebnis der Operation zu, die es erzeugt hat. Agentisches Reasoning stützt sich auf diese Umgebung; die Textgenerierung allein führt keine externen Aktionen aus.
Lange Sitzungen vorbereiten
Nutzen Sie den Kontext von 256k für zusammengehörigen Quellcode, Dokumente und Gesprächsverlauf und halten Sie das eigentliche Ziel ausdrücklich fest. Eine Programmiersitzung kann das Modul, seinen Aufrufer und die Anforderungen bewahren und dabei eine klar definierte Änderung verlangen. Eine Dokumentsitzung kann die relevanten Abschnitte zusammenhalten und zugleich eine kurze Tabelle oder einen überarbeiteten Abschnitt zurückgeben. Die Kontextkapazität legt keine gesonderte maximale Antwortlänge fest; das Generierungsbeispiel mit 1.024 Tokens in der Modellkarte dient der Veranschaulichung und ist nicht diese Grenze.
Der Hersteller weist darauf hin, dass eine ältere veröffentlichte Konfiguration einen Fehler für lange Kontexte enthielt und dieser behoben wurde, auch mit Bedeutung für abgeleitete Modellstände. Bewahren Sie die korrigierte Veröffentlichungskonfiguration, wenn Sie die Gewichte für lange Sitzungen verwenden. Die hybriden Modi und die Architektur mit 128 Milliarden Parametern von Medium 3.5 sollten nicht Medium 3.1 oder einem gesondert benannten Draft-Head-Modellstand zugeordnet werden, nur weil ihre Namen dieselbe Familie nennen.
Ailoot Ultra · Stapelverarbeitung POST /v1/batches mistralai/mistral-medium-3-5:batch
mistralai/mistral-medium-3-5:batch
mistralai/mistral-medium-3-5:batchEinstieg
Mistral Medium 3.5 verbindet Anweisungsbefolgung, schlussfolgerndes Denken und Programmierung in einem dichten Text- und Bildmodell mit 128 Milliarden Parametern. Es bietet einen vom Hersteller angegebenen Kontext von 256k, Reasoning-Einstellungen pro Anfrage, native Funktionsaufrufe und strukturierte Ausgaben für Dokument- und Agentenabläufe.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Stapelverarbeitung POST /v1/batches
- Eingabe
text- Ausgabe
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-5: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-5:batch, mistralai/mistral-medium-3-5 | 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.0015 / 1K Tokens Ausgabe · Ausgabetoken $0.0075 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · In Cache schreiben — / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0015 / 1K Tokens Ausgabe · Ausgabetoken $0.0075 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · In Cache schreiben — / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
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-5: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-5:batch', 'mistralai/mistral-medium-3-5']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/mistral-medium-3-5: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-5:batch
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Mistral: Mistral Medium 3.5 (batch)
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/batches·mistralai/mistral-medium-3-5:batch:text→text- Welche Felder verwendet die Anfrage?
POST /v1/batches·mistralai/mistral-medium-3-5:batch:endpoint,model,requests,completion_window,provider- Welche Grenzen gelten?
POST /v1/batches·mistralai/mistral-medium-3-5:batch:requests.min_items:1