VoyageAI by MongoDB: voyage-4
voyage-4 vytváří embeddingy textu pro obecné a vícejazyčné vyhledávání se společným vektorovým prostorem napříč rodinou Voyage 4. Podporuje vstupy o délce 32 000 tokenů, volitelné výstupy o 256–2048 rozměrech a role query/document pro vyhledávání a RAG.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
voyage-4 je středně velký textový embeddingový model společnosti Voyage AI z rodiny Voyage 4. Převádí text dotazů a dokumentů na číselné vektory pro obecné a vícejazyčné vyhledávání. Určující schopností rodiny je společný embeddingový prostor: voyage-4, voyage-4-large, voyage-4-lite a voyage-4-nano vytvářejí kompatibilní reprezentace, takže strana dotazu a strana dokumentu mohou v úloze vyhledávání používat různé modely této rodiny.
Společný prostor a asymetrické vyhledávání
Výrobce označuje použití odlišných modelů dotazů a korpusu jako asymetrické vyhledávání. Jedním dokumentovaným vzorem je připravit korpus pomocí voyage-4-large a prohledávat jej embeddingy dotazů voyage-4. Embeddingy korpusu vznikají jednou nebo při změně jeho zdrojového materiálu, zatímco vektory dotazů se vytvářejí s příchodem vyhledávání. Společný prostor umožňuje měnit volbu modelu na straně dotazu v rámci rodiny, aniž by bylo nutné znovu vytvářet embeddingy korpusu pouze kvůli této změně.
Mezi porovnávanými vektory zachovávejte kompatibilní rozměr výstupu a reprezentaci. Tvrzení o společném prostoru se týká pojmenovaných textových modelů Voyage 4; nedokládá jej pouze to, že dva nesouvisející modely vracejí pole stejné délky. Praktická úloha tedy může používat voyage-4 na obou stranách vyhledávání nebo jeho vektory dotazů s existujícím indexem dokumentů voyage-4-large, pokud jejich nastavení reprezentace souhlasí.
Role dotazu a dokumentu
Pro vyhledávání Voyage doporučuje označovat vstupní text jako dotaz nebo dokument. Volba vstupní role dodává před vektorizací odpovídající pokyn pro vyhledávání. Pasáže korpusu připravujte jako dokumenty a formulaci uživatelova hledání jako dotaz, přičemž u každého uloženého vektoru uchovávejte skutečný zdrojový text a identifikátory.
Například kolekce pro vyhledávání znalostí může indexovat technické pokyny a vysvětlení produktů. Dotaz na to, co nastane po neúspěšném importu, by měl vrátit zdrojovou pasáž popisující toto chování. U pasáže zachovejte nadpisy, příslušné podmínky a umístění ve zdroji, aby bylo možné nalezený výsledek prohlédnout nebo použít v pozdější fázi vytváření odpovědi pomocí RAG. Embedding je číselná reprezentace pro vyhledávání; původní pasáž je důkazním podkladem používaným v této pozdější fázi.
Rozměry a datové typy výstupu
Dokumentované kontextové okno pro každý text je 32 000 tokenů. Volitelné rozměry jsou 256, 512, 1024 a 2048 s výchozí hodnotou 1024. Učení Matryoshka poskytuje tyto vnořené velikosti reprezentace. Výstup může používat 32bitová čísla s plovoucí řádovou čárkou, 8bitová celá čísla se znaménkem i bez znaménka nebo balené binární hodnoty díky přípravě rodiny zohledňující kvantování.
U baleného binárního výstupu ukládá každý vrácený bajt osm bitů embeddingu, takže délka seznamu bajtů je jednou osminou zvoleného rozměru. Počet bajtů a rozměr embeddingu mají odlišný význam. Zvolte reprezentaci, kterou váš vyhledávací index dokáže interpretovat, a před volbou komprimované konfigurace zkontrolujte relevanci kandidátů na otázkách a jazycích skutečně používaných v kolekci.
Délka vstupu, dávky a ořezávání
Aktuální průvodce textovými embeddingy od výrobce umožňuje v požadavku voyage-4 až 1000 řetězců a celkem 320 000 tokenů. Povolená velikost dávky je oddělená od okna 32 000 tokenů pro každý vstup. Ořezávání je ve výchozím nastavení zapnuté: příliš dlouhý text se zkrátí, aby se vešel. Pokud je ořezávání vypnuté, příliš dlouhá položka místo toho způsobí chybu.
U dlouhé zprávy nebo přepisu připravujte pasáže obsahující odpověď záměrně, místo abyste spoléhali na řez na hranici vstupu. Každou pasáž zachovejte propojenou s nadřazeným dokumentem a verzí zdroje. Běžné embeddingové vstupy voyage-4 jsou jednotlivé texty; kontextové zpracování skupin úseků patří samostatně dokumentovaným kontextovým embeddingovým modelům.
Použití výsledku vyhledávání
Vektory ukládejte s textem pasáží a stabilními identifikátory zdrojů, každý vektor dotazu porovnávejte s kompatibilními vektory dokumentů a vracejte kandidátní pasáže. Publikace představující tuto modelovou rodinu hodnotí vyhledávání v materiálech zahrnujících technické dokumenty, konverzace, dlouhé dokumenty, kód, právo, finance a webové texty. Samostatný model pro přeřazení může kandidáty zpřesnit a pozdější fáze odpovědi může použít jejich text. Vrácené pasáže hodnoťte vzhledem k úkolu; kompatibilita společného prostoru umožňuje kombinaci modelů, zatímco užitečnost výsledku stále závisí na zdrojovém materiálu a otázce.
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4Úvod
voyage-4 vytváří embeddingy textu pro obecné a vícejazyčné vyhledávání se společným vektorovým prostorem napříč rodinou Voyage 4. Podporuje vstupy o délce 32 000 tokenů, volitelné výstupy o 256–2048 rozměrech a role query/document pro vyhledávání a RAG.
- 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
- 32 000 tokens
- Výstupní formát
- json
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity voyageai/voyage-4 | 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: 32 000 · 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 | Kontrakt32000 |
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.00012 / 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": "voyageai/voyage-4", "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',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 voyageai/voyage-4
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · VoyageAI by MongoDB: voyage-4
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- Jaká pole požadavek používá?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- Jaké limity platí?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(bajty UTF8);input.min_items:1