OpenAI: Text Embedding 3 Large
Větší textový embeddingový model třetí generace společnosti OpenAI ve výchozím nastavení vrací 3072rozměrné vektory s ovládacím prvkem výrobce pro kratší reprezentace. Používejte jej pro sémantické vyhledávání, vícejazyčné porovnávání a postupy doporučování souvisejícího obsahu nebo klasifikace.
- Ailoot Ultra · Vektorové reprezentace
POST /v1/embeddingsopenai/text-embedding-3-large - Ailoot Ultra · Vektorové reprezentace · text-embedding-3-large
POST /v1/embeddingstext-embedding-3-large
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
text-embedding-3-large je větší textový embeddingový model třetí generace společnosti OpenAI pro úlohy v angličtině i dalších jazycích. Mapuje psaný materiál na číselný vektor a ve výchozím nastavení vrací 3072 složek. Vektor reprezentuje vztahy v dodaném obsahu; postup vyhledávání nebo klasifikace jej používá k výběru materiálu nebo jinému rozhodnutí.
Modely třetí generace jsou trénovány k podpoře kratších reprezentací prostřednictvím ovládacího parametru dimensions výrobce. Výrobce uvádí 1024 rozměrů jako příklad, když vektorové úložiště vyžaduje tuto velikost. Kratší vektor snižuje množství dat k ukládání a porovnávání, změna reprezentace však může ovlivnit kvalitu vyhledávání. Velikost volte podle požadavků aplikace a stejnou volbu používejte pro korpus i jeho dotazy.
Ilustrační postup vyhledávání dokumentů dělí zdrojový materiál na smysluplné pasáže, uchovává jejich identifikátory a získává vektory každé pasáže. Embedding otázky se vytvoří stejným modelem a rozměry a poté se porovná s vektory pasáží. Aplikace dodává filtry, vybírá seřazené výsledky a zobrazuje odkazy na jejich zdroje. Následný model generování textu může z nalezeného materiálu vytvořit odpověď; výsledek embeddingového modelu zůstává číselnými daty.
Další dokumentované aplikace zahrnují vyhledávání kódu nebo textu, seskupování podobných záznamů, doporučování souvisejícího obsahu, klasifikaci, detekci anomálií a měření rozmanitosti kolekce. Pro doporučení popisujte objekty pojmy relevantními pro jejich vztah. Pro klasifikaci porovnávejte s reprezentacemi kategorií nebo používejte vektory jako příznaky v klasifikátoru. Definujte pravidlo, které promění podobnost ve výsledek potřebný pro produkt.
OpenAI uvádí maximální vstup 8192 tokenů na text. Embeddingové API přijímá řetězce nebo tokenizovaný text, podporuje více vstupů a odmítá prázdné řetězce. Také vynucuje souhrnný limit 300 000 tokenů na jeden požadavek. Dlouhý dokument by se měl rozdělit se zachováním smysluplných hranic a kontextu a každý vektor zůstat propojený se zdrojovou pasáží.
Výrobce dokumentuje vektory float jako výchozí výstup a base64 jako alternativní kódování. Průvodce doporučuje kosinovou podobnost a uvádí, že embeddingy OpenAI jsou normalizovány na jednotkovou normu, což umožňuje skalární součin pro kosinovou podobnost a ekvivalentní pořadí při eukleidovské vzdálenosti. Pokud se vektor třetí generace po vytvoření ručně zkrátí, výrobce instruuje aplikaci k opětovné normalizaci zkráceného vektoru; doporučeným postupem je použití ovládacího parametru dimensions.
Připravte konzistentní textovou reprezentaci a zaznamenejte model, rozměry a identifikátor zdroje. Užitečným konečným výstupem je seřazená sada pasáží, souvisejících položek nebo seskupených záznamů s výslovným pravidlem výběru. Posuďte, zda výsledek řeší dotaz, a uchovávejte zdrojové důkazní podklady pro další fázi, místo abyste vektorovou podobnost považovali za ověření faktických tvrzení záznamu.
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings openai/text-embedding-3-large
openai/text-embedding-3-largeopenai/text-embedding-3-largetext-embedding-3-large
Úvod
Větší textový embeddingový model třetí generace společnosti OpenAI ve výchozím nastavení vrací 3072rozměrné vektory s ovládacím prvkem výrobce pro kratší reprezentace. Používejte jej pro sémantické vyhledávání, vícejazyčné porovnávání a postupy doporučování souvisejícího obsahu nebo klasifikace.
- Přijímané vstupy
- Text · token_ids
- Výsledky
- embedding
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings
- Vstup
text,token_ids- Výstup
embedding- Kontext
- 8 192 tokens
- Výstupní formát
- json
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity openai/text-embedding-3-large | Výchozí— |
Poleinput | Typstring|string[]|integer[]|integer[][] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 Podmínky: Neprázdná homogenní dávka. ID tokenů jsou nezáporná celá čísla. Rozpočet vstupu: Maximum: 8 192 · Jednotka textu: bajty UTF8 · Jednotka tokenů: prvky pole tokenů | Výchozí— |
Poleencoding_format | Typstring | PožadavekVolitelné | Hodnoty a limity float | Výchozífloat |
Poledimensions | Typinteger | PožadavekNepodporováno | Hodnoty a limity Minimum: 1 | Výchozí— |
Poleuser | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Polesession_id | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poletrace | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poleprovider | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: Parametr provider.options byl odmítnut | Výchozí— |
Kombinace vstupních materiálů
text_to_embedding
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input |
Parametrinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrencoding_format | Kontraktfloat |
Parametrdimensions_override | Kontraktfalse |
Parametrmax_input_budget_units | Kontrakt8192 |
Parametrmultimodal_objects | Kontraktfalse |
Parametrmaterial_types | Kontrakttext, token_ids |
Životní cyklus: synchronous_json
Uchovejte index i rozměr každého vektoru.
Multimodální název modelu neznamená, že tato konkrétní cesta přijímá obrazové objekty.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Standardní sazba Při výběru rychlého režimu
- Režim flex
- Standardní sazba Při výběru režimu flex
- Maximální intenzita uvažování
- Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.00026 / 1K tokenů Výstup · Výstupní tokeny $0 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Vektorové reprezentace
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-large", "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-large',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Přijímání a ukládání výsledků
Ailoot Ultra · Vektorové reprezentace
json
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Uchovejte každý vektor spolu s jeho indexem. Počet vektorů musí odpovídat počtu vstupů; jejich rozměr musí být jednotný.
Pokud je nutné ověřit původní odpověď
Samostatný endpoint úloh pro embeddingy se nezavádí.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra openai/text-embedding-3-large, text-embedding-3-large
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
Ailoot Ultra · Vektorové reprezentace · text-embedding-3-large POST /v1/embeddings text-embedding-3-large
text-embedding-3-largeopenai/text-embedding-3-largetext-embedding-3-large
Úvod
Větší textový embeddingový model třetí generace společnosti OpenAI ve výchozím nastavení vrací 3072rozměrné vektory s ovládacím prvkem výrobce pro kratší reprezentace. Používejte jej pro sémantické vyhledávání, vícejazyčné porovnávání a postupy doporučování souvisejícího obsahu nebo klasifikace.
- Přijímané vstupy
- Text
- Výsledky
- embedding
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Vektorové reprezentace · text-embedding-3-large POST /v1/embeddings
- Vstup
text- Výstup
embedding- Kontext
- 8 192 tokens
- Výstupní formát
- json
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity text-embedding-3-large | Výchozí— |
Poleinput | Typstring|string[]|integer[]|integer[][] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 Podmínky: Neprázdná homogenní dávka. ID tokenů jsou nezáporná celá čísla. Rozpočet vstupu: Maximum: 8 192 · Jednotka textu: bajty UTF8 · Jednotka tokenů: prvky pole tokenů | Výchozí— |
Poleencoding_format | Typstring | PožadavekVolitelné | Hodnoty a limity float | Výchozífloat |
Poledimensions | Typinteger | PožadavekNepodporováno | Hodnoty a limity Minimum: 1 | Výchozí— |
Poleuser | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Volitelná metadata JSON; přesný význam u dodavatele závisí na vybraném modelu. | Výchozí— |
Polesession_id | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Volitelná metadata JSON; přesný význam u dodavatele závisí na vybraném modelu. | Výchozí— |
Poletrace | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Volitelná metadata JSON; přesný význam u dodavatele závisí na vybraném modelu. | Výchozí— |
Poleprovider | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: Parametr provider.options byl odmítnut | Výchozí— |
Kombinace vstupních materiálů
text_to_embedding
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input |
Parametrinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrencoding_format | Kontraktfloat |
Parametrdimensions_override | Kontraktfalse |
Parametrmax_input_budget_units | Kontrakt8192 |
Parametrmultimodal_objects | Kontraktfalse |
Parametrmaterial_types | Kontrakttext |
Parametrtext_file_material | KontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy. |
Životní cyklus: synchronous_json
Odešlete přesné ID modelu a povinná pole.
Uchovejte každou vrácenou položku a její původní identifikátory.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Standardní sazba Při výběru rychlého režimu
- Režim flex
- Standardní sazba Při výběru režimu flex
- Maximální intenzita uvažování
- Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.00026 / 1K tokenů Výstup · Výstupní tokeny $0 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Vektorové reprezentace · text-embedding-3-large
{
"model": "text-embedding-3-large",
"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-large', '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-large', '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')))
Přijímání a ukládání výsledků
Ailoot Ultra · Vektorové reprezentace · text-embedding-3-large
json
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Uchovejte každý vektor s konečnými hodnotami a jeho původní index. Zachovejte všechny rozměry a celý objekt usage.
Pokud je nutné ověřit původní odpověď
Samostatný endpoint úloh pro embeddingy se nezavádí.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra openai/text-embedding-3-large, text-embedding-3-large
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · OpenAI: Text Embedding 3 Large
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/embeddings·openai/text-embedding-3-large:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-large:text→embedding- Jaká pole požadavek používá?
POST /v1/embeddings·openai/text-embedding-3-large:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-large:model,input,encoding_format,provider- Jaké limity platí?
POST /v1/embeddings·openai/text-embedding-3-large:ctx:8192;input.budget.maximum:8192(bajty UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-large:ctx:8192;input.budget.maximum:8192(bajty UTF8);input.min_items:1