OpenAI: Text Embedding Ada 002
Textový embeddingový model společnosti OpenAI, který vrací 1536rozměrný číselný vektor. Tyto reprezentace používejte pro sémantické vyhledávání, doporučování souvisejícího obsahu, shlukování, klasifikaci nebo detekci neobvyklých textových záznamů.
- Ailoot Ultra · Vektorové reprezentace
POST /v1/embeddingsopenai/text-embedding-ada-002 - Ailoot Ultra · Vektorové reprezentace · text-embedding-ada-002
POST /v1/embeddingstext-embedding-ada-002
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-ada-002 je textový embeddingový model společnosti OpenAI pro reprezentaci psaného materiálu číselným vektorem. Jeho výstup obsahuje 1536 složek. Výrobce v jediné reprezentaci spojuje posuzování podobnosti textů, vyhledávání dokumentů podle dotazů a vyhledávání kódu. Výsledkem jsou data pro porovnání nebo jiný algoritmus, nikoli generovaná odpověď na text, pro který embedding vzniká.
Pro sémantické vyhledávání připravte smysluplné pasáže dokumentů a zachovejte identifikátory jejich zdrojů. Ilustrační postup vytváří embedding každé pasáže a otázky uživatele stejným modelem, porovnává vektory a vrací relevantní zdrojové pasáže. Aplikace určuje pravidlo vyhledávání, filtry a způsob zobrazení. Následný krok generování textu může nalezený materiál použít k vytvoření odpovědi, zatímco embeddingový model dodává číselnou reprezentaci.
Další dokumentovaná použití zahrnují seskupování podobných záznamů, doporučování souvisejícího obsahu, klasifikaci textu a identifikaci odlehlých položek. Pro doporučení porovnávejte popisy objektů, jejichž vztah je důležitý. Pro klasifikaci průvodce popisuje porovnání s reprezentacemi kategorií nebo použití vektorů jako příznaků v klasifikátoru. U detekce anomálií je relevantním výsledkem záznam odlišný od okolní kolekce, interpretovaný podle úkolu produktu.
OpenAI pro tento model uvádí maximální vstup 8192 tokenů. Embeddingové API výrobce přijímá textové řetězce nebo tokenizovaný vstup, umožňuje více vstupů v jednom požadavku a odmítá prázdné řetězce. Kromě limitu jednotlivého vstupu platí souhrnný limit 300 000 tokenů na jeden požadavek. Delší dokumenty rozdělte na užitečné pasáže a zachovejte názvy, definice a odkaz zpět na původní materiál.
Výstupem je vektor hodnot s plovoucí řádovou čárkou; výrobce také dokumentuje base64 jako alternativní přenosové kódování. Parametr OpenAI pro zkrácení rozměru je určen embeddingovým modelům třetí generace a pozdějším, takže dokumentovaný 1536rozměrný výsledek modelu Ada zůstává od tohoto ovládacího prvku oddělený. Identitu modelu a vektor ukládejte se zdrojovým záznamem, aby pozdější porovnávání používalo konzistentní reprezentaci.
Průvodce embeddingy doporučuje kosinovou podobnost a uvádí, že embeddingy OpenAI jsou normalizovány na jednotkovou normu. U těchto vektorů může skalární součin vypočítat kosinovou podobnost a eukleidovská vzdálenost dává stejné pořadí. Skóre podobnosti je součástí logiky vyhledávání nebo klasifikace v aplikaci, nikoli rozhodnutím o kategorii automaticky dodaným modelem.
Definujte, která zdrojová pole se stanou vstupním textem a jak se mají pasáže dělit. Ilustračním výsledkem je seřazená sada pasáží dokumentů nebo souvisejících záznamů, z nichž každý je propojen s původním zdrojem a pravidlem použitým pro výběr. Přípravu udržujte konzistentní a vyhodnocujte, zda vrácený materiál řeší skutečnou otázku. Tím se číselný výstup stává užitečným pro další krok vyhledávání, doporučování nebo analýzy.
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings openai/text-embedding-ada-002
openai/text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Úvod
Textový embeddingový model společnosti OpenAI, který vrací 1536rozměrný číselný vektor. Tyto reprezentace používejte pro sémantické vyhledávání, doporučování souvisejícího obsahu, shlukování, klasifikaci nebo detekci neobvyklých textových záznamů.
- 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-ada-002 | 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.0002 / 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-ada-002", "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-ada-002',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-ada-002, text-embedding-ada-002
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
Ailoot Ultra · Vektorové reprezentace · text-embedding-ada-002 POST /v1/embeddings text-embedding-ada-002
text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Úvod
Textový embeddingový model společnosti OpenAI, který vrací 1536rozměrný číselný vektor. Tyto reprezentace používejte pro sémantické vyhledávání, doporučování souvisejícího obsahu, shlukování, klasifikaci nebo detekci neobvyklých textových záznamů.
- Přijímané vstupy
- Text
- Výsledky
- embedding
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Vektorové reprezentace · text-embedding-ada-002 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-ada-002 | 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.0002 / 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-ada-002
{
"model": "text-embedding-ada-002",
"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-ada-002', '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-ada-002', '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-ada-002
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-ada-002, text-embedding-ada-002
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · OpenAI: Text Embedding Ada 002
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/embeddings·openai/text-embedding-ada-002:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-ada-002:text→embedding- Jaká pole požadavek používá?
POST /v1/embeddings·openai/text-embedding-ada-002:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-ada-002:model,input,encoding_format,provider- Jaké limity platí?
POST /v1/embeddings·openai/text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(bajty UTF8);input.min_items:1POST /v1/embeddings·text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(bajty UTF8);input.min_items:1