Le monde fascinant des embeddings !

Introduction aux embeddings avec l'API d'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 est fourni à un modèle d'embedding, qui produit une représentation numérique du texte.

Introduction aux embeddings avec l'API d'OpenAI

Qu'est-ce que les embeddings ?

 

  • Le texte est projeté dans un espace vectoriel multidimensionnel
  • Les nombres produits sont la position du texte dans cet espace
  • Les mots semblables sont plus proches
  • Les mots différents sont plus éloignés

Texte représenté numériquement, où les éléments plus semblables sont plus proches.

Introduction aux embeddings avec l'API d'OpenAI

Pourquoi les embeddings sont-ils utiles ?

  • Les embeddings capturent le sens sémantique
  • Sens sémantique : contexte et intention derrière le texte

 

  • Exemple :
    • « Par où pour aller au supermarché ? »
    • « Puis-je avoir l'itinéraire vers la boutique ? »

Texte représenté numériquement, où les éléments plus semblables sont plus proches.

Introduction aux embeddings avec l'API d'OpenAI

Moteurs de recherche sémantique

 

  • Moteurs de recherche classiques
    • Font de la recherche par mots-clés
    • Peuvent manquer l'intention réelle
    • Ignorent les variations de mots

 

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

Introduction aux embeddings avec l'API d'OpenAI

Moteurs de recherche sémantique

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

Le texte « comfortable running shoes » en cours d’embedding.

Introduction aux embeddings avec l'API d'OpenAI

Moteurs de recherche sémantique

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

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

Introduction aux embeddings avec l'API d'OpenAI

Systèmes de recommandation

 

  • Exemple : recommandations d'offres d'emploi
    • Suggérer des emplois selon les descriptions déjà consultées
    • Réduit l'effet des variations de titres de poste

Recommandations d'emploi affichées comme embeddings.

Introduction aux embeddings avec l'API d'OpenAI

Classification

 

Tâches de classification :

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

 

Exemple :

  • Classer des manchettes d'actualité

 

Une manchette inconnue affichée comme embeddings pour la classifier.

Introduction aux embeddings avec l'API d'OpenAI

Créer une requête d'embeddings

  • Point de terminaison d'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 d'OpenAI

Réponse d'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 d'OpenAI

Extraire les embeddings

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

Passons à la pratique !

Introduction aux embeddings avec l'API d'OpenAI

Preparing Video For Download...