OpenAI: Text Embedding 3 Small
Model embedding teks generasi ketiga OpenAI yang lebih kecil mengembalikan vektor 1,536 dimensi secara lalai dan menyokong perwakilan lebih pendek. Gunakan output berangka untuk carian semantik, pemerolehan semula kod, pengelompokan, cadangan dan pengelasan.
- Ailoot Ultra · Pembenaman
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Pembenaman · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
text-embedding-3-small ialah model embedding teks generasi ketiga OpenAI yang lebih kecil. Ia menukarkan bahan bertulis kepada vektor berangka dengan 1,536 komponen secara lalai. Vektor itu mengukur hubungan antara teks untuk langkah carian atau analisis lain; model tidak menjana jawapan perbualan kepada input.
Seperti model generasi ketiga yang lebih besar, ia menyokong kawalan dimensions pengeluar untuk embedding lebih pendek. Latihan direka untuk mengekalkan maklumat yang mewakili konsep dalam vektor dipendekkan, dengan pilihan saiz mempengaruhi kualiti aplikasi dan keperluan sumber. Pastikan model dan dimensi terpilih konsisten merentas rekod serta pertanyaan yang dibandingkan.
Aplikasi praktikal ialah carian kod. Panduan pembuat menerangkan perwakilan fungsi sumber sebagai teks dan penghasilan embeddingnya, kemudian penghasilan embedding pertanyaan bahasa semula jadi menggunakan model sama serta perbandingan vektor hasil. Contoh hasil ialah set fungsi relevan berperingkat yang dipautkan kepada lokasi sumber. Untuk carian dokumen, artifak sepadan ialah set petikan yang teks dan rujukan asalnya kekal tersedia kepada pembaca atau model seterusnya.
Kegunaan lain yang didokumenkan termasuk pengelompokan, cadangan kandungan berkaitan, pengelasan, pengesanan pencilan dan pengukuran kepelbagaian. Aliran kerja mesej terfokus boleh mengumpulkan permintaan serupa atau membandingkannya dengan penerangan kategori. Aplikasi mentakrifkan cara hasil keserupaan menjadi kategori, cadangan atau item semakan; embedding sendiri kekal data berangka.
OpenAI menetapkan input maksimum 8,192 token bagi setiap teks. API embeddingnya menerima rentetan atau input bertoken serta beberapa input dalam satu permintaan, menolak rentetan kosong dan menggunakan had agregat 300,000 token. Sediakan bahan panjang sebagai petikan bermakna dan simpan tajuk atau takrif yang diperlukan untuk mentafsirkannya. Gunakan set medan sumber yang konsisten, bukannya menghasilkan embedding pelbagai jenis rekod dengan peraturan penyediaan yang tidak berkaitan.
Pengeluar mengembalikan vektor float secara lalai dan turut mendokumenkan pengekodan base64. Panduan menyatakan bahawa embedding OpenAI dinormalkan kepada panjang unit dan mengesyorkan keserupaan kosinus; hasil darab titik boleh mengiranya dan jarak Euclidean memberikan kedudukan sama. Jika embedding generasi ketiga dipendekkan secara manual selepas diterima, normalkan semula vektor dipendekkan itu seperti yang diterangkan panduan. Kawalan dimensions mengelakkan keperluan menjadikan pemotongan manual sebagai langkah penyediaan biasa.
Rekodkan identiti model, dimensi dan pautan sumber bersama setiap vektor. Artifak hiliran berguna ialah senarai berperingkat, koleksi berkumpulan atau set ciri pengelasan yang dipautkan kepada teks yang menghasilkannya. Periksa sama ada bahan terpilih benar-benar menyokong tugas dan asingkan fakta yang tiada daripada perkaitan semantik. Langkah berikutnya kemudian boleh menggunakan perwakilan untuk aliran kerja pemerolehan semula atau keputusan khusus.
Ailoot Ultra · Pembenaman POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Pengenalan
Model embedding teks generasi ketiga OpenAI yang lebih kecil mengembalikan vektor 1,536 dimensi secara lalai dan menyokong perwakilan lebih pendek. Gunakan output berangka untuk carian semantik, pemerolehan semula kod, pengelompokan, cadangan dan pengelasan.
- Input yang diterima
- Teks · token_ids
- Hasil
- embedding
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Pembenaman POST /v1/embeddings
- Input
text,token_ids- Output
embedding- Konteks
- 8,192 tokens
- Format output
- json
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had openai/text-embedding-3-small | Lalai— |
Medaninput | Jenisstring|string[]|integer[]|integer[][] | KeperluanDiperlukan | Nilai & had Item minimum: 1 Syarat: Kelompok homogen yang tidak kosong. ID token ialah integer bukan negatif. Bajet input: Maksimum: 8,192 · Unit teks: bait UTF8 · Unit token: elemen tatasusunan token | Lalai— |
Medanencoding_format | Jenisstring | KeperluanPilihan | Nilai & had float | Lalaifloat |
Medandimensions | Jenisinteger | KeperluanTidak disokong | Nilai & had Minimum: 1 | Lalai— |
Medanuser | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Sumber membenarkan medan metadata JSON ini; semantik tepat di pihak huluan bergantung pada model. | Lalai— |
Medansession_id | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Sumber membenarkan medan metadata JSON ini; semantik tepat di pihak huluan bergantung pada model. | Lalai— |
Medantrace | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Sumber membenarkan medan metadata JSON ini; semantik tepat di pihak huluan bergantung pada model. | Lalai— |
Medanprovider | Jenisobject | KeperluanPilihan | Nilai & had Syarat: provider.options ditolak | Lalai— |
Gabungan bahan input
text_to_embedding
Parameter kaedah dan kitar hayat
| 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 |
Kitar hayat: synchronous_json
Simpan setiap indeks dan dimensi vektor.
Nama model multimodal tidak bermakna objek imej dibenarkan pada laluan khusus ini.
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Kadar standard Apabila mod pantas dipilih
- Mod flex
- Kadar standard Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
| Konfigurasi | Jadual kadar | Caj |
|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Caj Input · Token input $0.00004 / 1K token Output · Token output $0 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Pembenaman
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 · Pembenaman
json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Simpan setiap vektor bersama indeksnya. Bilangan vektor mesti sama dengan bilangan input; dimensi mesti konsisten.
Jika respons asal perlu disemak
Tiada titik akhir tugas pembenaman diperkenalkan.
Medan respons
| Medan | Jenis |
|---|---|
Medanobject | Jenisstring |
Medanmodel | Jenisstring |
Medandata[].index | Jenisinteger |
Medandata[].embedding | Jenisfinite float[] |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Alias
Alias model
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
Ailoot Ultra · Pembenaman · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Pengenalan
Model embedding teks generasi ketiga OpenAI yang lebih kecil mengembalikan vektor 1,536 dimensi secara lalai dan menyokong perwakilan lebih pendek. Gunakan output berangka untuk carian semantik, pemerolehan semula kod, pengelompokan, cadangan dan pengelasan.
- Input yang diterima
- Teks
- Hasil
- embedding
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Pembenaman · text-embedding-3-small POST /v1/embeddings
- Input
text- Output
embedding- Konteks
- 8,192 tokens
- Format output
- json
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had text-embedding-3-small | Lalai— |
Medaninput | Jenisstring|string[]|integer[]|integer[][] | KeperluanDiperlukan | Nilai & had Item minimum: 1 Syarat: Kelompok homogen yang tidak kosong. ID token ialah integer bukan negatif. Bajet input: Maksimum: 8,192 · Unit teks: bait UTF8 · Unit token: elemen tatasusunan token | Lalai— |
Medanencoding_format | Jenisstring | KeperluanPilihan | Nilai & had float | Lalaifloat |
Medandimensions | Jenisinteger | KeperluanTidak disokong | Nilai & had Minimum: 1 | Lalai— |
Medanuser | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Metadata JSON pilihan; makna tepat di pihak huluan bergantung pada model yang dipilih. | Lalai— |
Medansession_id | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Metadata JSON pilihan; makna tepat di pihak huluan bergantung pada model yang dipilih. | Lalai— |
Medantrace | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Metadata JSON pilihan; makna tepat di pihak huluan bergantung pada model yang dipilih. | Lalai— |
Medanprovider | Jenisobject | KeperluanPilihan | Nilai & had Syarat: provider.options ditolak | Lalai— |
Gabungan bahan input
text_to_embedding
Parameter kaedah dan kitar hayat
| 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 sebenar dan letakkan teksnya dalam rentetan input atau kandungan mesej yang ditunjukkan. |
Kitar hayat: synchronous_json
Hantar ID model yang tepat dan medan wajib.
Simpan setiap item yang dikembalikan dan pengecam asalnya.
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Kadar standard Apabila mod pantas dipilih
- Mod flex
- Kadar standard Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
| Konfigurasi | Jadual kadar | Caj |
|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Caj Input · Token input $0.00004 / 1K token Output · Token output $0 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Pembenaman · 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 · Pembenaman · text-embedding-3-small
json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Simpan setiap vektor terhingga berserta indeks asalnya. Kekalkan semua dimensi dan keseluruhan objek penggunaan.
Jika respons asal perlu disemak
Tiada titik akhir tugas pembenaman diperkenalkan.
Medan respons
| Medan | Jenis |
|---|---|
Medanobject | Jenisstring |
Medanmodel | Jenisstring |
Medandata[].index | Jenisinteger |
Medandata[].embedding | Jenisfinite float[] |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Alias
Alias model
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · OpenAI: Text Embedding 3 Small
- Apakah input dan hasil yang tersedia?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- Apakah medan yang digunakan oleh 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- Apakah had yang terpakai?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(bait UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(bait UTF8);input.min_items:1