Ejen AI · Pelajaran

Menjana Embedding dengan text-embedding-3

Gunakan OpenAI text-embedding-3-small/large untuk menukar rentetan kepada vektor berdimensi 1536 atau 3072.

Pelajaran 2 daripada 413 langkah

Menjana Embedding dengan text-embedding-3 ialah pelajaran Ejen AI percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ejen AI, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Model Pembenaman OpenAI

OpenAI menawarkan dua model pembenaman untuk penggunaan sebenar:

  • text-embedding-3-small — 1536 dimensi, murah, pantas
  • text-embedding-3-large — 3072 dimensi, kualiti lebih baik, lebih perlahan

Gunakan model kecil untuk kebanyakan keadaan; gunakan model besar hanya apabila kualiti lebih penting daripada kos.

Pembenaman Pertama Anda

Satu baris kod 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

Pembenaman secara Kelompok

API menyokong senarai — jauh lebih pantas daripada membuat panggilan satu demi 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.

Had Token

Setiap masukan mempunyai had maksimum token (8192 untuk text-embedding-3). Dokumen panjang mesti dipecahkan kepada bahagian terlebih dahulu.

Mengurangkan Dimensi

Anda boleh meminta lebih sedikit dimensi (pembenaman Matryoshka) — berguna untuk menjimatkan storan:

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

Kos

Pada masa penulisan:

  • text-embedding-3-small: $0.02 / 1M token
  • text-embedding-3-large: $0.13 / 1M token

Membenamkan 1M perkataan berharga kira-kira $0.025 dengan model kecil — pada asasnya percuma.

Lakukan Pembenaman Sekali, Gunakan Semula Selamanya

Pembenaman tidak berubah apabila anda membenamkan semula — anda boleh mengiranya sekali dan menyimpannya. Penyimpanan cache amat penting untuk mana-mana sistem dalam penggunaan sebenar.

Menormalkan Vektor

Pembenaman OpenAI sudah dinormalkan mengikut L2 (panjang = 1). Ini bermakna keserupaan kosinus = hasil darab titik, sekali gus menjimatkan pengiraan:

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

Pembenaman Tak Segerak

Untuk daya pemprosesan yang tinggi, gunakan klien tak segerak:

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']))

Cuba Semula apabila Gagal

Panggilan pembenaman boleh gagal seperti mana-mana panggilan HTTP. Balutkannya dengan percubaan semula bersama pengunduran:

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 Pembenaman

Tiga pilihan storan yang biasa:

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

Kesedaran Kos

Secara kasar, berapakah kos untuk membenamkan 1 juta perkataan dengan text-embedding-3-small?

Ringkasan

Pilih text-embedding-3-small, kelompokkan panggilan anda, simpan vektor tersebut, dan anda akan mempunyai asas carian semantik.

Percuma untuk bermula

Pelajari Ejen AI dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
60
Pelajaran
239

Soalan Lazim

Adakah pelajaran “Menjana Embedding dengan text-embedding-3” percuma?

Ya — teks penuh “Menjana Embedding dengan text-embedding-3” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ejen AI, tingkat taraf kepada CoddyKit PRO. Kursus Ejen AI merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menjana Embedding dengan text-embedding-3”?

Gunakan OpenAI text-embedding-3-small/large untuk menukar rentetan kepada vektor berdimensi 1536 atau 3072. Anda berlatih Ejen AI menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ejen AI?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ejen AI di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Menjana Embedding dengan text-embedding-3” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ejen AI ini?

Ya. Setiap pelajaran Ejen AI menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Apakah Embedding (Perwakilan Vektor)
  2. Menjana Embedding dengan text-embedding-3
  3. Kesamaan Kosinus untuk Pengambilan
  4. Perbandingan Model Embedding (OpenAI berbanding Cohere berbanding OSS)
← Kembali ke Ejen AI