TL;DR
- Verkrijg een API-sleutel in 2 minuten via Mistral’s console
- Gebruik de
mistralaiPython SDK (pip install mistralai) of@mistralai/sdkvoor Node.js - Begin met Mistral Small voor taken met lage latentie, Mistral Large 2 voor redeneringen
- Schakel websearch en toolgebruik in via de Agents API (nieuw in 2026)
- Fine-tune Mistral Medium 2/Large 2 met uw dataset (alleen Pro/Enterprise)
- Optimaliseer kosten met batchverwerking en modelselectie
1. Een API-sleutel verkrijgen
- Meld u aan op console.mistral.ai
- Navigeer naar API Keys → Create Key
- Kopieer de sleutel (begint met
mistral-) en bewaar deze veilig
# Test uw sleutel (vervang YOUR_API_KEY)
curl --location "https://api.mistral.ai/v1/models" \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json"
Verwachte output:
{
"object": "list",
"data": [
{
"id": "mistral-small-latest",
"object": "model",
"created": 1693499933,
"owned_by": "mistralai"
},
...
]
}
Let op: Gratis sleutels verlopen na 30 dagen. Roteer sleutels in productie met omgevingsvariabelen:
export MISTRAL_API_KEY="your_key_here"
2. De Python- en JS-SDK's gebruiken
Python SDK
pip install mistralai --upgrade # v0.3.0
Basis chat-aanvulling:
from mistralai.client import MistralClient
from mistralai.models.chat_completion import ChatMessage
client = MistralClient(api_key=os.environ["MISTRAL_API_KEY"])
response = client.chat(
model="mistral-small-latest",
messages=[ChatMessage(role="user", content="Leg LLMs uit in 1 zin")],
)
print(response.choices[0].message.content)
Output:
Large language models zijn neurale netwerken die getraind zijn op grote hoeveelheden tekstdata om mensachtige tekst te voorspellen en genereren.
Streaming response:
for chunk in client.chat_stream(
model="mistral-medium-latest",
messages=[ChatMessage(role="user", content="Schrijf Python-code om een lijst te sorteren")],
):
print(chunk.choices[0].delta.content, end="", flush=True)
Node.js SDK
npm install @mistralai/sdk
Basisgebruik:
import { Mistral } from "@mistralai/sdk";
const client = new Mistral({ apiKey: process.env.MISTRAL_API_KEY });
const response = await client.chat({
model: "mistral-small-latest",
messages: [{ role: "user", content: "Wat is de hoofdstad van Frankrijk?" }],
});
console.log(response.choices[0].message.content);
Output:
De hoofdstad van Frankrijk is Parijs.
3. Modelselectie
| Model | Gebruiksscenario | Contextvenster | Latentie | Kosten (input/output per 1K tokens) |
|---|---|---|---|---|
| Mistral Small | Taken met lage latentie (chatbots, Q&A) | 8K tokens | <500ms | $0.0005 / $0.0015 |
| Mistral Medium 2 | Gebalanceerde kosten/prestatie | 16K tokens | ~800ms | $0.001 / $0.003 |
| Mistral Large 2 | Complexe redeneringen (agents, RAG) | 32K tokens | ~1.2s | $0.003 / $0.006 |
Voorbeeld: Modelvergelijking voor codegeneratie
models = ["mistral-small-latest", "mistral-medium-latest", "mistral-large-latest"]
for model in models:
response = client.chat(
model=model,
messages=[ChatMessage(role="user", content="Schrijf een Python-functie om een string om te keren")],
)
print(f"\n{model}:\n{response.choices[0].message.content}")
Professionele tip: Gebruik Mistral Small voor prototyping, schakel daarna over naar Medium/Large voor productie.
4. Websearch en toolgebruik
Websearch (2026-functie)
Schakel websearch in bij de API-aanroep:
response = client.chat(
model="mistral-large-latest",
messages=[ChatMessage(role="user", content="Wat is het laatste nieuws over Mistral AI?")],
tools=[{"type": "web_search", "query": "Mistral AI latest news"}],
)
Functieaanroep
Definieer tools en laat het model beslissen wanneer deze te gebruiken:
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Verkrijg het huidige weer op een locatie",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "Stadsnaam"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["location"],
},
},
}
]
response = client.chat(
model="mistral-large-latest",
messages=[ChatMessage(role="user", content="Wat is het weer in Parijs?")],
tools=tools,
)
Verwachte output:
{
"tool_calls": [
{
"function": {
"name": "get_weather",
"arguments": "{\"location\": \"Paris\", \"unit\": \"celsius\"}"
}
}
]
}
5. Basisprincipes van fine-tuning
Stap 1: Bereid uw dataset voor
Formateer uw gegevens als JSONL:
{"prompt": "Wat is Mistral AI?", "completion": "Mistral AI is een toonaangevend AI-lab gevestigd in Frankrijk..."}
{"prompt": "Wie heeft Mistral AI opgericht?", "completion": "Mistral AI is opgericht door Arthur Mensch, Guillaume Lample en Timothée Lacroix in 2023."}
Stap 2: Upload naar Mistral
curl -X POST "https://api.mistral.ai/v1/fine_tuning/jobs" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mistral-medium-2",
"training_file": "file-123abc", # Upload eerst via console
"hyperparameters": {
"n_epochs": 3,
"batch_size": 8
}
}'
Stap 3: Implementeer uw fine-getuned model
response = client.chat(
model="ft:mistral-medium-2:your-org:custom-model-id",
messages=[ChatMessage(role="user", content="Wat is Mistral AI?")],
)
Kosten: $0,01 per 1K trainings tokens (alleen Pro/Enterprise) Fine-Tuning Prijzen
6. Agents API-instelling
Stap 1: Definieer uw agent
agent = client.agents.create(
name="Reisplanner",
model="mistral-large-latest",
instructions="U bent een reisplanningsassistent. Gebruik tools om vluchten en hotels te boeken.",
tools=[
{
"type": "function",
"function": {
"name": "book_flight",
"description": "Boek een vlucht tussen twee steden",
"parameters": {
"type": "object",
"properties": {
"origin": {"type": "string"},
"destination": {"type": "string"},
"date": {"type": "string", "format": "date"},
},
},
},
}
],
)
Stap 2: Voer de agent uit
response = client.agents.run(
agent_id=agent.id,
messages=[{"role": "user", "content": "Plan een reis naar Tokio vanuit Parijs voor volgende maand"}],
)
Verwachte flow:
- Agent vraagt om reisdata
- Roept
book_flight-tool aan met parameters - Geeft bevestiging terug
7. Strategieën voor kostenoptimalisatie
1. Modelselectie
- Gebruik Mistral Small voor eenvoudige taken (bijv. classificatie, chatbots)
- Schakel over naar Mistral Medium 2 voor matige redeneringen (bijv. samenvattingen)
- Reserveer Mistral Large 2 voor complexe taken (bijv. agents, RAG)
2. Batchverwerking
jobs = client.batch.create(
model="mistral-small-latest",
input_file_ids=["file-123abc"], # JSONL-bestand met prompts
endpoint="/v1/chat/completions",
)
Kostenbesparing: Tot 50% ten opzichte van realtime API Batch API-documentatie
3. Caching
Cacheer responses voor herhaalde vragen:
from functools import lru_cache
@lru_cache(maxsize=100)
def get_cached_response(prompt):
return client.chat(
model="mistral-small-latest",
messages=[ChatMessage(role="user", content=prompt)],
)
4. Tokenoptimalisatie
- Gebruik
max_tokens=100voor korte responses - Beperk invoercontext tot de laatste 2K tokens voor Mistral Small
- Schakel
safe_prompt=Truein om schadelijke outputs te verminderen (verhoogt de kosten licht)
Vergelijking met alternatieven
| Feature | Mistral AI | OpenAI (GPT-4o) | Anthropic (Claude 3.5) |
|---|---|---|---|
| Beste voor | Kostenefficiënte EU-implementaties | Multimodaal (audio/video) | Lange context (200K tokens) |
| Latentie | <500ms (Small) | ~1s | ~1,5s |
| Fine-Tuning | Ja (API/self-hosted) | Ja (API) | Beperkt |
| Enterprise Support | SOC 2, GDPR, VPC | SOC 2, HIPAA | SOC 2, HIPAA |
| Prijzen (1K tokens) | $0,003 (input) | $0,015 (input) | $0,008 (input) |
Wanneer Mistral kiezen:
- U heeft EU-dataresidentie of kostenefficiëntie nodig
- Uw use case omvat agents of toolgebruik
- U wilt modellen self-hosten of fine-tunen
Wat nu?
- Bouw een prototype: Gebruik Mistral Small om een chatbot voor uw documentatie te maken (voorbeeld)
- Experimenteer met agents: Probeer de Agents API voor een reisplanning- of klantenservice use case
- Optimaliseer kosten: Controleer uw API-gebruik met
mistralai.usage.get()en schakel waar mogelijk van model
Voor teams die AI-toepassingen opschalen, biedt Hyperion Consulting gespecialiseerde tools en advies om uw Mistral AI-implementatie te versnellen. Bezoek hyperion-consulting.io voor meer informatie.
