Die wunderbare Welt der Embeddings!

Einführung in Embeddings mit der OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Was sind Embeddings?

  • Konzept aus der Natural Language Processing (NLP)
  • Numerische Darstellung von Text

Ein Wort wird in ein Embedding-Modell gegeben, das eine numerische Darstellung des Texts ausgibt.

Einführung in Embeddings mit der OpenAI API

Was sind Embeddings?

 

  • Text wird auf einen mehrdimensionalen Vektorraum abgebildet
  • Die vom Modell ausgegebenen Zahlen sind die Position des Texts im Raum
  • Ähnliche Wörter liegen näher beieinander
  • Unähnliche Wörter liegen weiter auseinander

Text numerisch dargestellt, wobei ähnlicher Text näher beieinander liegt.

Einführung in Embeddings mit der OpenAI API

Warum sind Embeddings nützlich?

  • Embeddings erfassen semantische Bedeutung
  • Semantische Bedeutung: Kontext und Absicht hinter Text

 

  • Beispiel:
    • „Wie komme ich zum Supermarkt?"
    • „Könnte ich eine Wegbeschreibung zum Laden bekommen?"

Text numerisch dargestellt, wobei ähnlicher Text näher beieinander liegt.

Einführung in Embeddings mit der OpenAI API

Semantische Suchmaschinen

 

  • Traditionelle Suchmaschinen
    • Verwenden Keyword-Pattern-Matching
    • Verfehlen oft die eigentliche Absicht
    • Übersehen Wortvarianten

 

Eine traditionelle Suchmaschine zeigt irrelevante Ergebnisse.

Einführung in Embeddings mit der OpenAI API

Semantische Suchmaschinen

  • Verwenden Embeddings, um Absicht und Kontext zu verstehen

Der Text „comfortable running shoes" wird eingebettet.

Einführung in Embeddings mit der OpenAI API

Semantische Suchmaschinen

  • Verwenden Embeddings, um Absicht und Kontext zu verstehen

Der eingebettete Text im mehrdimensionalen Raum.

Einführung in Embeddings mit der OpenAI API

Empfehlungssysteme

 

  • Beispiel: Jobempfehlungen
    • Empfiehlt Jobs basierend auf bereits angesehenen Beschreibungen
    • Mildert Variationen in Jobtiteln

Jobempfehlungen als Embeddings dargestellt.

Einführung in Embeddings mit der OpenAI API

Klassifikation

 

Klassifikationsaufgaben:

  • Sentiment klassifizieren
  • Beobachtungen clustern
  • Kategorisieren

 

Beispiel:

  • Schlagzeilen klassifizieren

 

Eine unbekannte Schlagzeile wird als Embeddings angezeigt, um sie zu klassifizieren.

Einführung in Embeddings mit der OpenAI API

Eine Embeddings-Anfrage erstellen

  • Embeddings-Endpunkt
from openai import OpenAI


client = OpenAI(api_key="<OPENAI_API_KEY>")
response = client.embeddings.create(
model="text-embedding-3-small",
input="Embeddings are a numerical representation of text that can be used to measure the relatedness between two pieces of text."
)
response_dict = response.model_dump() print(response_dict)
1 https://platform.openai.com/docs/api-reference/embeddings
Einführung in Embeddings mit der OpenAI API

Embeddings-Antwort

{'object': 'list',
 'data': [
    {
      "embedding": [0.0023064255, ..., -0.0028842222],
      "index": 0,
      "object": "embedding"
    }
  ],
 'model': 'text-embedding-3-small',
 'usage': {
  "prompt_tokens": 24,
  "total_tokens": 24
  }
}
Einführung in Embeddings mit der OpenAI API

Embeddings extrahieren

print(response_dict['data'][0]['embedding'])
[0.0023064255, ...., -0.0028842222]
Einführung in Embeddings mit der OpenAI API

Lass uns üben!

Einführung in Embeddings mit der OpenAI API

Preparing Video For Download...