Ch08 Embedding

CH08 - Embedding

Perkiraan waktu belajar: 2 Hari

Tingkat kesulitan: Sedang

Embedding adalah langkah ketiga dari sistem Retrieval-Augmented Generation (RAG), yang merupakan proses mengubah unit dokumen yang dihasilkan pada langkah segmentasi dokumen ke dalam bentuk angka yang dapat dimengerti oleh mesin. Langkah ini merupakan salah satu bagian inti dari sistem RAG, yang merepresentasikan makna dokumen dalam bentuk vektor (larik angka), yang dapat digunakan untuk menghitung kemiripan ketika mencari dan mengambil fragmen/bagian dokumen yang tersimpan di dalam DB untuk sebuah kueri yang dimasukkan oleh pengguna.

Kebutuhan akan Embedding

  1. Memahami semantik: Bahasa alami sangat kompleks dan memiliki banyak arti yang berbeda. Dengan mengubah teks ini menjadi bentuk terkuantifikasi melalui penyematan, komputer dapat lebih memahami dan memproses konten dan makna dokumen dengan lebih baik.
  2. Meningkatkan pencarian informasi: Konversi ke bentuk vektor terkuantifikasi sangat penting untuk menghitung kemiripan antar dokumen, yang memudahkan tugas pencarian dokumen terkait atau menemukan dokumen terbaik untuk menjawab pertanyaan.

Contoh

Embedding: Mengubah kalimat menjadi representasi numerik?

Contoh penggunaan paragraf embedded

  • Paragraf 1: [0.1, 0.5, 0.9, ... , 0.1, 0.2]
  • Paragraf 2: [0.7, 0.1, 0.3, ... , 0.5, 0.6]
  • Paragraf 3: [0.9, 0.4, 0.5, ... , 0.4, 0.3]

Pertanyaan: “Apa saja yang membentuk tata surya dan apa peran Matahari di dalamnya?”

  • [0.1, 0.5, 0.9, ..., 0.2, 0.4]

Contoh perhitungan kemiripan

  • No. 1: 80% -> Pilih!
  • Nomor 2: 30%
  • Nomor 3 25%

Code

Python
from langchain_openai import OpenAIEmbeddings
 
# Langkah 3: Membuat embedding
embeddings = OpenAIEmbeddings()