Weergave
Vision
De Vondr SDK ondersteunt het analyseren van afbeeldingen via de chat API.
Basis gebruik
python
from vondr import VondrClient, encode_image
client = VondrClient()
# Encodeer afbeelding vanuit bestandspad
image_uri = encode_image("/pad/naar/afbeelding.jpg")
response = client.chat([
{
"role": "user",
"content": [
{"type": "text", "text": "Wat zie je op deze afbeelding?"},
{"type": "image_url", "image_url": {"url": image_uri}}
]
}
])
print(response.choices[0].message.content)De encode_image functie
De encode_image functie converteert een afbeelding naar een base64 data URI.
Parameters
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
image | str, Path, of bytes | verplicht | Bestandspad of raw bytes |
max_size_mb | float | 20.0 | Maximum bestandsgrootte in MB |
quality | int | 85 | JPEG kwaliteit (1-100) bij resizing |
Vanuit bestandspad
python
from vondr import encode_image
from pathlib import Path
# Met string pad
image_uri = encode_image("/pad/naar/afbeelding.jpg")
# Met Path object
image_uri = encode_image(Path("afbeelding.png"))Vanuit bytes
python
from vondr import encode_image
# Bijvoorbeeld van een HTTP response
image_bytes = response.content
image_uri = encode_image(image_bytes)Automatische resizing
Afbeeldingen groter dan max_size_mb worden automatisch verkleind:
python
# Verklein afbeeldingen groter dan 5MB
image_uri = encode_image(
"/pad/naar/grote_afbeelding.jpg",
max_size_mb=5.0,
quality=75 # Lagere kwaliteit voor kleinere bestanden
)Ondersteunde formaten
De volgende afbeeldingsformaten worden ondersteund:
- JPEG (
.jpg,.jpeg) - PNG (
.png) - GIF (
.gif) - WebP (
.webp) - BMP (
.bmp)
Voorbeeld: Meerdere afbeeldingen
Je kunt meerdere afbeeldingen in één bericht sturen:
python
from vondr import VondrClient, encode_image
client = VondrClient()
image1 = encode_image("foto1.jpg")
image2 = encode_image("foto2.jpg")
response = client.chat([
{
"role": "user",
"content": [
{"type": "text", "text": "Vergelijk deze twee afbeeldingen"},
{"type": "image_url", "image_url": {"url": image1}},
{"type": "image_url", "image_url": {"url": image2}}
]
}
])
print(response.choices[0].message.content)Voorbeeld: Document analyse
Analyseer een document of screenshot:
python
from vondr import VondrClient, encode_image
client = VondrClient()
document = encode_image("factuur.png")
response = client.chat([
{
"role": "user",
"content": [
{"type": "text", "text": "Extraheer de volgende informatie uit deze factuur: datum, totaalbedrag, en bedrijfsnaam. Geef het als JSON."},
{"type": "image_url", "image_url": {"url": document}}
]
}
],
response_format={"type": "json_object"})
import json
data = json.loads(response.choices[0].message.content)
print(data)Asynchrone versie
python
from vondr import AsyncVondrClient, encode_image
client = AsyncVondrClient()
image_uri = encode_image("afbeelding.jpg")
response = await client.chat([
{
"role": "user",
"content": [
{"type": "text", "text": "Beschrijf deze afbeelding"},
{"type": "image_url", "image_url": {"url": image_uri}}
]
}
])
print(response.choices[0].message.content)Foutafhandeling
python
from vondr import VondrClient, encode_image
try:
image_uri = encode_image("/pad/die/niet/bestaat.jpg")
except FileNotFoundError as e:
print(f"Bestand niet gevonden: {e}")
try:
# Grote afbeelding zonder Pillow geïnstalleerd
image_uri = encode_image("grote_afbeelding.jpg", max_size_mb=1.0)
except ImportError as e:
print("Installeer Pillow voor image resizing: pip install Pillow")