VoyageAI by MongoDB: voyage-4-large
voyage-4-large ialah model embedding teks mixture-of-experts Voyage AI untuk pemerolehan semula kegunaan umum dan berbilang bahasa. Vektornya berkongsi ruang keluarga Voyage 4, membolehkan embedding korpus daripada Large dicari dengan embedding pertanyaan serasi daripada model lain dalam keluarga yang sama.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
voyage-4-large ialah model embedding teks utama Voyage AI dalam keluarga Voyage 4. Ia mewakili petikan sumber dan pertanyaan sebagai vektor berangka untuk pemerolehan semula kegunaan umum dan berbilang bahasa. Dua ciri yang membezakannya ialah reka bentuk model mixture-of-experts dan ruang embedding bersama yang digunakan oleh voyage-4-large, voyage-4, voyage-4-lite dan voyage-4-nano.
Ruang bersama: pilihan korpus dan pertanyaan berasingan
Pengeluar menerangkan pemerolehan semula tidak simetri: dokumen boleh dihasilkan embeddingnya dengan voyage-4-large, manakala model keluarga Voyage 4 yang lain menyediakan vektor pertanyaan. Contohnya, korpus yang diwakili Large boleh dicari dengan pertanyaan voyage-4. Ini membolehkan dua sisi carian memilih model berbeza sambil kekal dalam ruang serasi yang didokumenkan.
Oleh itu, koleksi praktikal boleh menggunakan Large untuk menyediakan petikan dokumen stabil dan memilih model bahagian pertanyaan secara berasingan. Dokumen dihasilkan embeddingnya ketika korpus dicipta atau dikemas kini, manakala pertanyaan divektorkan semasa pengguna mencari. Pengumuman keluarga menerangkan penukaran model pertanyaan dalam keluarga serasi tanpa memvektorkan semula korpus dokumen semata-mata kerana perubahan itu. Pastikan vektor yang dibandingkan mempunyai dimensi sepadan dan perwakilan yang dapat ditafsirkan bersama oleh sistem carian.
Reka bentuk embedding mixture-of-experts
Lapisan feed-forward padat memproses setiap token melalui keseluruhan set parameternya. Pendekatan MoE yang diterangkan bagi voyage-4-large menggunakan penghala dan rangkaian feed-forward pakar untuk memilih pakar yang memproses setiap token. Ini memisahkan kapasiti model keseluruhan daripada parameter yang aktif bagi token tertentu. Voyage melaporkan nisbah pengaktifan 1/10 untuk reka bentuk MoE model menggunakan penghalaan top-k.
Penjelasan teknikal pembuat turut menerangkan dua pilihan pembangunan. Kapasiti pakar mempengaruhi sama ada token berlebihan memintas lapisan pakar melalui laluan residual; pasukan memilih faktor kapasiti terbesar yang boleh dilaksanakan untuk mengelakkan kehilangan kualiti pemerolehan semula. Dalam peringkat latihan akhir, parameter penghala dibekukan sebelum penggabungan model supaya interpolasi model sumber tidak mengubah penghalaan pemilihan pakar yang dipelajari. Ini ciri penyediaan model, berbeza daripada tetapan panjang teks atau pemotongan ketika menyediakan input.
Dimensi dan perwakilan output
Jadual model rasmi menetapkan tetingkap konteks 32,000 token dan embedding 256, 512, 1024 serta 2048 dimensi yang boleh dipilih, dengan 1024 sebagai lalai. Keluarga ini menggunakan pembelajaran Matryoshka untuk saiz perwakilan bersarang dan menyokong pilihan pengkuantuman: titik terapung 32 bit, integer 8 bit bertanda atau tanpa tanda dan output binari padat.
Dengan output binari, panjang senarai bait yang dikembalikan ialah satu perlapan dimensi terpilih kerana setiap bait mengandungi lapan bit embedding. Simpan pilihan dimensi dan jenis data bersama indeks serta gunakan kaedah perbandingan yang menyokong perwakilan itu. Vektor lebih kecil atau dimampatkan mengubah perwakilan yang digunakan untuk carian; nilai petikan relevan yang dikembalikan bagi soalan sebenar sebelum memilihnya untuk koleksi.
Sediakan input document dan query
Voyage mengesyorkan peranan document untuk petikan korpus dan peranan query untuk ungkapan carian. Pilihan peranannya menambah arahan pemerolehan semula yang sepadan sebelum embedding. Kekalkan tajuk berguna, syarat dan lokasi sumber petikan, kemudian simpan vektor hasil bersama teks asal dan pengecam stabil.
Untuk koleksi pengetahuan teknikal, soalan tentang mod kegagalan patut membawa kepada petikan yang menerangkan mod itu dan syarat berkaitannya. Untuk koleksi dokumen merentas bahasa, simpan bahasa sumber dan nilai soalan serta istilah yang akan dicari pengguna. Keluaran meliputi bahan pemerolehan semula termasuk dokumen teknikal, perbualan, dokumen panjang, kod, undang-undang, kewangan dan teks web. Embedding mencari bahan calon; peringkat reranker atau jawapan kemudian menggunakan teks asal.
Had konteks, batch dan pemotongan
Panduan semasa pembuat membenarkan sehingga 1,000 rentetan dan 120,000 token input keseluruhan dalam permintaan voyage-4-large. Ini berbeza daripada peruntukan batch voyage-4, manakala kedua-duanya mempunyai tetingkap 32,000 token bagi setiap teks. Pemotongan lalai memendekkan input terlalu panjang supaya muat; penyahdayaan pemotongan mengembalikan ralat bagi teks terlalu panjang.
Pilih sempadan petikan yang mengandungi jawapan dengan sengaja supaya sumber panjang tidak kehilangan syarat atau batasan relevan pada hujung yang dipotong. Simpan perkaitan sumber ketika mengembalikan hasil carian dan periksa teks calon sebenar, bukannya menganggap kedekatan vektor sebagai pengesahan kandungannya. Keserasian ruang bersama terpakai kepada keluarga teks Voyage 4 yang didokumenkan; pemprosesan segmen berkonteks, embedding imej/video dan edisi model kemudian kekal aliran kerja khusus model masing-masing.
Ailoot Ultra · Pembenaman POST /v1/embeddings voyageai/voyage-4-large
voyageai/voyage-4-largePengenalan
voyage-4-large ialah model embedding teks mixture-of-experts Voyage AI untuk pemerolehan semula kegunaan umum dan berbilang bahasa. Vektornya berkongsi ruang keluarga Voyage 4, membolehkan embedding korpus daripada Large dicari dengan embedding pertanyaan serasi daripada model lain dalam keluarga yang sama.
- Input yang diterima
- Teks · token_ids
- Hasil
- embedding
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Pembenaman POST /v1/embeddings
- Input
text,token_ids- Output
embedding- Konteks
- 32,000 tokens
- Format output
- json
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had voyageai/voyage-4-large | Lalai— |
Medaninput | Jenisstring|string[]|integer[]|integer[][] | KeperluanDiperlukan | Nilai & had Item minimum: 1 Syarat: Kelompok homogen yang tidak kosong. ID token ialah integer bukan negatif. Bajet input: Maksimum: 32,000 · Unit teks: bait UTF8 · Unit token: elemen tatasusunan token | Lalai— |
Medanencoding_format | Jenisstring | KeperluanPilihan | Nilai & had float | Lalaifloat |
Medandimensions | Jenisinteger | KeperluanTidak disokong | Nilai & had Minimum: 1 | Lalai— |
Medanuser | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Sumber membenarkan medan metadata JSON ini; semantik tepat di pihak huluan bergantung pada model. | Lalai— |
Medansession_id | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Sumber membenarkan medan metadata JSON ini; semantik tepat di pihak huluan bergantung pada model. | Lalai— |
Medantrace | Jenisjson_value | KeperluanPilihan | Nilai & had Syarat: Sumber membenarkan medan metadata JSON ini; semantik tepat di pihak huluan bergantung pada model. | Lalai— |
Medanprovider | Jenisobject | KeperluanPilihan | Nilai & had Syarat: provider.options ditolak | Lalai— |
Gabungan bahan input
text_to_embedding
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, input |
Parameterinput_shapes | Kontrakstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Kontrakfloat |
Parameterdimensions_override | Kontrakfalse |
Parametermax_input_budget_units | Kontrak32000 |
Parametermultimodal_objects | Kontrakfalse |
Parametermaterial_types | Kontraktext, token_ids |
Kitar hayat: synchronous_json
Simpan setiap indeks dan dimensi vektor.
Nama model multimodal tidak bermakna objek imej dibenarkan pada laluan khusus ini.
Pelan harga
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Kadar standard Apabila mod pantas dipilih
- Mod flex
- Kadar standard Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default
Kadar Ailoot
Harga mengikut konfigurasi
| Konfigurasi | Jadual kadar | Caj |
|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Caj Input · Token input $0.00024 / 1K token Output · Token output $0 / 1K token Input · Bacaan cache — / 1K token Input · Penulisan cache — / 1K token Input · Penulisan cache, 1 jam — / 1K token |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Pembenaman
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)
Terima dan simpan hasil
Ailoot Ultra · Pembenaman
json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.
Simpan setiap vektor bersama indeksnya. Bilangan vektor mesti sama dengan bilangan input; dimensi mesti konsisten.
Jika respons asal perlu disemak
Tiada titik akhir tugas pembenaman diperkenalkan.
Medan respons
| Medan | Jenis |
|---|---|
Medanobject | Jenisstring |
Medanmodel | Jenisstring |
Medandata[].index | Jenisinteger |
Medandata[].embedding | Jenisfinite float[] |
Medanusage | Jenisobject |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |
Alias
Alias model
Ailoot Ultra voyageai/voyage-4-large
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · VoyageAI by MongoDB: voyage-4-large
- Apakah input dan hasil yang tersedia?
POST /v1/embeddings·voyageai/voyage-4-large:text,token_ids→embedding- Apakah medan yang digunakan oleh permintaan?
POST /v1/embeddings·voyageai/voyage-4-large:model,input,encoding_format,provider- Apakah had yang terpakai?
POST /v1/embeddings·voyageai/voyage-4-large:ctx:32000;input.budget.maximum:32000(bait UTF8);input.min_items:1