Embeddings wandeln Text in Vektoren um, die semantische Bedeutung erfassen. Verwende sie für Suche, Retrieval-Augmented Generation (RAG), Clustering, Empfehlungen, Deduplizierung und Ähnlichkeitsbewertung.
Der Embeddings-Endpunkt von Venice ist OpenAI-kompatibel. Sende einen einzelnen String oder ein Array von Strings an /embeddings und speichere anschließend die zurückgegebenen Vektoren in deiner Datenbank oder deinem Vektorindex.
Grundlegende Nutzung
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["VENICE_API_KEY"],
base_url="https://api.venice.ai/api/v1",
)
response = client.embeddings.create(
model="text-embedding-bge-m3",
input="Privacy-first AI infrastructure for semantic search",
)
vector = response.data[0].embedding
print(len(vector), vector[:5])
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.VENICE_API_KEY,
baseURL: "https://api.venice.ai/api/v1",
});
const response = await client.embeddings.create({
model: "text-embedding-bge-m3",
input: "Privacy-first AI infrastructure for semantic search",
});
const vector = response.data[0].embedding;
console.log(vector.length, vector.slice(0, 5));
curl https://api.venice.ai/api/v1/embeddings \
-H "Authorization: Bearer $VENICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-bge-m3",
"input": "Privacy-first AI infrastructure for semantic search",
"encoding_format": "float"
}'
Batch-Eingaben
Übergib ein Array von Strings, um mehrere Texte in einer einzigen Anfrage einzubetten:
{
"model": "text-embedding-bge-m3",
"input": [
"Venice supports private chat completions.",
"Embeddings help retrieve relevant documents.",
"Vector search powers RAG applications."
]
}
Die Antwort behält die Reihenfolge der Eingaben bei. Speichere jeden Vektor zusammen mit der ID des Quelltexts, den Metadaten und der ID des Embedding-Modells.
Typischer Ablauf
- Teile die Ausgangsdokumente in Chunks auf.
- Erzeuge Embeddings für jeden Chunk.
- Speichere Vektoren und Metadaten in einer Vektordatenbank.
- Bette die Anfrage der Nutzer:innen ein.
- Rufe die nächstgelegenen Chunks ab.
- Sende den abgerufenen Kontext an ein Chat-Modell.
Eine vollständige Implementierung findest du unter Einen privaten RAG-Bot bauen.
Modellauswahl
Nutze die Seite Embedding-Modelle, um aktuelle Embedding-Modelle, Dimensionen und Preise zu vergleichen.
Verwende beim Indexieren und Abfragen dasselbe Embedding-Modell. Das Mischen von Modellen kann Ähnlichkeitswerte unzuverlässig machen, da Vektorräume nicht austauschbar sind.
Verwandte Ressourcen