Menjana Embedding dengan text-embedding-3
Gunakan OpenAI text-embedding-3-small/large untuk menukar rentetan kepada vektor berdimensi 1536 atau 3072.
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)) # 1536Pembenaman 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| = 1Pembenaman 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.
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
- Apakah Embedding (Perwakilan Vektor)
- Menjana Embedding dengan text-embedding-3
- Kesamaan Kosinus untuk Pengambilan
- Perbandingan Model Embedding (OpenAI berbanding Cohere berbanding OSS)