Zum Inhalt springen
API-Key API-Key

Embeddings und RAG

Die Embedding API wandelt Text in Vektordarstellungen um, die semantische Bedeutung erfassen. Verwenden Sie Embeddings für semantische Suche, Clustering und RAG-Anwendungen.

Was Sie lernen werden:

  • Wie Sie Embeddings aus Text generieren
  • Verfügbare Embedding-Modelle und ihre Anwendungsfälle
  • Wie Sie Embeddings für semantische Suche und RAG verwenden
Terminal
curl -X POST "$OPENAI_BASE_URL/embeddings" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jina-embeddings-v2-base-de",
"input": ["The quick brown fox jumps over the lazy dog", "Data science is fun!"]
}'
Modell (Beispiel)DimensionenSprachenAnwendungsfall
jina-embeddings-v2-base-de768Deutsch & EnglischDeutschsprachiges RAG
text-embedding-bge-m31024MehrsprachigSprachübergreifende Suche

Jedes Modell liefert Vektoren mit den Dimensionen aus der Tabelle Beispiele für Embedding-Modelle.

Vektorisieren Sie eine Textstelle und senden Sie sie zusammen mit der Frage an ein Chat-Modell. Beide Aufrufe nutzen denselben Client.

text-embedding-bge-m3 und gpt-oss-120b laufen beide auf T Cloud. BGE-M3 hat ein Kontextfenster von 8K.

Python
import math
from openai import OpenAI
client = OpenAI()
passages = ["T Cloud models in this catalog run in Germany."]
query = "Where do T Cloud models run?"
embedded = client.embeddings.create(input=passages + [query], model="text-embedding-bge-m3")
passage_vecs = [item.embedding for item in embedded.data[:-1]]
query_vec = embedded.data[-1].embedding
def cos(a, b):
return sum(x*y for x, y in zip(a, b)) / (math.sqrt(sum(x*x for x in a)) * math.sqrt(sum(y*y for y in b)))
best = max(range(len(passages)), key=lambda i: cos(query_vec, passage_vecs[i]))
context = passages[best]
print("vectors:", len(embedded.data))
response = client.chat.completions.create(
model="gpt-oss-120b",
messages=[
{"role": "system", "content": "Answer only from the passage."},
{"role": "user", "content": f"Passage:\n{context}\n\nQuestion: {query}"},
],
)
print(response.choices[0].message.content)

BGE-M3 liefert 1024-dimensionale Vektoren. Jina Embeddings v2 Base DE liefert 768. Die Chat-Antwort steht in choices[0].message.content.

Embeddings nehmen model und input. Chat nimmt model und messages.

Qwen3 Embedding 8B läuft ebenfalls auf T Cloud, mit einem Kontextfenster von 32K.

Für Diagramme und Scans OCR verwenden.