VoyageAI by MongoDB: voyage-4
A voyage-4 szöveget ágyaz be általános célú és többnyelvű kereséshez, a Voyage 4 modellcsalád közös vektorterében. 32 000 tokenes bemeneteket, választható 256–2048 dimenziós kimeneteket, valamint query/document szerepeket támogat kereséshez és RAG-hoz.
A modellről
Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.
A voyage-4 a Voyage AI közepes méretű szövegbeágyazási modellje a Voyage 4 modellcsaládban. A lekérdezések és dokumentumok szövegét numerikus vektorokká alakítja általános célú és többnyelvű kereséshez. A modellcsalád meghatározó képessége a közös beágyazási tér: a voyage-4, voyage-4-large, voyage-4-lite és voyage-4-nano kompatibilis reprezentációkat állít elő, így egy keresési feladat lekérdezési és dokumentumoldala eltérő modelleket használhat a családon belül.
Közös tér és aszimmetrikus keresés
A gyártó az eltérő lekérdezési és korpuszmodellek használatát aszimmetrikus keresésnek nevezi. Egy dokumentált minta szerint a korpuszt a voyage-4-large modellel készítik elő, és voyage-4 lekérdezési beágyazásokkal keresnek benne. A korpuszt egyszer, illetve a forrásanyag változásakor ágyazzák be, míg a lekérdezési vektorok a keresések beérkezésekor készülnek. A közös tér lehetővé teszi a lekérdezési oldali modell cseréjét a családon belül anélkül, hogy pusztán e váltás miatt újra be kellene ágyazni a korpuszt.
Az összehasonlított vektorok kimeneti dimenziója és reprezentációja legyen kompatibilis. A közös térre vonatkozó állítás a név szerint megadott Voyage 4 szövegmodelleket érinti; ezt önmagában nem igazolja, ha két, egymással nem rokon modell azonos hosszúságú tömböt ad vissza. Egy gyakorlati feladat ezért a keresés mindkét oldalán használhat voyage-4 modellt, vagy a lekérdezési vektorait egy meglévő voyage-4-large dokumentumindexszel is használhatja, ha a reprezentációs beállítások egyeznek.
Lekérdezési és dokumentumszerepek
Kereséshez a Voyage azt javasolja, hogy a bemeneti szöveget lekérdezésként vagy dokumentumként jelölje meg. A bemeneti szerep beállítása a vektorizálás előtt biztosítja a megfelelő keresési utasítást. A korpusz szövegrészleteit dokumentumként, a felhasználó keresőszövegét lekérdezésként készítse elő, és minden tárolt vektor mellett őrizze meg a tényleges forrásszöveget és az azonosítókat.
Egy tudáskereső gyűjtemény például műszaki utasításokat és termékmagyarázatokat indexelhet. Egy sikertelen import utáni működésre vonatkozó lekérdezésnek az ezt a működést leíró forrásszövegrészletet kell visszaadnia. Őrizze meg a részlet mellett a címsorokat, a releváns feltételeket és a forrásbeli helyet, hogy az eredményül kapott találat megvizsgálható legyen, vagy egy későbbi RAG-válaszadási lépés felhasználhassa. A beágyazás a numerikus keresési reprezentáció; a mögöttes szövegrészlet a későbbi lépésben használt bizonyíték.
Dimenziók és kimeneti adattípusok
A dokumentált kontextusablak szövegenként 32 000 token. A választható dimenziók 256, 512, 1024 és 2048, alapértelmezés szerint 1024. Ezeket az egymásba ágyazott reprezentációméreteket a Matryoshka-tanulás biztosítja. A kimenet 32 bites lebegőpontos számokat, előjeles vagy előjel nélküli 8 bites egész számokat, illetve csomagolt bináris értékeket használhat, amit a modellcsalád kvantálást figyelembe vevő előkészítése tesz lehetővé.
Csomagolt bináris kimenetnél minden visszaadott bájt nyolc beágyazási bitet tárol, ezért a bájtlista hossza a kiválasztott dimenzió egynyolcada. A bájtszám és a beágyazási dimenzió eltérő jelentésű. Olyan reprezentációt válasszon, amelyet a keresőindex értelmezni tud, és a tömörített konfiguráció kiválasztása előtt vizsgálja meg a jelöltek relevanciáját a gyűjteményben ténylegesen használt kérdéseken és nyelveken.
Bemeneti hossz, kötegelés és csonkolás
A gyártó jelenlegi szövegbeágyazási útmutatója egy voyage-4 kérésben legfeljebb 1000 karakterláncot és összesen 320 000 tokent enged meg. A kötegelt keret különbözik az egyes bemenetek 32 000 tokenes ablakától. A csonkolás alapértelmezés szerint be van kapcsolva: a túl hosszú szöveget a kerethez rövidíti. Kikapcsolt csonkolásnál a túl hosszú elem ehelyett hibát eredményez.
Hosszú jelentésnél vagy átiratnál tudatosan készítse elő a választ hordozó szövegrészleteket, ahelyett, hogy a bemeneti határnál történő levágásra hagyatkozna. Minden részlet kapcsolódjon a szülődokumentumhoz és a forrásverzióhoz. A szokásos voyage-4 beágyazási bemenetek önálló szövegek; a kontextualizált darabcsoport-feldolgozás a külön dokumentált kontextuális beágyazási modellekhez tartozik.
Használja fel a keresési eredményt
A vektorokat a szövegrészlettel és az állandó forrásazonosítókkal együtt tárolja, minden lekérdezési vektort hasonlítson össze a kompatibilis dokumentumvektorokkal, és adja vissza a jelölt részleteket. A modellcsalád kiadása többek között műszaki dokumentumokon, beszélgetéseken, hosszú dokumentumokon, kódon, jogi, pénzügyi és webes szövegeken értékeli a keresést. Egy külön újrarangsoroló pontosíthatja a jelölteket, és egy későbbi válaszadási lépés felhasználhatja a szövegüket. A visszaadott részleteket a feladathoz viszonyítva értékelje; a közös tér kompatibilitása lehetővé teszi a modellkombinációt, míg az eredmény hasznossága továbbra is a forrásanyagtól és a kérdéstől függ.
Ailoot Ultra · Beágyazások POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4Kezdő lépések
A voyage-4 szöveget ágyaz be általános célú és többnyelvű kereséshez, a Voyage 4 modellcsalád közös vektorterében. 32 000 tokenes bemeneteket, választható 256–2048 dimenziós kimeneteket, valamint query/document szerepeket támogat kereséshez és RAG-hoz.
- Elfogadott bemenetek
- Szöveg · token_ids
- Eredmények
- embedding
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Beágyazások POST /v1/embeddings
- Bemenet
text,token_ids- Kimenet
embedding- Kontextus
- 32 000 tokens
- Kimeneti formátum
- json
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok voyageai/voyage-4 | Alapértelmezett— |
Mezőinput | Típusstring|string[]|integer[]|integer[][] | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 Feltételek: Nem üres, homogén köteg. A tokenazonosítók nemnegatív egész számok. Bemeneti keret: Maximum: 32 000 · Szövegegység: UTF8-bájtok · Tokenegység: tokentömb elemei | Alapértelmezett— |
Mezőencoding_format | Típusstring | KövetelményOpcionális | Értékek és korlátok float | Alapértelmezettfloat |
Meződimensions | Típusinteger | KövetelményNem támogatott | Értékek és korlátok Minimum: 1 | Alapértelmezett— |
Mezőuser | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: A forrás engedélyezi ezt a JSON-metaadatmezőt; a szolgáltatónál érvényes pontos jelentése modellenként eltér. | Alapértelmezett— |
Mezősession_id | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: A forrás engedélyezi ezt a JSON-metaadatmezőt; a szolgáltatónál érvényes pontos jelentése modellenként eltér. | Alapértelmezett— |
Mezőtrace | Típusjson_value | KövetelményOpcionális | Értékek és korlátok Feltételek: A forrás engedélyezi ezt a JSON-metaadatmezőt; a szolgáltatónál érvényes pontos jelentése modellenként eltér. | Alapértelmezett— |
Mezőprovider | Típusobject | KövetelményOpcionális | Értékek és korlátok Feltételek: A provider.options elutasítva | Alapértelmezett— |
Bemeneti anyagok kombinációi
text_to_embedding
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, input |
Paraméterinput_shapes | Szerződésstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Paraméterencoding_format | Szerződésfloat |
Paraméterdimensions_override | Szerződésfalse |
Paramétermax_input_budget_units | Szerződés32000 |
Paramétermultimodal_objects | Szerződésfalse |
Paramétermaterial_types | Szerződéstext, token_ids |
Életciklus: synchronous_json
Őrizze meg minden vektor indexét és dimenzióját.
A multimodális modell neve ezen a pontos útvonalon nem teszi lehetővé képobjektumok használatát.
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Normál díjszabás Ha a gyors mód van kiválasztva
- Flex mód
- Normál díjszabás Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Normál díjszabás Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Ailoot-díjak
Árak beállításonként
| Beállítás | Díjtáblázat | Díj |
|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek $0.00012 / 1K token Kimenet · Kimeneti tokenek $0 / 1K token Bemenet · Gyorsítótár olvasása — / 1K token Bemenet · Írás a gyorsítótárba — / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · Beágyazások
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)
Eredmények fogadása és mentése
Ailoot Ultra · Beágyazások
json
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizzen meg minden vektort az indexével együtt. A vektorok számának meg kell egyeznie a bemenetek számával; a dimenzióknak egységesnek kell lenniük.
Ha az eredeti választ ellenőrizni kell
Nem kerül bevezetésre külön beágyazási feladatvégpont.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőobject | Típusstring |
Mezőmodel | Típusstring |
Meződata[].index | Típusinteger |
Meződata[].embedding | Típusfinite float[] |
Mezőusage | Típusobject |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Álnevek
Modell álnevei
Ailoot Ultra voyageai/voyage-4
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · VoyageAI by MongoDB: voyage-4
- Milyen bemenetek és eredmények érhetők el?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- Mely mezőket használja a kérés?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- Milyen korlátok érvényesek?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(UTF8-bájtok);input.min_items:1