OpenAI: Text Embedding 3 Small
Model embedding teks generasi ketiga OpenAI yang lebih kecil mengembalikan vektor 1.536 dimensi secara bawaan dan mendukung representasi lebih pendek. Gunakan keluaran numerik untuk pencarian semantik, temu kembali kode, pengelompokan, rekomendasi, dan klasifikasi.
- Ailoot Ultra · Embedding
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Embedding · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
text-embedding-3-small adalah model embedding teks generasi ketiga OpenAI yang lebih kecil. Model mengubah materi tertulis menjadi vektor numerik dengan 1.536 komponen secara bawaan. Vektor tersebut mengukur hubungan antarteks untuk tahap pencarian atau analisis lain; model tidak menghasilkan jawaban percakapan atas masukan.
Seperti model generasi ketiga yang lebih besar, model ini mendukung kendali dimensions produsen untuk embedding lebih pendek. Pelatihan dirancang untuk mempertahankan informasi yang merepresentasikan konsep dalam vektor yang dipendekkan, dengan pilihan ukuran memengaruhi kualitas aplikasi dan kebutuhan sumber daya. Pertahankan konsistensi model serta dimensi yang dipilih pada rekaman dan kueri yang dibandingkan.
Aplikasi praktisnya adalah pencarian kode. Panduan pembuat menjelaskan representasi fungsi sumber sebagai teks dan pembuatan embedding-nya, lalu pembuatan embedding kueri bahasa alami dengan model yang sama serta perbandingan vektor hasilnya. Contoh hasil adalah himpunan fungsi relevan berperingkat yang terhubung dengan lokasi sumber. Untuk pencarian dokumen, artefak yang setara adalah himpunan bagian yang teks dan rujukan aslinya tetap tersedia bagi pembaca atau model berikutnya.
Penggunaan lain yang didokumentasikan mencakup pengelompokan, rekomendasi konten terkait, klasifikasi, deteksi pencilan, dan pengukuran keragaman. Alur pesan terfokus dapat mengelompokkan permintaan serupa atau membandingkannya dengan deskripsi kategori. Aplikasi menetapkan cara hasil kemiripan menjadi kategori, rekomendasi, atau item peninjauan; embedding sendiri tetap berupa data numerik.
OpenAI menetapkan masukan maksimum 8.192 token per teks. API embedding-nya menerima string atau masukan yang ditokenisasi dan beberapa masukan dalam satu permintaan, menolak string kosong, serta menerapkan batas agregat 300.000 token. Siapkan materi panjang sebagai bagian bermakna dan pertahankan judul atau definisi yang dibutuhkan untuk menafsirkannya. Gunakan himpunan bidang sumber yang konsisten alih-alih membuat embedding berbagai jenis rekaman dengan aturan persiapan yang tidak terkait.
Produsen mengembalikan vektor float secara bawaan dan juga mendokumentasikan pengodean base64. Panduan menyatakan bahwa embedding OpenAI dinormalisasi ke panjang satu dan menyarankan kemiripan kosinus; hasil kali titik dapat menghitungnya dan jarak Euclidean memberikan peringkat yang sama. Jika embedding generasi ketiga dipendekkan secara manual setelah dikembalikan, normalkan kembali vektor yang dipendekkan sesuai panduan. Kendali dimensions menghindarkan kebutuhan menjadikan pemotongan manual sebagai tahap persiapan biasa.
Catat identitas model, dimensi, dan hubungan sumber bersama setiap vektor. Artefak berikutnya yang berguna adalah daftar berperingkat, koleksi berkelompok, atau himpunan fitur klasifikasi yang terhubung dengan teks asalnya. Periksa apakah materi terpilih benar-benar mendukung tugas dan pisahkan fakta yang tidak tersedia dari keterkaitan semantik. Tahap berikutnya kemudian dapat menggunakan representasi untuk alur temu kembali atau keputusan spesifik.
Ailoot Ultra · Embedding POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Mulai
Model embedding teks generasi ketiga OpenAI yang lebih kecil mengembalikan vektor 1.536 dimensi secara bawaan dan mendukung representasi lebih pendek. Gunakan keluaran numerik untuk pencarian semantik, temu kembali kode, pengelompokan, rekomendasi, dan klasifikasi.
- Masukan yang diterima
- Teks · token_ids
- Hasil
- embedding
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Embedding POST /v1/embeddings
- Masukan
text,token_ids- Keluaran
embedding- Konteks
- 8.192 tokens
- Format keluaran
- json
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan openai/text-embedding-3-small | Bawaan— |
Kolominput | Jenisstring|string[]|integer[]|integer[][] | PersyaratanWajib | Nilai & batasan Item minimum: 1 Kondisi: Batch homogen yang tidak kosong. ID token berupa bilangan bulat nonnegatif. Anggaran masukan: Maksimum: 8.192 · Satuan teks: byte UTF8 · Satuan token: elemen array token | Bawaan— |
Kolomencoding_format | Jenisstring | PersyaratanOpsional | Nilai & batasan float | Bawaanfloat |
Kolomdimensions | Jenisinteger | PersyaratanTidak didukung | Nilai & batasan Minimum: 1 | Bawaan— |
Kolomuser | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomsession_id | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomtrace | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomprovider | Jenisobject | PersyaratanOpsional | Nilai & batasan Kondisi: provider.options ditolak | Bawaan— |
Kombinasi bahan masukan
text_to_embedding
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input |
Parameterinput_shapes | Kontrakstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Kontrakfloat |
Parameterdimensions_override | Kontrakfalse |
Parametermax_input_budget_units | Kontrak8192 |
Parametermultimodal_objects | Kontrakfalse |
Parametermaterial_types | Kontraktext, token_ids |
Siklus hidup: synchronous_json
Pertahankan index dan dimensi setiap vektor.
Nama model multimodal tidak mengizinkan objek gambar pada jalur persis ini.
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tarif standar Saat mode fast dipilih
- Mode Flex
- Tarif standar Saat mode flex dipilih
- Upaya penalaran maksimum
- Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default
Tarif Ailoot
Harga menurut konfigurasi
| Konfigurasi | Jadwal tarif | Biaya |
|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan $0.00004 / 1K token Keluaran · Token keluaran $0 / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Embedding
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/text-embedding-3-small", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='openai/text-embedding-3-small',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Terima dan simpan hasil
Ailoot Ultra · Embedding
json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Simpan setiap vektor beserta index masing-masing. Jumlah vektor harus sama dengan jumlah input; dimensinya harus konsisten.
Jika respons asli perlu diperiksa
Endpoint untuk tugas embedding tidak ditambahkan.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomobject | Jenisstring |
Kolommodel | Jenisstring |
Kolomdata[].index | Jenisinteger |
Kolomdata[].embedding | Jenisfinite float[] |
Kolomusage | Jenisobject |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
Alias
Alias model
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
Ailoot Ultra · Embedding · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Mulai
Model embedding teks generasi ketiga OpenAI yang lebih kecil mengembalikan vektor 1.536 dimensi secara bawaan dan mendukung representasi lebih pendek. Gunakan keluaran numerik untuk pencarian semantik, temu kembali kode, pengelompokan, rekomendasi, dan klasifikasi.
- Masukan yang diterima
- Teks
- Hasil
- embedding
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Embedding · text-embedding-3-small POST /v1/embeddings
- Masukan
text- Keluaran
embedding- Konteks
- 8.192 tokens
- Format keluaran
- json
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan text-embedding-3-small | Bawaan— |
Kolominput | Jenisstring|string[]|integer[]|integer[][] | PersyaratanWajib | Nilai & batasan Item minimum: 1 Kondisi: Batch homogen yang tidak kosong. ID token berupa bilangan bulat nonnegatif. Anggaran masukan: Maksimum: 8.192 · Satuan teks: byte UTF8 · Satuan token: elemen array token | Bawaan— |
Kolomencoding_format | Jenisstring | PersyaratanOpsional | Nilai & batasan float | Bawaanfloat |
Kolomdimensions | Jenisinteger | PersyaratanTidak didukung | Nilai & batasan Minimum: 1 | Bawaan— |
Kolomuser | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Metadata JSON opsional; semantik upstream yang persis bergantung pada model yang dipilih. | Bawaan— |
Kolomsession_id | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Metadata JSON opsional; semantik upstream yang persis bergantung pada model yang dipilih. | Bawaan— |
Kolomtrace | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Metadata JSON opsional; semantik upstream yang persis bergantung pada model yang dipilih. | Bawaan— |
Kolomprovider | Jenisobject | PersyaratanOpsional | Nilai & batasan Kondisi: provider.options ditolak | Bawaan— |
Kombinasi bahan masukan
text_to_embedding
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input |
Parameterinput_shapes | Kontrakstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Kontrakfloat |
Parameterdimensions_override | Kontrakfalse |
Parametermax_input_budget_units | Kontrak8192 |
Parametermultimodal_objects | Kontrakfalse |
Parametermaterial_types | Kontraktext |
Parametertext_file_material | KontrakBaca dokumen UTF-8 yang sebenarnya dan masukkan teksnya ke string masukan atau konten pesan yang ditunjukkan. |
Siklus hidup: synchronous_json
Kirim ID model yang persis dan bidang wajib.
Simpan setiap item yang dikembalikan beserta pengenal aslinya.
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tarif standar Saat mode fast dipilih
- Mode Flex
- Tarif standar Saat mode flex dipilih
- Upaya penalaran maksimum
- Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default
Tarif Ailoot
Harga menurut konfigurasi
| Konfigurasi | Jadwal tarif | Biaya |
|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan $0.00004 / 1K token Keluaran · Token keluaran $0 / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Embedding · text-embedding-3-small
{
"model": "text-embedding-3-small",
"input": [
"First document",
"Second document"
],
"encoding_format": "float"
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-3-small', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/embeddings', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
Terima dan simpan hasil
Ailoot Ultra · Embedding · text-embedding-3-small
json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Simpan setiap vektor bernilai berhingga beserta indeks aslinya. Pertahankan seluruh dimensi dan objek penggunaan secara utuh.
Jika respons asli perlu diperiksa
Endpoint untuk tugas embedding tidak ditambahkan.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomobject | Jenisstring |
Kolommodel | Jenisstring |
Kolomdata[].index | Jenisinteger |
Kolomdata[].embedding | Jenisfinite float[] |
Kolomusage | Jenisobject |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
Alias
Alias model
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · OpenAI: Text Embedding 3 Small
- Input dan hasil apa yang tersedia?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- Kolom apa yang digunakan permintaan?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- Batasan apa yang berlaku?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(byte UTF8);input.min_items:1