Weergave
Are you an LLM? You can read better optimized documentation at /sdk/embeddings.md for this page in Markdown format
Embeddings
De embed methode converteert tekst naar numerieke vectoren (embeddings). Deze vectoren kunnen gebruikt worden voor semantic search, clustering, en andere NLP taken.
Basis gebruik
python
from vondr import VondrClient
client = VondrClient()
response = client.embed(
input=["Hallo wereld", "Tot ziens wereld"],
model="vondr-embed",
)
for item in response.data:
print(f"Embedding {item.index}: {len(item.embedding)} dimensies")Parameters
| Parameter | Type | Standaard | Beschrijving |
|---|---|---|---|
input | str of list[str] | verplicht | Tekst(en) om te embedden |
model | str | vondr-embed | Model om te gebruiken |
Voorbeeld
python
response = client.embed(
input="Dit is een voorbeeldzin.",
model="vondr-embed"
)
embedding = response.data[0].embedding
print(f"Dimensies: {len(embedding)}")Meerdere teksten
Embed meerdere teksten in één aanroep:
python
teksten = [
"Python is een programmeertaal",
"Java wordt veel gebruikt in enterprise",
"JavaScript draait in de browser"
]
response = client.embed(input=teksten)
for item in response.data:
print(f"Tekst {item.index}: {len(item.embedding)} dimensies")Response object
De response is een EmbeddingResponse object:
python
response = client.embed(input=["Tekst 1", "Tekst 2"])
# Alle embeddings
for item in response.data:
print(f"Index: {item.index}")
print(f"Embedding: {item.embedding[:5]}...") # Eerste 5 waarden
# Token gebruik
print(response.usage.prompt_tokens)
print(response.usage.total_tokens)Voorbeeld: Semantic search
Een simpel voorbeeld van semantic search met embeddings:
python
import numpy as np
from vondr import VondrClient
def cosine_similarity(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
documenten = [
"Python is populair voor data science",
"JavaScript wordt gebruikt voor web development",
"Rust is bekend om memory safety"
]
client = VondrClient()
# Embed alle documenten
doc_response = client.embed(input=documenten)
doc_embeddings = [d.embedding for d in doc_response.data]
# Embed de zoekopdracht
query = "Welke taal is goed voor websites?"
query_response = client.embed(input=query)
query_embedding = query_response.data[0].embedding
# Bereken similarities
similarities = [
cosine_similarity(query_embedding, doc_emb)
for doc_emb in doc_embeddings
]
# Sorteer op relevantie
ranked = sorted(
zip(documenten, similarities),
key=lambda x: x[1],
reverse=True
)
for doc, score in ranked:
print(f"{score:.3f}: {doc}")Asynchrone versie
python
from vondr import AsyncVondrClient
client = AsyncVondrClient()
response = await client.embed(
input=["Tekst 1", "Tekst 2"]
)
for item in response.data:
print(f"Embedding {item.index}: {len(item.embedding)} dimensies")