Zum Hauptinhalt springen
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

  1. Teile die Ausgangsdokumente in Chunks auf.
  2. Erzeuge Embeddings für jeden Chunk.
  3. Speichere Vektoren und Metadaten in einer Vektordatenbank.
  4. Bette die Anfrage der Nutzer:innen ein.
  5. Rufe die nächstgelegenen Chunks ab.
  6. 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