Mistral: Mistral Medium 3.1 (batch)
Mistral Medium 3.1 is een tekst-en-beeldmodel voor conversatieantwoorden, documentvragen en gestructureerde extractie. De door de maker opgegeven context van 128k en de vermelde functies voor functieaanroepen, voorspelde uitvoer en prefixen ondersteunen brongebaseerde uitleg en gerichte bewerkingsworkflows.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Mistral Medium 3.1 is een multimodale editie van Mistral AI voor tekstueel en visueel begrip. De maker beschrijft deze revisie als een verbetering van toon en prestaties binnen de Medium 3-lijn. Het aanvaardt tekst en beelden en produceert tekst: uitleg, een documentantwoord, een gestructureerd record of een voorgestelde functieaanroep. De vaste identificatie van de maker voor deze editie is mistral-medium-2508.
Context en de specifieke editie
De modelpagina documenteert een contextvenster van 128k. Gebruik het om gerelateerde bronpassages, beeldbewijs, de conversatie en de gebruikerstaak samen te houden. Bepaal de documentrollen en de te beantwoorden vraag voordat u een grote verzameling aanlevert. Een lange context kan een gerichte vergelijking ondersteunen terwijl het eindartefact een korte tabel of herziene sectie blijft.
Medium 3.1 behoudt zijn eigen specificatie. De context van 256k, dense architectuur met 128 miljard parameters en instelbare hybride redeneermodi van Medium 3.5 mogen niet aan deze vermelding worden toegeschreven. De 3.1-pagina biedt geen parameteraantal of afzonderlijk maximum voor antwoordlengte dat veilig door een cijfer van het latere model kan worden vervangen.
Gestructureerde uitvoer en functies
De maker vermeldt gestructureerde uitvoer, functieaanroepen en voorspelde uitvoer als functies van deze editie. Definieer voor gestructureerde extractie de vereiste velden, verwachte types en behandeling van informatie die in de bron ontbreekt. Een record kan documentidentificatie, geëxtraheerde uitspraak, bronlocatie en de resterende vraag bevatten. Vraag alleen het record wanneer een programma het zal parsen, of houd een tekstuele uitleg afzonderlijk wanneer iemand de interpretatie moet beoordelen.
De algemene documentatie van Mistral voor gestructureerde uitvoer onderscheidt JSON-modus van een aangepast schema. JSON-modus vereist een expliciete instructie over het gewenste JSON-formaat, terwijl de aangepaste route een specifiekere structuur bepaalt. Het betreft opmaak van het tekstresultaat en geen nieuwe inhoudsmodaliteit of externe actie.
Voor functies definieert de toepassing de beschikbare bewerking en argumenten, selecteert het model een geschikte aanroep en bereidt het waarden voor, waarna de toepassing die uitvoert. Het resultaat wordt vervolgens informatie voor het volgende antwoord. Een documentassistent kan een opzoeking gebruiken om ontbrekende referentiegegevens te verkrijgen, maar alleen wanneer de omringende toepassing die opzoeking aanbiedt en het werkelijke resultaat teruggeeft. Houd de voorgestelde aanroep en teruggegeven gegevens met elkaar verbonden.
Voorspelde wijzigingen en antwoordprefixen
Voorspelde uitvoer is nuttig wanneer het grootste deel van het gewenste resultaat al bekend is, zoals een document of codebestand dat een beperkte wijziging nodig heeft. Lever de bestaande inhoud aan en beschrijf de wijziging nauwkeurig, inclusief wat ongewijzigd moet blijven. Een verzoek kan de terminologie van één sectie bijwerken of één implementatiedetail vervangen met behoud van de rest van het document. De voorspelling bevat verwachte uitvoerinhoud en geen voltooide wijziging die op een bestand is toegepast.
De modelpagina vermeldt ook voortzetting van antwoordprefixen. In de chatdocumentatie van de maker levert een prefix een bekend begin voor het assistentantwoord, waarna de generatie verdergaat. Een bekend begin en een voorspelde body lossen verschillende voorbereidingsproblemen op. Batchverwerking en agent- of conversatie-interfaces zijn eveneens workflowfuncties en geen afzonderlijke beeld-, audio- of redeneeredities van Medium 3.1.
Document- en beeldvragen
De vermelde document-QnA-workflow combineert met OCR voorbereide tekst, structuur en opmaak met taalmodelanalyse. Vraag naar de specifieke voorwaarde, passage of relatie die de taak vereist. Een vergelijking kan de brondocumenten identificeren en vragen naar gedeelde uitspraken, conflicten en onopgeloste details, met behoud van de bronlocatie naast elke bevinding.
De beeldhandleiding van de maker omvat Medium 3.1 expliciet. Een directe visuele vraag kan een leesbare grafiek, documentafbeelding of screenshot meegeven en vragen welk zichtbaar bewijsmateriaal een conclusie ondersteunt. Behoud assen, eenheden, labels en de context rond een uitgesneden veld. Geef bij meerdere beelden hun volgorde en rol aan in plaats van het model te laten afleiden welk beeld het origineel, de revisie of de referentie is.
Combineer bijvoorbeeld een schriftelijke procesvereiste met een screenshot en vraag een tabel met zichtbare overeenkomsten, verschillen en vragen die meer informatie vereisen. Een andere taak kan twee documentversies aanleveren en een herziene passage vragen die de gedeelde voorwaarden behoudt en een benoemde inconsistentie oplost. Dat zijn voorgestelde toepassingen van de gedocumenteerde mogelijkheden voor beelden, documenten en bewerking, waarbij het vereiste resultaat vooraf wordt bepaald.
Het eindartefact voorbereiden
Geef de assistent een duidelijke rol, het te gebruiken bronmateriaal en de antwoordvorm. Houd blijvende antwoordregels gescheiden van het onderzochte document en vermeld de doeltaal en terminologie. Een nuttig antwoord kan een geëxtraheerd feit, de bron en een interpretatie scheiden, waardoor het gemakkelijker te beoordelen is dan één samengevoegde samenvatting.
Het gedocumenteerde resultaat blijft tekst. Externe tools, bestandswijzigingen en verdere documentverwerking horen bij de toepassing die met de conversatie is verbonden. Behoud de genoemde Medium 3.1-editie en context van 128k en vraag de uitleg, het gestructureerde record of de gerichte herziening die de volgende stap werkelijk nodig heeft.
Ailoot Ultra · Batchverwerking POST /v1/batches mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batch
mistralai/mistral-medium-3.1:batchAan de slag
Mistral Medium 3.1 is een tekst-en-beeldmodel voor conversatieantwoorden, documentvragen en gestructureerde extractie. De door de maker opgegeven context van 128k en de vermelde functies voor functieaanroepen, voorspelde uitvoer en prefixen ondersteunen brongebaseerde uitleg en gerichte bewerkingsworkflows.
- Toegestane invoer
- Tekst
- Resultaten
- Tekst
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Batchverwerking POST /v1/batches
- Invoer
text- Uitvoer
text- Uitvoerformaat
- inline JSON uit results[].response.body
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldendpoint | Typestring | VereisteVereist | Waarden en limieten /v1/chat/completions | Standaard— |
Veldmodel | Typestring | VereisteVereist | Waarden en limieten mistralai/mistral-medium-3.1:batch | Standaard— |
Veldrequests | Typebatch_item[] | VereisteVereist | Waarden en limieten Minimumaantal items: 1 | Standaard— |
Veldrequests[].custom_id | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldrequests[].body.messages | Typemessage[] | VereisteVereist | Waarden en limieten | Standaard— |
Veldcompletion_window | Typestring | VereisteOptioneel | Waarden en limieten 24h | Standaard— |
Veldprovider | Typeobject|null | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldrequests[].body.model | Typestring | VereisteOptioneel | Waarden en limieten mistralai/mistral-medium-3.1:batch, mistralai/mistral-medium-3.1 | Standaard— |
Veldprovider.only | Typestring[] | VereisteOptioneel | Waarden en limieten mistral | Standaard— |
Veldprovider.allow_fallbacks | Typeboolean|null | VereisteOptioneel | Waarden en limieten false, null | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractendpoint, model, requests |
Parametermaterial_types | Contracttext |
Parameterrepresentation | Contractinline requests[]; elk item bevat custom_id en body |
Parameterrequest_endpoint_profile | Contract/v1/chat/completions |
Parameterfile_material | ContractDe aanroeper kan de daadwerkelijke UTF-8 JSONL lokaal in requests[] inlezen. Er wordt geen uploaddoel, input_file_id of bestandsverwijzing gebruikt. Ontbrekend of leeg klantmateriaal stopt de voorbereiding vóór POST. |
Parameterserialization_order | Contractendpoint, model, provider (indien opgegeven), completion_window (indien opgegeven), requests als laatste |
Parameteroptional_controls | Contractprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | ContractAanvraagbodies voor tekst via Chat Completions in de gedocumenteerde inline Batch-structuur. |
Levenscyclus: asynchronous
GET /v1/batches/{operation_id} · daadwerkelijke response.id uit de oorspronkelijke aanmaakrespons; dezelfde gebruiker/sleutel/groep
Tarieven
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
- Tarieven voor expliciete caching
- Niet ingeschakeld Wanneer expliciete caching wordt aangevraagd
Ailoot-tarieven
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Contexttokens, meer dan | Contexttokens, tot en met | Kosten |
|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Contexttokens, meer dan— | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0004 / 1K tokens Uitvoer · Uitvoertokens $0.002 / 1K tokens Invoer · Cache lezen $0.00004 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
| ConfiguratieAanvraaglengte · niveau 1 | Tariefstaffel— | Contexttokens, meer dan0 | Contexttokens, tot en metGeen bovengrens | Kosten Invoer · Invoertokens $0.0004 / 1K tokens Uitvoer · Uitvoertokens $0.002 / 1K tokens Invoer · Cache lezen $0.00004 / 1K tokens Invoer · Cache schrijven — / 1K tokens Invoer · Cache schrijven, 1 uur — / 1K tokens |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
Ailoot Ultra · Batchverwerking
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.
Resultaten ophalen en opslaan
Ailoot Ultra · Batchverwerking
inline JSON uit results[].response.body
GET /v1/batches/{operation_id}
Taakstatus controleren
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 voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar de volledige oorspronkelijke status-JSON, elk resultaat/custom_id en de volledige respons- of foutbody. Sla voltooide results[] op als JSONL, zonder te filteren.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de oorspronkelijke bewerkings-ID. 503 result_pending_check bevat X-Should-Retry:false; dien een oorspronkelijke batch met onbekende status nooit opnieuw in.
Antwoordvelden
| Veld | Type |
|---|---|
Veldresults[].custom_id | Typestring |
Veldresults[].response.body.choices[].message.content | Typestring|null |
Veldresults[].error | Typeobject|null |
Veldusage | Typeobject|null |
Veldid | Typestring |
Veldmodel | Typestring |
Veldendpoint | Typestring |
Veldstatus | Typestring |
Veldrequest_counts | Typeobject |
Veldresults[].id | Typestring |
Veldresults[].response.status_code | Typeinteger |
Veldresults[].response.request_id | Typestring |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord400 · invalid_request_error | VoorwaardeOngeldige gedocumenteerde inline structuur, dubbele sleutels, ongeldige itemidentiteit of conflict met de geconfigureerde modelmogelijkheden. | Volgende stapCorrigeer de aangegeven velden vóór elke nieuwe indiening. |
Antwoord401 · authentication_error | VoorwaardeOngeldige API-sleutel. | Volgende stapGebruik de geautoriseerde Ailoot-sleutel. |
Antwoord403 · permission_error | VoorwaardeBatch-groep niet beschikbaar. | Volgende stapControleer de toegangsrechten van de sleutel/groep. |
Antwoord422 · invalid_request_error | VoorwaardeBatch wordt via het saldo gefactureerd; aanmaken via een abonnement wordt geweigerd. | Volgende stapGebruik de geautoriseerde groep die via het saldo wordt gefactureerd. |
Antwoord422 · price_unavailable | VoorwaardeVoor de Batch-invoer kan geen prijsraming worden gemaakt. | Volgende stapBewaar de respons; gebruik de gedocumenteerde invoer voor deze familie. |
Antwoord402 · billing_error | VoorwaardeReservering voor Batch niet beschikbaar. | Volgende stapLos het toelatingsprobleem op vóór een nieuwe aanvraag. |
Antwoord503 · price_unavailable | VoorwaardePrijs voor de Batch-methode/native tarieven niet beschikbaar. | Volgende stapBewaar de respons; vervang de prijzen niet. |
Antwoord503 · api_error | VoorwaardeDe exacte leveranciersroute is niet beschikbaar. | Volgende stapBewaar de respons voor het herstel van de route. |
Antwoord503 · result_pending_check | VoorwaardeHet oorspronkelijke resultaat moet gecontroleerd worden; X-Should-Retry:false. | Volgende stapBewaar de oorspronkelijke operation_id/id en lees de status ervan uit; herhaal de oorspronkelijke POST nooit. |
Antwoord404 · not_found | VoorwaardeBewerking voor de Batch-status ontbreekt of behoort toe aan een andere identiteit. | Volgende stapGebruik de exacte oorspronkelijke id en dezelfde gebruiker/sleutel/groep. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra mistralai/mistral-medium-3.1:batch
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Mistral: Mistral Medium 3.1 (batch)
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:text→text- Welke velden gebruikt het verzoek?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:endpoint,model,requests,completion_window,provider- Welke limieten gelden?
POST /v1/batches·mistralai/mistral-medium-3.1:batch:requests.min_items:1