AI Agents · Pelajaran

Membuat Embedding dengan text-embedding-3

Gunakan OpenAI text-embedding-3-small/large untuk mengubah string menjadi vektor berdimensi 1536 atau 3072.

Pelajaran 2 dari 413 langkah

Membuat Embedding dengan text-embedding-3 adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.

Model Representasi Vektor OpenAI

OpenAI menawarkan dua model representasi vektor untuk produksi:

  • text-embedding-3-small — 1536 dimensi, murah, cepat
  • text-embedding-3-large — 3072 dimensi, kualitas lebih baik, lebih lambat

Gunakan model kecil untuk sebagian besar kasus; gunakan model besar hanya ketika kualitas lebih penting daripada biaya.

Representasi Vektor Pertama Anda

Satu baris kode SDK:

from openai import OpenAI
client = OpenAI()

resp = client.embeddings.create(
    model='text-embedding-3-small',
    input='Hello, world!'
)
vector = resp.data[0].embedding
print(len(vector))      # 1536

Representasi Vektor secara Berkelompok

Antarmuka tersebut mendukung daftar — jauh lebih cepat daripada melakukan panggilan satu per satu:

texts = ['cat', 'dog', 'pizza', 'sushi']
resp = client.embeddings.create(
    model='text-embedding-3-small',
    input=texts
)
vectors = [d.embedding for d in resp.data]
# vectors[0] is for 'cat', vectors[1] for 'dog', etc.

Batas Token

Setiap masukan memiliki batas maksimum token (8192 untuk text-embedding-3). Dokumen panjang harus dipotong menjadi beberapa bagian terlebih dahulu.

Mengurangi Dimensi

Anda dapat meminta jumlah dimensi yang lebih sedikit (representasi vektor Matryoshka) — berguna untuk penyimpanan:

resp = client.embeddings.create(
    model='text-embedding-3-large',
    input='Hello',
    dimensions=512    # default would be 3072
)

Biaya

Pada saat penulisan:

  • text-embedding-3-small: $0,02 / 1 juta token
  • text-embedding-3-large: $0,13 / 1 juta token

Mengubah 1 juta kata menjadi representasi vektor membutuhkan biaya sekitar $0,025 dengan model kecil — pada dasarnya gratis.

Membuat Representasi Vektor Sekali, Menggunakannya Selamanya

Representasi vektor tidak berubah ketika Anda membuatnya kembali — Anda dapat menghitungnya sekali lalu menyimpannya. Penembolokan sangat penting bagi sistem produksi apa pun.

Menormalisasi Vektor

Representasi vektor OpenAI sudah dinormalisasi dengan L2 (panjang = 1). Artinya, cosine_similarity = dot product sehingga menghemat komputasi:

import numpy as np
a = np.array(vec_a)
b = np.array(vec_b)
sim = np.dot(a, b)     # since |a| = |b| = 1

Representasi Vektor Asinkron

Untuk throughput tinggi, gunakan klien asinkron:

from openai import AsyncOpenAI
import asyncio

client = AsyncOpenAI()

async def embed_batch(texts):
    resp = await client.embeddings.create(
        model='text-embedding-3-small',
        input=texts
    )
    return [d.embedding for d in resp.data]

vectors = asyncio.run(embed_batch(['a', 'b', 'c']))

Mencoba Lagi saat Gagal

Panggilan untuk membuat representasi vektor dapat gagal seperti panggilan HTTP lainnya. Bungkus dengan percobaan ulang dan jeda bertahap:

from tenacity import retry, wait_exponential, stop_after_attempt

@retry(wait=wait_exponential(multiplier=1, max=10), stop=stop_after_attempt(5))
def safe_embed(text):
    return client.embeddings.create(model='text-embedding-3-small', input=text)

Menyimpan Representasi Vektor

Tiga pilihan penyimpanan yang umum:

  • SQLite dengan ekstensi sqlite-vec
  • Postgres dengan ekstensi pgvector
  • Basis data vektor khusus (Pinecone, Qdrant, Weaviate)

Menyadari Biaya

Kira-kira berapa biaya untuk membuat representasi vektor dari 1 juta kata dengan text-embedding-3-small?

Rangkuman

Pilih text-embedding-3-small, lakukan panggilan secara berkelompok, simpan vektornya, dan Anda sudah memiliki dasar pencarian semantik.

Gratis untuk memulai

Belajar AI Agents dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
60
Pelajaran
239

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membuat Embedding dengan text-embedding-3” gratis?

Ya — teks lengkap “Membuat Embedding dengan text-embedding-3” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membuat Embedding dengan text-embedding-3”?

Gunakan OpenAI text-embedding-3-small/large untuk mengubah string menjadi vektor berdimensi 1536 atau 3072. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Agents?

Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Membuat Embedding dengan text-embedding-3” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?

Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Embedding (Representasi Vektor)
  2. Membuat Embedding dengan text-embedding-3
  3. Kemiripan Kosinus untuk Pengambilan
  4. Perbandingan Model Embedding (OpenAI vs Cohere vs OSS)
← Kembali ke AI Agents