OpenAI: Text Embedding 3 Small
Az OpenAI kisebb harmadik generációs szövegbeágyazási modellje alapértelmezés szerint 1536 dimenziós vektorokat ad vissza, és rövidebb reprezentációkat is támogat. A numerikus kimenetet szemantikai kereséshez, kódkereséshez, csoportosításhoz, ajánláshoz és osztályozáshoz használhatja.
- Ailoot Ultra · Beágyazások
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Beágyazások · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
A modellről
Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.
A text-embedding-3-small az OpenAI kisebb harmadik generációs szövegbeágyazási modellje. Írott anyagokat alakít numerikus vektorokká, alapértelmezés szerint 1536 komponenssel. Ezek a vektorok a szövegek közötti kapcsolatokat mérik egy következő keresési vagy elemzési lépéshez; a modell nem generál társalgási választ a bemenetre.
A nagyobb harmadik generációs modellhez hasonlóan támogatja a gyártó dimensions vezérlőjét rövidebb beágyazásokhoz. A tanítás célja, hogy a rövidített vektorban megmaradjon a fogalmakat reprezentáló információ, a méretválasztás pedig befolyásolja az alkalmazás minőségét és erőforrásigényét. Az összehasonlított rekordoknál és lekérdezéseknél következetesen ugyanazt a modellt és a kiválasztott dimenziókat használja.
Gyakorlati alkalmazása a kódkeresés. A gyártó útmutatója leírja a forráskódfüggvények szövegként való reprezentálását és beágyazását, majd egy természetes nyelvű lekérdezés ugyanazzal a modellel való beágyazását és az így kapott vektorok összehasonlítását. Szemléltető eredmény a releváns függvények rangsorolt halmaza a forrásbeli helyükhöz kapcsolva. Dokumentumkeresésnél az ennek megfelelő eredmény olyan részletek halmaza, amelyek szövege és eredeti hivatkozásai az olvasó vagy a következő modell számára elérhetők maradnak.
További dokumentált használatok a klaszterezés, a kapcsolódó tartalom ajánlása, az osztályozás, a kiugró elemek felismerése és a sokféleség mérése. Egy körülhatárolt üzenetkezelési folyamat hasonló kéréseket csoportosíthat, vagy kategórialeírásokkal hasonlíthatja össze őket. Az alkalmazás határozza meg, hogyan lesz a hasonlósági eredményből kategória, ajánlás vagy áttekintendő elem; maga a beágyazás numerikus adat marad.
Az OpenAI szövegenként 8192 tokenes maximális bemenetet határoz meg. Beágyazási API-ja karakterláncokat vagy tokenizált bemenetet, valamint egy kérésben több bemenetet fogad el, elutasítja az üres karakterláncokat, és 300 000 tokenes összesített korlátot alkalmaz. A hosszú anyagot értelmes részletekként készítse elő, és őrizze meg az értelmezésükhöz szükséges címeket vagy definíciókat. Egységes forrásmezőkészletet használjon, ahelyett, hogy eltérő rekordtípusokat egymástól független előkészítési szabályokkal ágyazna be.
A gyártó alapértelmezés szerint lebegőpontos vektorokat ad vissza, és a base64 kódolást is dokumentálja. Az útmutató szerint az OpenAI beágyazásai egységhosszúságúra normalizáltak, és koszinuszhasonlóságot javasol; ezt skalárszorzat is kiszámíthatja, az euklideszi távolság pedig ugyanazt a rangsort adja. Ha egy harmadik generációs beágyazást visszaadás után kézzel rövidítenek, a rövidített vektort az útmutató szerint újra normalizálni kell. A dimensions vezérlővel elkerülhető, hogy a kézi csonkolás legyen a szokásos előkészítési lépés.
Minden vektor mellett rögzítse a modellazonosságot, a dimenziókat és a forráskapcsolatot. Hasznos későbbi eredmény egy rangsorolt lista, csoportosított gyűjtemény vagy osztályozási jellemzők halmaza, az ezeket létrehozó szöveghez kapcsolva. Ellenőrizze, hogy a kiválasztott anyag ténylegesen támogatja-e a feladatot, és a hiányzó tényeket tartsa külön a szemantikai kapcsolódástól. A következő lépés ezután konkrét keresési vagy döntési munkafolyamathoz használhatja a reprezentációt.
Ailoot Ultra · Beágyazások POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Kezdő lépések
Az OpenAI kisebb harmadik generációs szövegbeágyazási modellje alapértelmezés szerint 1536 dimenziós vektorokat ad vissza, és rövidebb reprezentációkat is támogat. A numerikus kimenetet szemantikai kereséshez, kódkereséshez, csoportosításhoz, ajánláshoz és osztályozáshoz használhatja.
- Elfogadott bemenetek
- Szöveg · token_ids
- Eredmények
- embedding
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Beágyazások POST /v1/embeddings
- Bemenet
text,token_ids- Kimenet
embedding- Kontextus
- 8192 tokens
- Kimeneti formátum
- json
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok openai/text-embedding-3-small | Alapértelmezett— |
Mezőinput | Típusstring|string[]|integer[]|integer[][] | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 Feltételek: Nem üres, homogén köteg. A tokenazonosítók nemnegatív egész számok. Bemeneti keret: Maximum: 8192 · Szövegegység: UTF8-bájtok · Tokenegység: tokentömb elemei | Alapértelmezett— |
Mezőencoding_format | Típusstring | KövetelményOpcionális | Értékek és korlátok float | Alapértelmezettfloat |
Meződimensions | Típusinteger | KövetelményNem támogatott | Értékek és korlátok Minimum: 1 | Alapértelmezett— |
Mezőuser | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: A forrás engedélyezi ezt a JSON-metaadatmezőt; a szolgáltatónál érvényes pontos jelentése modellenként eltér. | Alapértelmezett— |
Mezősession_id | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: A forrás engedélyezi ezt a JSON-metaadatmezőt; a szolgáltatónál érvényes pontos jelentése modellenként eltér. | Alapértelmezett— |
Mezőtrace | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: A forrás engedélyezi ezt a JSON-metaadatmezőt; a szolgáltatónál érvényes pontos jelentése modellenként eltér. | Alapértelmezett— |
Mezőprovider | Típusobject | KövetelményOpcionális | Értékek és korlátok Feltételek: A provider.options elutasítva | Alapértelmezett— |
Bemeneti anyagok kombinációi
text_to_embedding
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, input |
Paraméterinput_shapes | Szerződésstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Paraméterencoding_format | Szerződésfloat |
Paraméterdimensions_override | Szerződésfalse |
Paramétermax_input_budget_units | Szerződés8192 |
Paramétermultimodal_objects | Szerződésfalse |
Paramétermaterial_types | Szerződéstext, token_ids |
Életciklus: synchronous_json
Őrizze meg minden vektor indexét és dimenzióját.
A multimodális modell neve ezen a pontos útvonalon nem teszi lehetővé képobjektumok használatát.
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Normál díjszabás Ha a gyors mód van kiválasztva
- Flex mód
- Normál díjszabás Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Ailoot-díjak
Árak beállításonként
| Beállítás | Díjtáblázat | Díj |
|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek $0.00004 / 1K token Kimenet · Kimeneti tokenek $0 / 1K token Bemenet · Gyorsítótár olvasása — / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · Beágyazások
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)
Eredmények fogadása és mentése
Ailoot Ultra · Beágyazások
json
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizzen meg minden vektort az indexével együtt. A vektorok számának meg kell egyeznie a bemenetek számával; a dimenzióknak egységesnek kell lenniük.
Ha az eredeti választ ellenőrizni kell
Nem kerül bevezetésre külön beágyazási feladatvégpont.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőobject | Típusstring |
Mezőmodel | Típusstring |
Meződata[].index | Típusinteger |
Meződata[].embedding | Típusfinite float[] |
Mezőusage | Típusobject |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Álnevek
Modell álnevei
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
Ailoot Ultra · Beágyazások · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Kezdő lépések
Az OpenAI kisebb harmadik generációs szövegbeágyazási modellje alapértelmezés szerint 1536 dimenziós vektorokat ad vissza, és rövidebb reprezentációkat is támogat. A numerikus kimenetet szemantikai kereséshez, kódkereséshez, csoportosításhoz, ajánláshoz és osztályozáshoz használhatja.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- embedding
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Beágyazások · text-embedding-3-small POST /v1/embeddings
- Bemenet
text- Kimenet
embedding- Kontextus
- 8192 tokens
- Kimeneti formátum
- json
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok text-embedding-3-small | Alapértelmezett— |
Mezőinput | Típusstring|string[]|integer[]|integer[][] | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 Feltételek: Nem üres, homogén köteg. A tokenazonosítók nemnegatív egész számok. Bemeneti keret: Maximum: 8192 · Szövegegység: UTF8-bájtok · Tokenegység: tokentömb elemei | Alapértelmezett— |
Mezőencoding_format | Típusstring | KövetelményOpcionális | Értékek és korlátok float | Alapértelmezettfloat |
Meződimensions | Típusinteger | KövetelményNem támogatott | Értékek és korlátok Minimum: 1 | Alapértelmezett— |
Mezőuser | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: Opcionális JSON-metaadatok; a pontos szolgáltatói működés a kiválasztott modelltől függ. | Alapértelmezett— |
Mezősession_id | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: Opcionális JSON-metaadatok; a pontos szolgáltatói működés a kiválasztott modelltől függ. | Alapértelmezett— |
Mezőtrace | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: Opcionális JSON-metaadatok; a pontos szolgáltatói működés a kiválasztott modelltől függ. | Alapértelmezett— |
Mezőprovider | Típusobject | KövetelményOpcionális | Értékek és korlátok Feltételek: A provider.options elutasítva | Alapértelmezett— |
Bemeneti anyagok kombinációi
text_to_embedding
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, input |
Paraméterinput_shapes | Szerződésstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Paraméterencoding_format | Szerződésfloat |
Paraméterdimensions_override | Szerződésfalse |
Paramétermax_input_budget_units | Szerződés8192 |
Paramétermultimodal_objects | Szerződésfalse |
Paramétermaterial_types | Szerződéstext |
Paramétertext_file_material | SzerződésOlvassa el a tényleges UTF-8 dokumentumot, és tegye a szövegét a jelzett bemeneti karakterláncba vagy az üzenettartalom karakterláncába. |
Életciklus: synchronous_json
Küldje el a pontos modellazonosítót és a kötelező mezőket.
Őrizzen meg minden visszaadott elemet és eredeti azonosítóit.
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Normál díjszabás Ha a gyors mód van kiválasztva
- Flex mód
- Normál díjszabás Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Ailoot-díjak
Árak beállításonként
| Beállítás | Díjtáblázat | Díj |
|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek $0.00004 / 1K token Kimenet · Kimeneti tokenek $0 / 1K token Bemenet · Gyorsítótár olvasása — / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · Beágyazások · 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')))
Eredmények fogadása és mentése
Ailoot Ultra · Beágyazások · text-embedding-3-small
json
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizzen meg minden véges vektort az eredeti indexével együtt. Tartson meg minden dimenziót és a teljes felhasználási objektumot.
Ha az eredeti választ ellenőrizni kell
Nem kerül bevezetésre külön beágyazási feladatvégpont.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőobject | Típusstring |
Mezőmodel | Típusstring |
Meződata[].index | Típusinteger |
Meződata[].embedding | Típusfinite float[] |
Mezőusage | Típusobject |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Álnevek
Modell álnevei
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · OpenAI: Text Embedding 3 Small
- Milyen bemenetek és eredmények érhetők el?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- Mely mezőket használja a kérés?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- Milyen korlátok érvényesek?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(UTF8-bájtok);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(UTF8-bájtok);input.min_items:1