VoyageAI by MongoDB: voyage-4
voyage-4 kuria teksto įterpinius bendrosios paskirties ir daugiakalbei paieškai, naudodamas bendrą Voyage 4 šeimos vektorių erdvę. Jis palaiko 32 000 žetonų įvestis, pasirenkamas 256–2048 matmenų išvestis ir query/document vaidmenis paieškai bei RAG.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
voyage-4 yra vidutinio dydžio Voyage AI teksto įterpinių modelis Voyage 4 šeimoje. Užklausų ir dokumentų tekstą jis paverčia skaitiniais vektoriais bendrosios paskirties ir daugiakalbei paieškai. Šeimą apibrėžianti galimybė yra bendra įterpinių erdvė: voyage-4, voyage-4-large, voyage-4-lite ir voyage-4-nano sukuria suderinamas reprezentacijas, todėl užklausos ir dokumento pusėse paieškos užduotis gali naudoti skirtingus šios šeimos modelius.
Bendra erdvė ir asimetrinė paieška
Gamintojas skirtingų užklausų ir korpuso modelių naudojimą vadina asimetrine paieška. Vienas dokumentuotas būdas yra paruošti korpusą su voyage-4-large ir ieškoti jame naudojant voyage-4 užklausų įterpinius. Korpuso įterpiniai kuriami vieną kartą arba pasikeitus jo šaltinio medžiagai, o užklausų vektoriai kuriami atėjus paieškos užklausoms. Bendra erdvė leidžia keisti užklausos pusės modelį šeimos viduje, neprivalant iš naujo kurti korpuso įterpinių vien dėl tokio pakeitimo.
Lyginamuose vektoriuose išlaikykite suderinamą išvesties matmenų skaičių ir reprezentaciją. Teiginys apie bendrą erdvę susijęs su įvardytais Voyage 4 teksto modeliais; jo neįrodo vien tai, kad du nesusiję modeliai grąžina tokio paties ilgio masyvus. Todėl praktinė užduotis gali naudoti voyage-4 abiejose paieškos pusėse arba jo užklausų vektorius su esamu voyage-4-large dokumentų indeksu, kai jų reprezentacijos nustatymai sutampa.
Užklausos ir dokumento vaidmenys
Paieškai Voyage rekomenduoja įvesties tekstą pažymėti kaip užklausą arba dokumentą. Įvesties vaidmens parinktis prieš vektorizavimą pateikia atitinkamą paieškos instrukciją. Korpuso ištraukas paruoškite kaip dokumentus, o naudotojo paieškos formuluotę – kaip užklausą, išsaugodami tikrąjį šaltinio tekstą ir identifikatorius šalia kiekvieno saugomo vektoriaus.
Pavyzdžiui, žinių paieškos kolekcija gali indeksuoti technines instrukcijas ir produktų paaiškinimus. Užklausa apie tai, kas nutinka po nesėkmingo importavimo, turėtų grąžinti šią elgseną aprašančią šaltinio ištrauką. Su ištrauka išsaugokite antraštes, aktualias sąlygas ir vietą šaltinyje, kad rastą rezultatą būtų galima patikrinti arba naudoti vėlesniame RAG atsakymo etape. Įterpinys yra skaitinis paieškos atvaizdas; pati ištrauka yra tame vėlesniame etape naudojamas pagrindimas.
Matmenys ir išvesties duomenų tipai
Dokumentuotas konteksto langas vienam tekstui yra 32 000 žetonų. Galimi matmenų skaičiai yra 256, 512, 1024 ir 2048, o numatytasis – 1024. Matryoshka mokymasis suteikia šiuos vienas į kitą įdėtus reprezentacijos dydžius. Dėl šeimos paruošimo atsižvelgiant į kvantavimą išvestis gali naudoti 32 bitų slankiojo kablelio reikšmes, 8 bitų sveikuosius skaičius su ženklu arba be ženklo ar supakuotas dvejetaines reikšmes.
Supakuotoje dvejetainėje išvestyje kiekvienas grąžintas baitas saugo aštuonis įterpinio bitus, todėl baitų sąrašo ilgis yra viena aštuntoji pasirinkto matmenų skaičiaus. Baitų skaičius ir įterpinio matmenų skaičius turi skirtingą prasmę. Pasirinkite reprezentaciją, kurią jūsų paieškos indeksas gali interpretuoti, ir prieš rinkdamiesi suspaustą konfigūraciją patikrinkite kandidatų aktualumą pagal kolekcijoje iš tikrųjų naudojamus klausimus ir kalbas.
Įvesties ilgis, paketai ir nukirpimas
Dabartinis gamintojo teksto įterpinių vadovas vienoje voyage-4 užklausoje leidžia iki 1000 eilučių ir iš viso 320 000 žetonų. Paketo limitas yra atskiras nuo 32 000 žetonų lango kiekvienai įvesčiai. Nukirpimas įjungtas pagal numatytuosius nustatymus: per ilgas tekstas sutrumpinamas, kad tilptų. Išjungus nukirpimą per ilga pozicija vietoj to sukelia klaidą.
Ilgoje ataskaitoje ar transkripcijoje sąmoningai paruoškite ištraukas, kuriose yra atsakymas, užuot pasikliovę nukirpimu ties įvesties riba. Kiekvieną ištrauką išlaikykite susietą su pirminiu dokumentu ir šaltinio versija. Įprastos voyage-4 įterpinių įvestys yra atskiri tekstai; kontekstinis fragmentų grupių apdorojimas priklauso atskirai dokumentuotiems kontekstinių įterpinių modeliams.
Naudokite paieškos rezultatą
Vektorius saugokite kartu su ištraukų tekstu ir stabiliais šaltinių identifikatoriais, kiekvieną užklausos vektorių lyginkite su suderinamais dokumentų vektoriais ir grąžinkite kandidatines ištraukas. Šeimos pristatymo publikacija vertina paiešką medžiagoje, apimančioje techninius dokumentus, pokalbius, ilgus dokumentus, kodą, teisę, finansus ir žiniatinklio tekstą. Atskiras perrikiavimo modelis gali patikslinti kandidatus, o vėlesnis atsakymo etapas gali naudoti jų tekstą. Gautas ištraukas vertinkite pagal užduotį; bendros erdvės suderinamumas leidžia modelių derinį, tačiau rezultato naudingumas vis tiek priklauso nuo šaltinio medžiagos ir klausimo.
Ailoot Ultra · Įterpiniai POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4Pradžia
voyage-4 kuria teksto įterpinius bendrosios paskirties ir daugiakalbei paieškai, naudodamas bendrą Voyage 4 šeimos vektorių erdvę. Jis palaiko 32 000 žetonų įvestis, pasirenkamas 256–2048 matmenų išvestis ir query/document vaidmenis paieškai bei RAG.
- Leidžiamos įvestys
- Tekstas · token_ids
- Rezultatai
- embedding
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Įterpiniai POST /v1/embeddings
- Įvestis
text,token_ids- Išvestis
embedding- Kontekstas
- 32 000 tokens
- Išvesties formatas
- json
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos voyageai/voyage-4 | Numatyta— |
Laukasinput | Tipasstring|string[]|integer[]|integer[][] | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 Sąlygos: Netuščias vienalyčių įvesčių paketas. Žetonų ID yra neneigiami sveikieji skaičiai. Įvesties biudžetas: Didžiausia reikšmė: 32 000 · Teksto vienetas: UTF8 baitai · Tokenų vienetas: žetonų masyvo elementai | Numatyta— |
Laukasencoding_format | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos float | Numatytafloat |
Laukasdimensions | Tipasinteger | ReikalavimasNepalaikoma | Reikšmės ir ribos Mažiausia reikšmė: 1 | Numatyta— |
Laukasuser | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukassession_id | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukastrace | Tipasjson_value | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Šaltinis leidžia šį JSON metaduomenų lauką; tiksli jo reikšmė tiekėjo sistemoje priklauso nuo modelio. | Numatyta— |
Laukasprovider | Tipasobject | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options atmetamas | Numatyta— |
Įvesties medžiagos deriniai
text_to_embedding
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, input |
Parametrasinput_shapes | Specifikacijastring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrasencoding_format | Specifikacijafloat |
Parametrasdimensions_override | Specifikacijafalse |
Parametrasmax_input_budget_units | Specifikacija32000 |
Parametrasmultimodal_objects | Specifikacijafalse |
Parametrasmaterial_types | Specifikacijatext, token_ids |
Gyvavimo ciklas: synchronous_json
Išsaugokite kiekvieną vektoriaus indeksą ir matmenį.
Tai, kad modelio pavadinimas nurodo multimodalumą, nereiškia, jog šiuo konkrečiu keliu priimami vaizdų objektai.
Planai
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Standartinis įkainis Pasirinkus spartųjį režimą
- Flex režimas
- Standartinis įkainis Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Ailoot įkainiai
Kainos pagal konfigūraciją
| Konfigūracija | Įkainių lentelė | Mokestis |
|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Mokestis Įvestis · Įvesties tokenai $0.00012 / 1K tokenų Išvestis · Išvesties tokenai $0 / 1K tokenų Įvestis · Talpyklos skaitymas — / 1K tokenų Įvestis · Rašymas į talpyklą — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Įterpiniai
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)
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Įterpiniai
json
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.
Išsaugokite kiekvieną vektorių su jo indeksu. Vektorių skaičius turi sutapti su įvesčių skaičiumi; jų matmenų skaičius turi būti vienodas.
Jei reikia patikrinti pradinį atsakymą
Vektorių generavimo užduotims atskiras API galinis taškas neįvedamas.
Atsakymo laukai
| Laukas | Tipas |
|---|---|
Laukasobject | Tipasstring |
Laukasmodel | Tipasstring |
Laukasdata[].index | Tipasinteger |
Laukasdata[].embedding | Tipasfinite float[] |
Laukasusage | Tipasobject |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra voyageai/voyage-4
Metodų kelių pseudonimai
Naudokite aukščiau nurodytus metodų kelius.
Susiję ID iškvietimui
FAQ · VoyageAI by MongoDB: voyage-4
- Kokios įvestys ir rezultatai prieinami?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- Kokius laukus naudoja užklausa?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- Kokie apribojimai taikomi?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(UTF8 baitai);input.min_items:1