Mistral: Ministral 3 8B 2512 (batch)
Ministral 3 8B Instruct 2512 ist ein mehrsprachiges Text- und Bild-Anweisungsmodell mit einer Sprachkomponente von 8,4 Milliarden Parametern und einem Bildencoder von 0,4 Milliarden Parametern. Es unterstützt einen Herstellerkontext von 256k, Systemanweisungen, JSON und native Funktionsaufrufe für Assistenten und Dokumentablä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.
Ministral 3 8B Instruct 2512 ist das mittelgrosse auf Anweisungen abgestimmte Modell der Ministral-3-Familie von Mistral AI. Der veröffentlichte Checkpoint ist für Chat- und Anweisungsaufgaben in FP8-Präzision nachtrainiert. Er verbindet eine Sprachkomponente mit einem Bildencoder, nimmt Text und Bilder entgegen und gibt Text statt eines Bild- oder Audioartefakts zurück.
Architektur und zentrale Funktionen
Der Hersteller nennt ein Sprachmodell mit 8,4 Milliarden Parametern und einen Bildencoder mit 0,4 Milliarden Parametern. Das Kontextfenster wird mit 256k beschrieben; die veröffentlichten Nutzungshinweise verwenden standardmässig eine konfigurierte Länge von 262’144. Diese Angaben beschreiben die Ausgabe in 8B-Grösse; die kleineren 3B- und grösseren 14B-Familienmitglieder haben eigene Komponentengrössen und Konfigurationen.
Bildverständnis erweitert die Modelleingabe über ein schriftliches Gespräch hinaus. Ein Dokumentbild kann mit einer Frage zu einem ausgewählten Feld, Absatz oder sichtbaren Zusammenhang verbunden werden. Ein Screenshot kann mit dem Nutzerziel und der Bitte verknüpft werden, das relevante Bedienelement zu identifizieren. Fordern Sie die Beobachtung an, die jede Schlussfolgerung stützt, wenn die Antwort von visuellen Details abhängt, und bewahren Sie die zum Verständnis eines Ausschnitts nötigen Überschriften, Beschriftungen und Einheiten.
Die Modellkarte beschreibt mehrsprachige Arbeit in Dutzenden Sprachen, darunter Englisch, Französisch, Spanisch, Deutsch, Italienisch, Portugiesisch, Niederländisch, Chinesisch, Japanisch, Koreanisch und Arabisch. Sie nennt ausserdem die Befolgung von Systemanweisungen, native Funktionsaufrufe und JSON-Ausgaben. Definieren Sie endgültige Sprache, Rolle und Ausgabeanforderungen ausdrücklich, statt das Modell das gewünschte Artefakt aus einer umfangreichen Eingabe erschliessen zu lassen.
Dokument-, Gesprächs- und Agentenaufgaben
Zu den Anwendungsfällen des Herstellers gehören Chatoberflächen, Alltagsassistenten, Bild- und Dokumentbeschreibungen, Übersetzung, Inhaltserzeugung und spezialisierte Agenten. Stellen Sie für einen Dokumentassistenten die Seite bereit und spezifizieren Sie die zurückzugebenden Informationen. Eine Extraktionsanfrage kann Feldbezeichnungen, erwartete Typen und den Umgang mit fehlenden Werten benennen. Eine nützliche Antwort könnte die Dokumentkennung, den extrahierten Wert und eine kurze, mit der sichtbaren Quelle verknüpfte Erklärung enthalten.
Bewahren Sie für ein laufendes Gespräch die relevante vorherige Antwort und stellen Sie eine gezielte Folgefrage. Ein Nutzer kann zunächst eine Dokumentzusammenfassung und dann die Aussage anfordern, die eine Schlussfolgerung stützt. Dies ändert die erforderliche Ausgabe von einem allgemeinen Überblick zu einer quellenbezogenen Erklärung, während das Originalmaterial und der Gesprächszweck erhalten bleiben.
Stellen Sie für mehrsprachige Bearbeitung die Originalpassage, das Zielpublikum und eine Terminologieliste bereit. Fordern Sie eine überarbeitete Version an, die Namen, Bedingungen und Einheiten bewahrt, bei Bedarf gefolgt von einer kurzen Erklärung der Änderungen. Geben Sie für die Inhaltserzeugung Zielgruppe und aufzunehmende Fakten an, bevor Sie einen kurzen Entwurf oder alternative Formulierungen verlangen.
Bei einer Agentenaufgabe stellt die Anwendung Werkzeuge und ihre Parameter bereit. Das Modell kann eine Funktion wählen und Argumente vorbereiten, während die Anwendung sie ausführt und das Ergebnis zurückgibt. Das Funktionsbeispiel der Modellkarte verbindet eine Bildfrage mit einem Rechenwerkzeug. Halten Sie das Werkzeugergebnis vom vorgeschlagenen Aufruf getrennt, damit die anschliessende schriftliche Antwort die tatsächlich vom Vorgang zurückgegebenen Informationen verwendet.
Empfohlene Vorbereitung und Einstellungen
Der Hersteller empfiehlt eine Systemanweisung, die Umgebung, Anwendungsfall und Werkzeugnutzung beschreibt. Halten Sie den Werkzeugsatz klar definiert und auf das für die Aufgabe nötige Minimum begrenzt. Ein kleiner Abfrageablauf kann die für die aktuelle Frage relevanten Funktionen mit klar benannten Pflichtargumenten anbieten, statt eine grosse Sammlung sachfremder Vorgänge bereitzustellen.
Für alltägliche und produktionsnahe Nutzung empfiehlt die Modellkarte eine Temperatur unter 0,1; höhere Temperaturen stehen für kreative Erprobung zur Verfügung. Behandeln Sie dies als Empfehlung für den Anweisungsablauf und nicht als separate Steuerung eines Denkmodus. Die Familie hat getrennte Base-, Instruct- und Reasoning-Checkpoints; dieser Eintrag bezeichnet die Ausgabe Instruct 2512 und nicht die separate Reasoning-Veröffentlichung derselben Grösse.
Für Bilder empfiehlt der Hersteller Seitenverhältnisse nahe 1:1 und rät von sehr schmalen oder sehr breiten Eingaben ab. Schneiden Sie bei Bedarf zu und bewahren Sie dabei die für die Frage erforderlichen Beschriftungen und den Kontext. Enthält eine Seite mehrere unzusammenhängende Bereiche, benennen Sie den zu prüfenden Teil und das zurückzugebende Ergebnis. Ein lesbares, gezieltes Bild ist nützlicher als die Aufforderung an das Modell zu erraten, welches kleine Detail einer umfassenden Seite wichtig ist.
Kontext- und Ausgabegrenzen
Planen Sie Text, Bilder, Gespräch und gewünschte Antwort innerhalb des konfigurierten Kontexts. Die Nutzungshinweise erlauben ausdrücklich eine Verringerung der konfigurierten Modelllänge, wenn weniger Kontext benötigt wird; das vollständige Fenster ist daher keine Aufforderung, jede Anfrage mit allem verfügbaren Material zu füllen. Das Generierungsbeispiel mit 512 Tokens in der Modellkarte ist nur eine Beispieleinstellung, und die gelesenen Quellen belegen keine separate feste maximale Antwortlänge.
Der FP8-Instruct-Checkpoint, die vortrainierte Base-Veröffentlichung und die Reasoning-Veröffentlichung sind separate Ausgaben. Der Hersteller beschreibt auch Spezialisierung und Feinabstimmung als Anwendungsfälle. Bewahren Sie bei der Gesprächsvorbereitung den benannten Checkpoint und seinen Tokenizer und unterscheiden Sie Texterzeugung von Repository-Zugriff, Funktionsausführung oder anderen Handlungen, die die umgebende Anwendung bereitstellt.
Ailoot Ultra · Stapelverarbeitung POST /v1/batches mistralai/ministral-8b-2512:batch
mistralai/ministral-8b-2512:batch
mistralai/ministral-8b-2512:batchEinstieg
Ministral 3 8B Instruct 2512 ist ein mehrsprachiges Text- und Bild-Anweisungsmodell mit einer Sprachkomponente von 8,4 Milliarden Parametern und einem Bildencoder von 0,4 Milliarden Parametern. Es unterstützt einen Herstellerkontext von 256k, Systemanweisungen, JSON und native Funktionsaufrufe für Assistenten und Dokumentablä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/ministral-8b-2512: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/ministral-8b-2512:batch, mistralai/ministral-8b-2512 | 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 einschliesslich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.00015 / 1K Tokens Ausgabe · Ausgabetoken $0.00015 / 1K Tokens Eingabe · Cache lesen $0.000015 / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.00015 / 1K Tokens Ausgabe · Ausgabetoken $0.00015 / 1K Tokens Eingabe · Cache lesen $0.000015 / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · 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 abschliessenden 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/ministral-8b-2512: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/ministral-8b-2512:batch', 'mistralai/ministral-8b-2512']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"mistralai/ministral-8b-2512: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/ministral-8b-2512:batch
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Mistral: Ministral 3 8B 2512 (batch)
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/batches·mistralai/ministral-8b-2512:batch:text→text- Welche Felder verwendet die Anfrage?
POST /v1/batches·mistralai/ministral-8b-2512:batch:endpoint,model,requests,completion_window,provider- Welche Grenzen gelten?
POST /v1/batches·mistralai/ministral-8b-2512:batch:requests.min_items:1