Lumea fascinantă a embedding-urilor!

Introducere în Embeddings cu API-ul OpenAI

Emmanuel Pire

Senior Software Engineer, DataCamp

Ce sunt embedding-urile?

  • Concept din Procesarea Limbajului Natural (NLP)
  • Reprezentare numerică a textului

Un cuvânt introdus într-un model de embedding, care generează o reprezentare numerică a textului.

Introducere în Embeddings cu API-ul OpenAI

Ce sunt embedding-urile?

 

  • Textul este mapat într-un spațiu vectorial multidimensional
  • Numerele generate de model reprezintă locația textului în spațiu
  • Cuvintele similare apar mai aproape
  • Cuvintele diferite apar mai departe

Text reprezentat numeric, unde textul mai similar este mai aproape.

Introducere în Embeddings cu API-ul OpenAI

De ce sunt utile embedding-urile?

  • Embedding-urile permit capturarea semnificației semantice
  • Semnificație semantică: contextul și intenția din spatele textului

 

  • Exemplu:
    • „Pe unde se ajunge la supermarket?"
    • „Îmi puteți da indicații spre magazin?"

Text reprezentat numeric, unde textul mai similar este mai aproape.

Introducere în Embeddings cu API-ul OpenAI

Motoare de căutare semantică

 

  • Motoarele de căutare tradiționale
    • Utilizează potrivirea cuvintelor-cheie
    • Pot rata intenția reală
    • Ratează variațiile de cuvinte

 

Un motor de căutare tradițional afișând rezultate irelevante.

Introducere în Embeddings cu API-ul OpenAI

Motoare de căutare semantică

  • Utilizează embedding-uri pentru a înțelege intenția și contextul

Textul „comfortable running shoes" transformat în embedding.

Introducere în Embeddings cu API-ul OpenAI

Motoare de căutare semantică

  • Utilizează embedding-uri pentru a înțelege intenția și contextul

Textul transformat afișat în spațiul multidimensional.

Introducere în Embeddings cu API-ul OpenAI

Sisteme de recomandare

 

  • Exemplu: Recomandări de locuri de muncă
    • Recomandă joburi pe baza descrierilor vizualizate
    • Reduce impactul variațiilor de titluri

Recomandări de joburi reprezentate ca embedding-uri.

Introducere în Embeddings cu API-ul OpenAI

Clasificare

 

Sarcini de clasificare:

  • Clasificarea sentimentului
  • Gruparea observațiilor
  • Categorizare

 

Exemplu:

  • Clasificarea titlurilor de știri

 

Un titlu de știre necunoscut reprezentat ca embedding pentru clasificare.

Introducere în Embeddings cu API-ul OpenAI

Crearea unei cereri de embedding

  • Endpoint pentru embedding-uri
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
Introducere în Embeddings cu API-ul OpenAI

Răspunsul embedding-ului

{'object': 'list',
 'data': [
    {
      "embedding": [0.0023064255, ..., -0.0028842222],
      "index": 0,
      "object": "embedding"
    }
  ],
 'model': 'text-embedding-3-small',
 'usage': {
  "prompt_tokens": 24,
  "total_tokens": 24
  }
}
Introducere în Embeddings cu API-ul OpenAI

Extragerea embedding-urilor

print(response_dict['data'][0]['embedding'])
[0.0023064255, ...., -0.0028842222]
Introducere în Embeddings cu API-ul OpenAI

Să exersăm!

Introducere în Embeddings cu API-ul OpenAI

Preparing Video For Download...