VoyageAI by MongoDB: voyage-multimodal-3.5
Voyage AI voyage-multimodal-3.5 tworzy osadzenia tekstu, obrazów i klatek wideo we wspólnej przestrzeni wyszukiwania. Obsługuje przeplatane treści, takie jak zrzuty stron dokumentów, tabele i sceny, z wejściami do 32 000 tokenów i domyślną reprezentacją 1024-wymiarową.
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-multimodal-3.5 to model osadzeń Voyage AI do wyszukiwania w tekście, obrazach i wideo. Przetwarza przeplatany tekst i treści wizualne za pomocą jednego kodera o architekturze Transformer, reprezentując całe wejście multimodalne we wspólnej przestrzeni wektorowej. Wersja 3.5 dodaje wyraźnie określoną obsługę klatek wideo i elastyczną liczbę wymiarów osadzeń.
Zachowaj związek między tekstem a treściami wizualnymi
Przygotuj stronę lub sekcję dokumentu w formie zachowującej przydatne informacje wizualne. Slajd zawierający wykres i krótkie wyjaśnienie można reprezentować za pomocą obrazu slajdu i towarzyszącego tekstu w tym samym uporządkowanym wejściu. W kolekcji opartej na plikach PDF udokumentowanym wejściem wizualnym jest zrzut strony lub inna reprezentacja dokumentu w postaci obrazu.
W przypadku wykresu z raportu zachowaj na obrazie tytuł, opisy osi i legendę. Dołącz tekst objaśniający, gdy dostarcza kontekstu potrzebnego do interpretacji treści wizualnej. Zapisz numer strony i identyfikator źródła obok uzyskanego wektora, aby znaleziony kandydat pozwalał otworzyć odpowiednią stronę, zamiast zwracać jedynie nazwę dokumentu.
Format wejściowy producenta obsługuje sekwencje tekstu, obrazów i filmów. Opublikowane formaty obrazów to PNG, JPEG, WebP i GIF, a format wideo to MP4. W udokumentowanej procedurze treści wizualne można reprezentować za pomocą adresów URL lub danych Base64; w obrębie żądania stosuj konsekwentnie jeden sposób reprezentacji.
Wyszukuj scenę zamiast całego długiego filmu
Model reprezentuje wideo jako uporządkowaną sekwencję klatek. Producent zaleca dzielenie długiego filmu na powiązane sceny, dopasowanie granic scen do dostępnych znaczników czasu transkrypcji i zachowanie odpowiedniego tekstu transkrypcji. Niższa rozdzielczość lub zmniejszona liczba klatek na sekundę mogą pomóc zmieścić semantycznie ciągłą scenę w jej budżecie kontekstu.
W kolekcji filmów szkoleniowych zapytanie może dotyczyć sceny pokazującej regulację określonego elementu sterującego. Powiąż każdą indeksowaną scenę z jej przedziałem czasowym. Zwróć pasującą scenę i sprawdź klatki lub oryginalny fragment, aby zobaczyć rzeczywistą czynność, zamiast traktować znaleziony wektor jako pisemny opis wszystkiego, co znajduje się w nagraniu.
Tekst transkrypcji może wnosić informacje, gdy zostanie przygotowany jako część wejścia multimodalnego. Samo tworzenie osadzeń klatek wideo nie dostarcza transkrypcji mowy.
Limity kontekstu i przygotowania
Podana długość kontekstu wynosi 32 000 tokenów na wejście. W opublikowanym sposobie obliczania Voyage liczy każde 560 pikseli obrazu i każde 1120 pikseli wideo jako token, więc treści wizualne dzielą ten budżet z tekstem. Udokumentowane limity obejmują również 16 milionów pikseli i 20 MB na obraz oraz 20 MB na film. Lista zawiera najwyżej 1000 wejść i łącznie 320 000 tokenów.
Domyślne ustawienie obcinania skraca zbyt długie wejście; jeżeli granica wypada wewnątrz obrazu, cały obraz zostaje odrzucony. Przygotowanie kompletnych stron lub scen mieszczących się w budżecie pozwala zatem zachować bardziej przewidywalną zawartość wejścia. Alternatywne udokumentowane ustawienie odrzuca zbyt długie wejścia zamiast je obcinać.
Wymiary wektorów i role w wyszukiwaniu
Domyślna liczba wymiarów wyjścia wynosi 1024; dla tej wersji udokumentowano także 256, 512 i 2048 wymiarów. Ogłoszenie opisuje osadzenia Matryoshka oraz reprezentacje zmiennoprzecinkowe, 8-bitowe ze znakiem lub bez znaku i binarne. Zachowaj wybraną liczbę wymiarów i reprezentację wraz z indeksem.
Procedura wyszukiwania Voyage rozróżnia wejścia zapytania i dokumentu. Zapytanie może być tekstem lub obrazem, a indeksowane dokumenty mogą łączyć tekst i treści wizualne. Jeden wektor reprezentuje każdą kompletną sekwencję wejściową; zapisz jego powiązanie ze stroną, obrazem lub sceną źródłową, aby można było sprawdzić wynik w rankingu.
Korzystaj ze zwróconego źródła wizualnego
Etap wyszukiwania może odnaleźć stronę raportu, tabelę, slajd lub scenę istotną dla zapytania. Następnie etap pisania odpowiedzi lub analizy odczytuje ten materiał źródłowy. W przypadku tabeli sprawdź rzeczywiste nagłówki i wartości przed użyciem wyniku; w przypadku sceny sprawdź odpowiednie klatki i powiązany tekst.
Zasadniczą różnicą względem voyage-multimodal-3 jest wyraźnie określona obsługa wideo i dodatkowe możliwości reprezentacji w wersji 3.5. Są to możliwości tworzenia osadzeń służące odnajdywaniu materiału źródłowego, z wektorami liczbowymi jako wynikiem zamiast generowanych obrazów, filmów lub odpowiedzi opisowej.
Ailoot Ultra · Reprezentacje wektorowe POST /v1/embeddings voyageai/voyage-multimodal-3.5
voyageai/voyage-multimodal-3.5
voyageai/voyage-multimodal-3.5Start
Voyage AI voyage-multimodal-3.5 tworzy osadzenia tekstu, obrazów i klatek wideo we wspólnej przestrzeni wyszukiwania. Obsługuje przeplatane treści, takie jak zrzuty stron dokumentów, tabele i sceny, z wejściami do 32 000 tokenów i domyślną reprezentacją 1024-wymiarową.
- 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-multimodal-3.5 | 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-multimodal-3.5", "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-multimodal-3.5',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-multimodal-3.5
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · VoyageAI by MongoDB: voyage-multimodal-3.5
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/embeddings·voyageai/voyage-multimodal-3.5:text,token_ids→embedding- Jakich pól używa żądanie?
POST /v1/embeddings·voyageai/voyage-multimodal-3.5:model,input,encoding_format,provider- Jakie limity obowiązują?
POST /v1/embeddings·voyageai/voyage-multimodal-3.5:ctx:32000;input.budget.maximum:32000(bajty UTF8);input.min_items:1