OpenAI: Text Embedding 3 Small
OpenAI-jev manjši model za vektorske vložitve besedila tretje generacije privzeto vrne 1536-dimenzionalne vektorje in podpira krajše predstavitve. Številski izhod uporabite za semantično iskanje, pridobivanje kode, združevanje, priporočila in klasifikacijo.
- Ailoot Ultra · Vektorske predstavitve
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Vektorske vložitve · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
O modelu
Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.
text-embedding-3-small je OpenAI-jev manjši model za vektorske vložitve besedila tretje generacije. Pisno gradivo pretvori v številske vektorje s privzeto 1536 komponentami. Ti vektorji merijo razmerja med besedili za nadaljnji korak iskanja ali analize; model na vhodno besedilo ne ustvari pogovornega odgovora.
Tako kot večji model tretje generacije podpira proizvajalčevo nastavitev dimensions za krajše vložitve. Učenje je zasnovano tako, da v skrajšanem vektorju ohrani informacije, ki predstavljajo pojme, izbira velikosti pa vpliva na kakovost aplikacije in njene potrebe po virih. Pri primerjanih zapisih in poizvedbah ohranite isti model in izbrane dimenzije.
Praktična uporaba je iskanje kode. Razvijalčev vodnik opisuje predstavitev izvornih funkcij kot besedilo in njihovo pretvorbo v vložitve, nato pretvorbo poizvedbe v naravnem jeziku z istim modelom ter primerjavo dobljenih vektorjev. Ponazoritveni rezultat je razvrščen nabor ustreznih funkcij, povezanih z njihovimi izvornimi mesti. Pri iskanju dokumentov je enakovreden izdelek nabor odlomkov, katerih besedilo in izvirni sklici ostanejo na voljo bralcu ali naslednjemu modelu.
Druge dokumentirane uporabe vključujejo razvrščanje v skupine, priporočanje sorodnih vsebin, klasifikacijo, zaznavanje odstopanj in merjenje raznolikosti. Osredotočen potek obdelave sporočil lahko združuje podobne zahteve ali jih primerja z opisi kategorij. Aplikacija določi, kako rezultat podobnosti postane kategorija, priporočilo ali postavka za pregled; sama vložitev ostaja številski podatek.
OpenAI določa največji vnos 8192 žetonov na besedilo. Njegov API za vložitve sprejema nize ali tokeniziran vnos in več vnosov v eni zahtevi, zavrača prazne nize ter uporablja skupno omejitev 300 000 žetonov. Dolgo gradivo pripravite kot smiselne odlomke ter ohranite naslove ali definicije, potrebne za njihovo razumevanje. Uporabite dosleden nabor izvornih polj, namesto da bi različne vrste zapisov pretvarjali v vložitve po nepovezanih pravilih priprave.
Proizvajalec privzeto vrne vektorje float in dokumentira tudi kodiranje base64. Vodnik navaja, da so OpenAI-jeve vložitve normalizirane na enotsko dolžino, ter priporoča kosinusno podobnost; izračuna jo lahko skalarni produkt, evklidska razdalja pa daje enako razvrstitev. Če je vložitev tretje generacije po vrnitvi ročno skrajšana, skrajšani vektor znova normalizirajte, kot opisuje vodnik. Nastavitev dimensions odpravlja potrebo po ročnem krajšanju kot običajnem koraku priprave.
Z vsakim vektorjem zabeležite identiteto modela, dimenzije in povezavo z virom. Uporaben nadaljnji izdelek je razvrščen seznam, združena zbirka ali nabor klasifikacijskih značilk, povezanih z besedilom, iz katerega so nastale. Preverite, ali izbrano gradivo dejansko podpira nalogo, in ločujte manjkajoča dejstva od semantične sorodnosti. Naslednji korak lahko nato predstavitev uporabi za določen potek pridobivanja ali odločanja.
Ailoot Ultra · Vektorske predstavitve POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Začetek
OpenAI-jev manjši model za vektorske vložitve besedila tretje generacije privzeto vrne 1536-dimenzionalne vektorje in podpira krajše predstavitve. Številski izhod uporabite za semantično iskanje, pridobivanje kode, združevanje, priporočila in klasifikacijo.
- Dovoljeni vhodi
- Besedilo · token_ids
- Rezultati
- embedding
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Vektorske predstavitve POST /v1/embeddings
- Vhod
text,token_ids- Izhod
embedding- Kontekst
- 8192 tokens
- Izhodni format
- json
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve openai/text-embedding-3-small | Privzeto— |
Poljeinput | Vrstastring|string[]|integer[]|integer[][] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 Pogoji: Neprazen paket istovrstnih vhodnih podatkov. Identifikatorji žetonov so nenegativna cela števila. Vhodni proračun: Največ: 8192 · Besedilna enota: bajti UTF8 · Enota žetonov: elementi polja žetonov | Privzeto— |
Poljeencoding_format | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve float | Privzetofloat |
Poljedimensions | Vrstainteger | ZahtevaNi podprto | Vrednosti in omejitve Najmanj: 1 | Privzeto— |
Poljeuser | Vrstajson_value | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela. | Privzeto— |
Poljesession_id | Vrstajson_value | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela. | Privzeto— |
Poljetrace | Vrstajson_value | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Izvor dovoljuje to polje metapodatkov JSON; natančen pomen pri ponudniku je odvisen od modela. | Privzeto— |
Poljeprovider | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: provider.options je zavrnjen | Privzeto— |
Kombinacije vhodnih gradiv
text_to_embedding
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, input |
Parameterinput_shapes | Specifikacijastring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Specifikacijafloat |
Parameterdimensions_override | Specifikacijafalse |
Parametermax_input_budget_units | Specifikacija8192 |
Parametermultimodal_objects | Specifikacijafalse |
Parametermaterial_types | Specifikacijatext, token_ids |
Življenjski cikel: synchronous_json
Shranite indeks in dimenzijo vsakega vektorja.
Ime multimodalnega modela ne pomeni, da so na tej točno določeni poti dovoljeni slikovni objekti.
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Cene Ailoot
Cene po nastavitvah
| Nastavitev | Cenovna lestvica | Strošek |
|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Strošek Vhod · Vhodni žetoni $0.00004 / 1K žetonov Izhod · Izhodni žetoni $0 / 1K žetonov Vhod · Branje predpomnilnika — / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Vektorske predstavitve
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)
Prejmi in shrani rezultate
Ailoot Ultra · Vektorske predstavitve
json
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Shranite vsak vektor skupaj z njegovim indeksom. Število vektorjev mora biti enako številu vhodov; dimenzije morajo biti skladne.
Če je treba preveriti izvirni odgovor
Končna točka za opravila ustvarjanja vektorskih predstavitev se ne uvaja.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeobject | Vrstastring |
Poljemodel | Vrstastring |
Poljedata[].index | Vrstainteger |
Poljedata[].embedding | Vrstafinite float[] |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Druga imena poti metod
Uporabite zgoraj navedene poti metod.
Povezani ID-ji za klic
Ailoot Ultra · Vektorske vložitve · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Začetek
OpenAI-jev manjši model za vektorske vložitve besedila tretje generacije privzeto vrne 1536-dimenzionalne vektorje in podpira krajše predstavitve. Številski izhod uporabite za semantično iskanje, pridobivanje kode, združevanje, priporočila in klasifikacijo.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- embedding
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Vektorske vložitve · text-embedding-3-small POST /v1/embeddings
- Vhod
text- Izhod
embedding- Kontekst
- 8192 tokens
- Izhodni format
- json
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve text-embedding-3-small | Privzeto— |
Poljeinput | Vrstastring|string[]|integer[]|integer[][] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 Pogoji: Neprazen paket istovrstnih vhodnih podatkov. Identifikatorji žetonov so nenegativna cela števila. Vhodni proračun: Največ: 8192 · Besedilna enota: bajti UTF8 · Enota žetonov: elementi polja žetonov | Privzeto— |
Poljeencoding_format | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve float | Privzetofloat |
Poljedimensions | Vrstainteger | ZahtevaNi podprto | Vrednosti in omejitve Najmanj: 1 | Privzeto— |
Poljeuser | Vrstajson_value | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Neobvezni metapodatki JSON; natančna semantika nadrejenega sistema je odvisna od izbranega modela. | Privzeto— |
Poljesession_id | Vrstajson_value | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Neobvezni metapodatki JSON; natančna semantika nadrejenega sistema je odvisna od izbranega modela. | Privzeto— |
Poljetrace | Vrstajson_value | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Neobvezni metapodatki JSON; natančna semantika nadrejenega sistema je odvisna od izbranega modela. | Privzeto— |
Poljeprovider | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: provider.options je zavrnjen | Privzeto— |
Kombinacije vhodnih gradiv
text_to_embedding
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, input |
Parameterinput_shapes | Specifikacijastring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Specifikacijafloat |
Parameterdimensions_override | Specifikacijafalse |
Parametermax_input_budget_units | Specifikacija8192 |
Parametermultimodal_objects | Specifikacijafalse |
Parametermaterial_types | Specifikacijatext |
Parametertext_file_material | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |
Življenjski cikel: synchronous_json
Pošljite natančni ID modela in obvezna polja.
Ohranite vsak vrnjeni element in njegove prvotne identifikatorje.
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Cene Ailoot
Cene po nastavitvah
| Nastavitev | Cenovna lestvica | Strošek |
|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Strošek Vhod · Vhodni žetoni $0.00004 / 1K žetonov Izhod · Izhodni žetoni $0 / 1K žetonov Vhod · Branje predpomnilnika — / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. Kako delujeta rezervacija in obračun →
Primeri zahtev
Ailoot Ultra · Vektorske vložitve · 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')))
Prejmi in shrani rezultate
Ailoot Ultra · Vektorske vložitve · text-embedding-3-small
json
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vsak vektor s končnimi vrednostmi in njegovim izvirnim indeksom. Ohranite vse dimenzije in celoten objekt porabe.
Če je treba preveriti izvirni odgovor
Končna točka za opravila ustvarjanja vektorskih predstavitev se ne uvaja.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeobject | Vrstastring |
Poljemodel | Vrstastring |
Poljedata[].index | Vrstainteger |
Poljedata[].embedding | Vrstafinite float[] |
Poljeusage | Vrstaobject |
Napake in naslednji koraki
| Odgovor | Pogoj | Naslednji korak |
|---|---|---|
Odgovor400 · invalid_request_error | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
Druga imena
Druga imena modelov
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Druga imena poti metod
Uporabite zgoraj navedene poti metod.
Povezani ID-ji za klic
FAQ · OpenAI: Text Embedding 3 Small
- Kateri vhodi in rezultati so na voljo?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- Katera polja uporablja zahteva?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- Katere omejitve veljajo?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(bajti UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(bajti UTF8);input.min_items:1