Weergave
Chat Completions
De chat methode maakt tekstgeneratie en conversaties mogelijk met de Vondr AI modellen.
Basis gebruik
python
from vondr import VondrClient
client = VondrClient()
response = client.chat(
messages=[{"role": "user", "content": "Leg quantumcomputing uit"}],
model="vondr-fast",
temperature=0.7,
max_tokens=4096,
)
print(response.choices[0].message.content)Parameters
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
messages | list[dict] | verplicht | Lijst van berichten in de conversatie |
model | str | vondr-code | Model om te gebruiken |
temperature | float | 0.7 | Sampling temperatuur (0-2) |
max_tokens | int | 4096 | Maximum aantal tokens |
top_p | float | 1.0 | Nucleus sampling parameter |
response_format | dict | None | Optioneel response format |
thinking_budget | int | None | 'Thinking' budget voor reasoning modellen |
tools | list[dict] | None | Lijst van tools die het model kan aanroepen |
tool_choice | str of dict | None | Bepaalt welke tool wordt aangeroepen |
Berichtformaat
Elk bericht in de messages lijst heeft de volgende structuur:
python
{
"role": "user", # "system", "user", of "assistant"
"content": "Tekst" # De inhoud van het bericht
}Systeem prompt
Gebruik een system bericht om context of instructies te geven:
python
response = client.chat([
{"role": "system", "content": "Je bent een behulpzame assistent die in het Nederlands antwoordt."},
{"role": "user", "content": "Wat is de hoofdstad van Frankrijk?"}
])Conversatie geschiedenis
Voor een multi-turn conversatie geef je de hele geschiedenis mee:
python
messages = [
{"role": "user", "content": "Mijn naam is Milan"},
{"role": "assistant", "content": "Hallo Milan! Leuk je te ontmoeten."},
{"role": "user", "content": "Wat is mijn naam?"}
]
response = client.chat(messages)
# Antwoord: "Je naam is Milan."Modellen
vondr-fast
Snel algemeen model voor de meeste taken:
python
response = client.chat(
messages=[{"role": "user", "content": "Schrijf een haiku over programmeren"}],
model="vondr-fast"
)vondr-code
Geoptimaliseerd voor code generatie en uitleg:
python
response = client.chat(
messages=[{"role": "user", "content": "Schrijf een Python functie die fibonacci berekent"}],
model="vondr-code"
)vondr-think
Reasoning model met 'thinking' budget voor complexe taken:
python
response = client.chat(
messages=[{"role": "user", "content": "Los dit wiskundeprobleem op: ..."}],
model="vondr-think",
thinking_budget=10000
)JSON Response
Vraag om een gestructureerde JSON response:
python
response = client.chat(
messages=[{"role": "user", "content": "Geef 3 landen met hun hoofdsteden"}],
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)Response object
De response is een ChatCompletionResponse object:
python
response = client.chat([{"role": "user", "content": "Hallo"}])
# Het gegenereerde antwoord
print(response.choices[0].message.content)
# Finish reason
print(response.choices[0].finish_reason) # "stop", "length", etc.
# Token gebruik
print(response.usage.prompt_tokens)
print(response.usage.completion_tokens)
print(response.usage.total_tokens)Tool Calling
Met tool calling kun je het model toegang geven tot externe functies. Het model kan beslissen wanneer een tool aan te roepen en met welke argumenten.
python
response = client.chat(
messages=[{"role": "user", "content": "Wat is het weer in Amsterdam?"}],
tools=[{
"type": "function",
"function": {
"name": "get_weather",
"description": "Haal het weer op",
"parameters": {
"type": "object",
"properties": {"location": {"type": "string"}},
"required": ["location"]
}
}
}]
)
if response.choices[0].message.tool_calls:
# Model wil een tool aanroepen
tool_call = response.choices[0].message.tool_calls[0]
print(f"Tool: {tool_call.function.name}")Voor volledige documentatie over tool calling, zie de Tool Calling pagina.
Asynchrone versie
python
from vondr import AsyncVondrClient
client = AsyncVondrClient()
response = await client.chat([
{"role": "user", "content": "Hallo!"}
])
print(response.choices[0].message.content)