Le monde fascinant des embeddings !

Introduction aux embeddings avec l’API OpenAI

Emmanuel Pire

Senior Software Engineer, DataCamp

Qu'est-ce que les embeddings ?

  • Concept issu du Natural Language Processing (NLP)
  • Représentation numérique du texte

Un mot envoyé à un modèle d'embedding, qui produit une représentation numérique du texte.

Introduction aux embeddings avec l’API OpenAI

Qu'est-ce que les embeddings ?

 

  • Le texte est projeté dans un espace vectoriel multidimensionnel
  • Les nombres fournis par le modèle sont la position du texte dans cet espace
  • Les mots similaires sont plus proches
  • Les mots dissemblables sont plus éloignés

Texte représenté numériquement, où les textes similaires sont plus proches.

Introduction aux embeddings avec l’API OpenAI

Pourquoi les embeddings sont-ils utiles ?

  • Les embeddings capturent le sens sémantique
  • Sens sémantique : contexte et intention du texte

 

  • Exemple :
    • « Quelle est la direction du supermarché ? »
    • « Puis-je avoir l'itinéraire pour aller au magasin ? »

Texte représenté numériquement, où les textes similaires sont plus proches.

Introduction aux embeddings avec l’API OpenAI

Moteurs de recherche sémantique

 

  • Moteurs de recherche traditionnels
    • Utilisent la correspondance par mots-clés
    • Peuvent manquer l'intention réelle
    • Ignorent les variantes de mots

 

Un moteur de recherche traditionnel affichant des résultats non pertinents.

Introduction aux embeddings avec l’API OpenAI

Moteurs de recherche sémantique

  • Utilisent des embeddings pour comprendre l'intention et le contexte

Le texte « comfortable running shoes » transformé en embedding.

Introduction aux embeddings avec l’API OpenAI

Moteurs de recherche sémantique

  • Utilisent des embeddings pour comprendre l'intention et le contexte

Le texte embarqué affiché dans l'espace multidimensionnel.

Introduction aux embeddings avec l’API OpenAI

Systèmes de recommandation

 

  • Exemple : recommandations d'offres d'emploi
    • Suggérer des postes selon les descriptions déjà consultées
    • Réduit l'effet des variantes d'intitulé

Recommandations d'emplois affichées sous forme d'embeddings.

Introduction aux embeddings avec l’API OpenAI

Classification

 

Tâches de classification :

  • Classer le sentiment
  • Regrouper des observations
  • Catégorisation

 

Exemple :

  • Classer des titres d'actualité

 

Un titre d'actualité inconnu affiché en embeddings pour le classer.

Introduction aux embeddings avec l’API OpenAI

Créer une requête d'Embeddings

  • Point de terminaison Embeddings
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
Introduction aux embeddings avec l’API OpenAI

Réponse des Embeddings

{'object': 'list',
 'data': [
    {
      "embedding": [0.0023064255, ..., -0.0028842222],
      "index": 0,
      "object": "embedding"
    }
  ],
 'model': 'text-embedding-3-small',
 'usage': {
  "prompt_tokens": 24,
  "total_tokens": 24
  }
}
Introduction aux embeddings avec l’API OpenAI

Extraire les embeddings

print(response_dict['data'][0]['embedding'])
[0.0023064255, ...., -0.0028842222]
Introduction aux embeddings avec l’API OpenAI

Passons à la pratique !

Introduction aux embeddings avec l’API OpenAI

Preparing Video For Download...