OpenAI: Text Embedding Ada 002
Model embeddingów tekstowych OpenAI zwracający 1536-wymiarowy wektor liczbowy. Używaj tych reprezentacji do wyszukiwania semantycznego, polecania powiązanych treści, grupowania, klasyfikacji lub wykrywania nietypowych rekordów tekstowych.
- Ailoot Ultra · Reprezentacje wektorowe
POST /v1/embeddingsopenai/text-embedding-ada-002 - Ailoot Ultra · Wektory osadzeń · text-embedding-ada-002
POST /v1/embeddingstext-embedding-ada-002
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
text-embedding-ada-002 to model osadzeń tekstu OpenAI reprezentujący materiały pisemne jako wektor liczbowy. Jego wyjście zawiera 1536 składników. Producent łączy w jednej reprezentacji ocenę podobieństwa tekstów, wyszukiwanie dokumentów na podstawie zapytań oraz wyszukiwanie kodu. Wynikiem są dane do porównania lub innego algorytmu, a nie wygenerowana odpowiedź na tekst, którego osadzenie powstaje.
Do wyszukiwania semantycznego przygotuj znaczące fragmenty dokumentów i zachowaj ich identyfikatory źródłowe. Przykładowy proces tworzy osadzenie każdego fragmentu i pytania użytkownika tym samym modelem, porównuje wektory i zwraca odpowiednie fragmenty źródłowe. Aplikacja określa regułę wyszukiwania, filtry i prezentację. Późniejszy krok generowania tekstu może wykorzystać znaleziony materiał do opracowania odpowiedzi, a model osadzeń dostarcza reprezentację liczbową.
Inne udokumentowane zastosowania obejmują grupowanie podobnych rekordów, rekomendowanie powiązanych treści, klasyfikowanie tekstu i wykrywanie odstających elementów. Dla rekomendacji porównuj opisy obiektów, między którymi istotna jest relacja. Dla klasyfikacji przewodnik opisuje porównanie z reprezentacjami kategorii lub użycie wektorów jako cech w klasyfikatorze. W wykrywaniu anomalii odpowiednim wynikiem jest rekord różniący się od otaczającej kolekcji, interpretowany zgodnie z zadaniem produktu.
OpenAI podaje maksymalne wejście 8192 tokenów dla tego modelu. API osadzeń producenta przyjmuje ciągi tekstowe lub wejście podzielone na tokeny, umożliwia wiele wejść w jednym żądaniu i odrzuca puste ciągi. Oprócz limitu na pojedyncze wejście obowiązuje łączny limit 300 000 tokenów na jedno żądanie. Dziel dłuższe dokumenty na użyteczne fragmenty, zachowując tytuły, definicje i odwołanie do oryginalnego materiału.
Wyjściem jest wektor wartości zmiennoprzecinkowych; producent dokumentuje także base64 jako alternatywne kodowanie transportowe. Parametr OpenAI skracający liczbę wymiarów dotyczy modeli osadzeń trzeciej i kolejnych generacji, więc udokumentowany wynik Ada o 1536 wymiarach należy odróżnić od tej opcji. Zapisuj tożsamość modelu i wektor wraz z rekordem źródłowym, aby późniejsze porównania używały spójnej reprezentacji.
Przewodnik po osadzeniach zaleca podobieństwo kosinusowe i podaje, że osadzenia OpenAI są znormalizowane do jednostkowej normy. Dla takich wektorów iloczyn skalarny może obliczyć podobieństwo kosinusowe, a odległość euklidesowa daje ten sam ranking. Wynik podobieństwa jest częścią logiki wyszukiwania lub klasyfikacji aplikacji, a nie decyzją o kategorii automatycznie dostarczaną przez model.
Określ, które pola źródłowe stają się tekstem wejściowym i jak dzielić fragmenty. Przykładowym wynikiem jest uporządkowany zestaw fragmentów dokumentów lub powiązanych rekordów, każdy połączony z oryginalnym źródłem i regułą używaną do wyboru. Zachowuj spójne przygotowanie i oceniaj, czy zwrócony materiał odpowiada na rzeczywiste pytanie. Dzięki temu wynik liczbowy jest użyteczny w kolejnym kroku wyszukiwania, rekomendacji lub analizy.
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings openai/text-embedding-ada-002
openai/text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Start
Model embeddingów tekstowych OpenAI zwracający 1536-wymiarowy wektor liczbowy. Używaj tych reprezentacji do wyszukiwania semantycznego, polecania powiązanych treści, grupowania, klasyfikacji lub wykrywania nietypowych rekordów tekstowych.
- Akceptowane dane wejściowe
- Tekst · token_ids
- Wyniki
- embedding
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings
- Wejście
text,token_ids- Wyjście
embedding- Kontekst
- 8192 tokens
- Format wyjściowy
- json
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity openai/text-embedding-ada-002 | Domyślnie— |
Poleinput | Typstring|string[]|integer[]|integer[][] | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 Warunki: Niepusta, jednorodna partia danych. Identyfikatory tokenów są nieujemnymi liczbami całkowitymi. Budżet wejścia: Maksimum: 8192 · Jednostka tekstu: bajty UTF8 · Jednostka tokenów: elementy tablicy tokenów | Domyślnie— |
Poleencoding_format | Typstring | WymaganieOpcjonalne | Wartości i limity float | Domyślniefloat |
Poledimensions | Typinteger | WymaganieNieobsługiwane | Wartości i limity Minimum: 1 | Domyślnie— |
Poleuser | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Polesession_id | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Poletrace | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
Poleprovider | Typobject | WymaganieOpcjonalne | Wartości i limity Warunki: Odrzucono provider.options | Domyślnie— |
Kombinacje materiałów wejściowych
text_to_embedding
Parametry i cykl życia 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 |
Cykl życia: synchronous_json
Zachowaj indeks i liczbę wymiarów każdego wektora.
Nawet jeśli nazwa modelu wskazuje na multimodalność, ta konkretna ścieżka nie obsługuje obiektów obrazów.
Cennik
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Stawka standardowa Gdy wybrany jest tryb szybki
- Tryb flex
- Stawka standardowa Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Stawka standardowa Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Stawki Ailoot
Ceny według konfiguracji
| Konfiguracja | Tabela stawek | Opłata |
|---|---|---|
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe $0.0002 / 1K tokenów Wyjście · Tokeny wyjściowe $0 / 1K tokenów Wejście · Odczyt cache — / 1K tokenów Wejście · Zapis do cache — / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · Reprezentacje wektorowe
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)
Odbieranie i zapisywanie wyników
Ailoot Ultra · Reprezentacje wektorowe
json
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj każdy wektor wraz z jego indeksem. Liczba wektorów musi być równa liczbie elementów wejściowych; wszystkie wektory muszą mieć tę samą liczbę wymiarów.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Nie wprowadzono endpointu zadań generowania osadzeń.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra openai/text-embedding-ada-002, text-embedding-ada-002
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
Ailoot Ultra · Wektory osadzeń · text-embedding-ada-002 POST /v1/embeddings text-embedding-ada-002
text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Start
Model embeddingów tekstowych OpenAI zwracający 1536-wymiarowy wektor liczbowy. Używaj tych reprezentacji do wyszukiwania semantycznego, polecania powiązanych treści, grupowania, klasyfikacji lub wykrywania nietypowych rekordów tekstowych.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- embedding
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Wektory osadzeń · text-embedding-ada-002 POST /v1/embeddings
- Wejście
text- Wyjście
embedding- Kontekst
- 8192 tokens
- Format wyjściowy
- json
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity text-embedding-ada-002 | Domyślnie— |
Poleinput | Typstring|string[]|integer[]|integer[][] | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 Warunki: Niepusta, jednorodna partia danych. Identyfikatory tokenów są nieujemnymi liczbami całkowitymi. Budżet wejścia: Maksimum: 8192 · Jednostka tekstu: bajty UTF8 · Jednostka tokenów: elementy tablicy tokenów | Domyślnie— |
Poleencoding_format | Typstring | WymaganieOpcjonalne | Wartości i limity float | Domyślniefloat |
Poledimensions | Typinteger | WymaganieNieobsługiwane | Wartości i limity Minimum: 1 | Domyślnie— |
Poleuser | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Opcjonalne metadane JSON; dokładna semantyka po stronie dostawcy zależy od wybranego modelu. | Domyślnie— |
Polesession_id | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Opcjonalne metadane JSON; dokładna semantyka po stronie dostawcy zależy od wybranego modelu. | Domyślnie— |
Poletrace | Typjson_value | WymaganieOpcjonalne | Wartości i limity Warunki: Opcjonalne metadane JSON; dokładna semantyka po stronie dostawcy zależy od wybranego modelu. | Domyślnie— |
Poleprovider | Typobject | WymaganieOpcjonalne | Wartości i limity Warunki: Odrzucono provider.options | Domyślnie— |
Kombinacje materiałów wejściowych
text_to_embedding
Parametry i cykl życia 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 | KontraktOdczytaj rzeczywisty dokument UTF-8 i umieść jego tekst we wskazanym polu input lub w ciągu treści wiadomości. |
Cykl życia: synchronous_json
Wyślij dokładny identyfikator modelu i wymagane pola.
Zachowaj każdy zwrócony element i jego pierwotne identyfikatory.
Cennik
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Stawka standardowa Gdy wybrany jest tryb szybki
- Tryb flex
- Stawka standardowa Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Stawka standardowa Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Stawki Ailoot
Ceny według konfiguracji
| Konfiguracja | Tabela stawek | Opłata |
|---|---|---|
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe $0.0002 / 1K tokenów Wyjście · Tokeny wyjściowe $0 / 1K tokenów Wejście · Odczyt cache — / 1K tokenów Wejście · Zapis do cache — / 1K tokenów Wejście · Zapis do cache, 1 godz. — / 1K tokenów |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
Ailoot Ultra · Wektory osadzeń · 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')))
Odbieranie i zapisywanie wyników
Ailoot Ultra · Wektory osadzeń · text-embedding-ada-002
json
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj każdy wektor o skończonych wartościach wraz z pierwotnym indeksem. Zachowaj wszystkie wymiary i kompletny obiekt usage.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Nie wprowadzono endpointu zadań generowania osadzeń.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra openai/text-embedding-ada-002, text-embedding-ada-002
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · OpenAI: Text Embedding Ada 002
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/embeddings·openai/text-embedding-ada-002:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-ada-002:text→embedding- Jakich pól używa żądanie?
POST /v1/embeddings·openai/text-embedding-ada-002:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-ada-002:model,input,encoding_format,provider- Jakie limity obowiązują?
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