Dunia embeddings yang menakjubkan!

Pengantar Embeddings dengan OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Apa itu embedding?

  • Konsep dari Natural Language Processing (NLP)
  • Representasi numerik dari teks

Sebuah kata dimasukkan ke model embedding, yang mengeluarkan representasi numerik teks.

Pengantar Embeddings dengan OpenAI API

Apa itu embedding?

 

  • Teks dipetakan ke ruang vektor multi-dimensi
  • Angka keluaran model adalah lokasi teks di ruang tersebut
  • Kata serupa lebih berdekatan
  • Kata tidak serupa lebih berjauhan

Teks direpresentasikan secara numerik; teks yang lebih mirip lebih berdekatan.

Pengantar Embeddings dengan OpenAI API

Mengapa embedding berguna?

  • Embedding menangkap makna semantik
  • Makna semantik: konteks dan maksud di balik teks

 

  • Contoh:
    • "Arah ke supermarket ke mana?"
    • "Bolehkah saya minta petunjuk ke toko?"

Teks direpresentasikan secara numerik; teks yang lebih mirip lebih berdekatan.

Pengantar Embeddings dengan OpenAI API

Mesin pencari semantik

 

  • Mesin pencari tradisional
    • Menggunakan pencocokan pola kata kunci
    • Dapat meleset dari maksud sebenarnya
    • Melewatkan variasi kata

 

Mesin pencari tradisional menampilkan hasil yang tidak relevan.

Pengantar Embeddings dengan OpenAI API

Mesin pencari semantik

  • Menggunakan embedding untuk memahami maksud dan konteks

Teks "comfortable running shoes" yang di-embed.

Pengantar Embeddings dengan OpenAI API

Mesin pencari semantik

  • Menggunakan embedding untuk memahami maksud dan konteks

Teks yang di-embed ditampilkan dalam ruang multi-dimensi.

Pengantar Embeddings dengan OpenAI API

Sistem rekomendasi

 

  • Contoh: Rekomendasi lowongan
    • Rekomendasikan pekerjaan berdasar deskripsi yang sudah dilihat
    • Mengatasi variasi judul pekerjaan

Rekomendasi pekerjaan ditampilkan sebagai embedding.

Pengantar Embeddings dengan OpenAI API

Klasifikasi

 

Tugas klasifikasi:

  • Klasifikasi sentimen
  • Klasterisasi observasi
  • Kategorisasi

 

Contoh:

  • Mengklasifikasikan judul berita

 

Judul berita tidak dikenal ditampilkan sebagai embedding untuk diklasifikasikan.

Pengantar Embeddings dengan OpenAI API

Membuat permintaan Embeddings

  • Endpoint 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
Pengantar Embeddings dengan OpenAI API

Respons 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
  }
}
Pengantar Embeddings dengan OpenAI API

Mengekstrak embedding

print(response_dict['data'][0]['embedding'])
[0.0023064255, ...., -0.0028842222]
Pengantar Embeddings dengan OpenAI API

Ayo berlatih!

Pengantar Embeddings dengan OpenAI API

Preparing Video For Download...