VoyageAI by MongoDB: voyage-4-large
voyage-4-large to tekstowy model osadzeń Voyage AI o architekturze mixture-of-experts do wyszukiwania ogólnego przeznaczenia i wielojęzycznego. Jego wektory współdzielą przestrzeń rodziny Voyage 4, umożliwiając przeszukiwanie osadzeń korpusu z Large za pomocą zgodnych osadzeń zapytań z innych modeli rodziny.
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.
voyage-4-large to flagowy model embeddingów tekstowych firmy Voyage AI z rodziny Voyage 4. Przedstawia fragmenty źródłowe i zapytania jako wektory liczbowe do wyszukiwania ogólnego i wielojęzycznego. Wyróżniają go architektura mixture-of-experts oraz wspólna przestrzeń embeddingów używana przez voyage-4-large, voyage-4, voyage-4-lite i voyage-4-nano.
Wspólna przestrzeń: niezależny wybór dla korpusu i zapytań
Producent opisuje wyszukiwanie asymetryczne: dokumenty mogą otrzymywać embeddingi z voyage-4-large, a inny model z rodziny Voyage 4 może przygotowywać wektory zapytań. Przykładowo korpus reprezentowany przez Large można przeszukiwać zapytaniami z voyage-4. Pozwala to wybierać różne modele po obu stronach wyszukiwania, pozostając w udokumentowanej zgodnej przestrzeni.
Praktyczny zbiór może więc wykorzystywać Large do przygotowania stabilnych fragmentów dokumentów i niezależnie wybrać model po stronie zapytań. Embeddingi dokumentów powstają podczas tworzenia lub aktualizacji korpusu, natomiast zapytania są wektoryzowane podczas wyszukiwania przez użytkowników. Ogłoszenie rodziny opisuje zmianę modelu zapytań w obrębie zgodnej rodziny bez ponownej wektoryzacji korpusu dokumentów wyłącznie z powodu tej zmiany. Porównywane wektory muszą mieć zgodne wymiary i reprezentacje, które system wyszukiwania potrafi interpretować razem.
Architektura embeddingów mixture-of-experts
Gęsta warstwa feed-forward przetwarza każdy token przy użyciu całego zestawu parametrów. Podejście MoE opisane dla voyage-4-large wykorzystuje router i eksperckie sieci feed-forward, wybierając ekspertów przetwarzających każdy token. Oddziela to całkowitą pojemność modelu od parametrów aktywnych dla konkretnego tokenu. Voyage podaje współczynnik aktywacji 1/10 dla architektury MoE tego modelu, z routingiem top-k.
Techniczne wyjaśnienie producenta opisuje także dwie decyzje rozwojowe. Pojemność ekspertów wpływa na to, czy nadmiarowe tokeny omijają warstwę ekspercką ścieżką rezydualną; zespół wybrał największy wykonalny współczynnik pojemności, aby uniknąć spadku jakości wyszukiwania. Na końcowym etapie szkolenia parametry routera są zamrażane przed scaleniem modeli, aby interpolacja modeli źródłowych nie zmieniała wyuczonego routingu wyboru ekspertów. Są to cechy przygotowania modelu, odrębne od ustawień długości tekstu lub obcinania stosowanych przy przygotowywaniu wejścia.
Wymiary i reprezentacja wyniku
Oficjalna tabela modelu określa okno kontekstu 32 000 tokenów i embeddingi o wybieranej liczbie wymiarów: 256, 512, 1024 i 2048, z domyślną wartością 1024. Rodzina wykorzystuje uczenie Matryoshka do zagnieżdżonych rozmiarów reprezentacji i obsługuje opcje kwantyzacji: 32-bitowe liczby zmiennoprzecinkowe, 8-bitowe liczby całkowite ze znakiem lub bez znaku oraz upakowane wyjście binarne.
Przy wyjściu binarnym długość zwróconej listy bajtów wynosi jedną ósmą wybranego wymiaru, ponieważ każdy bajt zawiera osiem bitów embeddingu. Zachowaj wybór wymiaru i typu danych wraz z indeksem oraz używaj metody porównania obsługującej tę reprezentację. Mniejszy lub skompresowany wektor zmienia reprezentację używaną w wyszukiwaniu; oceń odpowiednie fragmenty zwracane dla rzeczywistych pytań przed wyborem takiego wariantu dla zbioru.
Przygotuj dokumenty i zapytania wejściowe
Voyage zaleca rolę dokumentu dla fragmentów korpusu oraz rolę zapytania dla treści wyszukiwania. Opcja roli dodaje odpowiednią instrukcję wyszukiwania przed utworzeniem embeddingu. Zachowaj użyteczny nagłówek, warunki i lokalizację źródłową fragmentu, a następnie przechowuj zwrócony wektor z oryginalnym tekstem i stabilnym identyfikatorem.
W zbiorze wiedzy technicznej pytanie o tryb awarii powinno prowadzić do fragmentu opisującego ten tryb i jego istotne warunki. W wielojęzycznym zbiorze dokumentów zachowaj język źródłowy i oceń pytania oraz terminologię, których użytkownicy będą używać podczas wyszukiwania. Wydanie obejmuje materiały do wyszukiwania takie jak dokumenty techniczne, rozmowy, długie dokumenty, kod, prawo, finanse i tekst internetowy. Embedding wskazuje potencjalnie istotny materiał; późniejszy reranker lub etap odpowiadania używa oryginalnego tekstu.
Limity kontekstu, przetwarzania grupowego i obcinania
Bieżący przewodnik producenta dopuszcza do 1000 ciągów tekstowych i 120 000 tokenów wejściowych łącznie w żądaniu voyage-4-large. Różni się to od limitu grupy podanego dla voyage-4, choć oba modele mają okno 32 000 tokenów na tekst. Domyślne obcinanie skraca zbyt długie wejście, aby je dopasować; wyłączenie obcinania powoduje błąd dla zbyt długiego tekstu.
Świadomie wybieraj granice fragmentów zawierających odpowiedź, aby długie źródło nie straciło ważnego zastrzeżenia w obciętej końcówce. Zachowaj powiązanie ze źródłem przy zwracaniu wyników wyszukiwania i sprawdzaj rzeczywisty tekst kandydującego fragmentu, zamiast traktować bliskość wektorów jako weryfikację treści. Zgodność wspólnej przestrzeni dotyczy udokumentowanej tekstowej rodziny Voyage 4; przetwarzanie fragmentów uwzględniające kontekst, embeddingi obrazów i wideo oraz późniejsze edycje modeli pozostają odrębnymi przepływami właściwymi dla poszczególnych modeli.
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings voyageai/voyage-4-large
voyageai/voyage-4-largeStart
voyage-4-large to tekstowy model osadzeń Voyage AI o architekturze mixture-of-experts do wyszukiwania ogólnego przeznaczenia i wielojęzycznego. Jego wektory współdzielą przestrzeń rodziny Voyage 4, umożliwiając przeszukiwanie osadzeń korpusu z Large za pomocą zgodnych osadzeń zapytań z innych modeli rodziny.
- 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
- 32 000 tokens
- Format wyjściowy
- json
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity voyageai/voyage-4-large | 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: 32 000 · 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 | Kontrakt32000 |
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.00024 / 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": "voyageai/voyage-4-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='voyageai/voyage-4-large',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 voyageai/voyage-4-large
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · VoyageAI by MongoDB: voyage-4-large
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/embeddings·voyageai/voyage-4-large:text,token_ids→embedding- Jakich pól używa żądanie?
POST /v1/embeddings·voyageai/voyage-4-large:model,input,encoding_format,provider- Jakie limity obowiązują?
POST /v1/embeddings·voyageai/voyage-4-large:ctx:32000;input.budget.maximum:32000(bajty UTF8);input.min_items:1