VoyageAI by MongoDB: voyage-4-large
voyage-4-large adalah model embedding teks mixture-of-experts Voyage AI untuk temu kembali serbaguna dan multibahasa. Vektornya berbagi ruang keluarga Voyage 4, sehingga embedding korpus dari Large dapat dicari dengan embedding kueri kompatibel dari model lain dalam keluarga yang sama.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
voyage-4-large adalah model embedding teks unggulan Voyage AI dalam keluarga Voyage 4. Model ini merepresentasikan bagian teks sumber dan kueri sebagai vektor numerik untuk pencarian serbaguna dan multibahasa. Dua ciri pembedanya adalah rancangan 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 kueri yang terpisah
Pengembang menjelaskan pencarian asimetris: dokumen dapat dibuat embedding-nya dengan voyage-4-large, sementara model keluarga Voyage 4 yang berbeda menyiapkan vektor kueri. Misalnya, korpus yang direpresentasikan oleh Large dapat ditelusuri dengan kueri voyage-4. Dengan begitu, kedua sisi pencarian dapat memiliki pilihan model yang berbeda sambil tetap berada dalam ruang kompatibel yang didokumentasikan.
Karena itu, koleksi praktis dapat menggunakan Large untuk menyiapkan bagian dokumen yang stabil dan memilih model sisi kueri secara mandiri. Embedding dokumen dibuat ketika korpus dibuat atau diperbarui, sedangkan kueri diubah menjadi vektor saat pengguna mencari. Pengumuman keluarga menjelaskan penggantian model kueri dalam keluarga yang kompatibel tanpa membuat ulang vektor korpus dokumen semata-mata karena perubahan tersebut. Pertahankan dimensi yang sama pada vektor yang dibandingkan dan representasi yang dapat ditafsirkan bersama oleh sistem pencarian.
Rancangan embedding mixture-of-experts
Lapisan feed-forward dense memproses setiap token melalui seluruh kumpulan parameternya. Pendekatan MoE yang dijelaskan untuk voyage-4-large menggunakan router dan jaringan feed-forward pakar, dengan memilih pakar yang memproses setiap token. Ini memisahkan kapasitas model total dari parameter yang aktif untuk token tertentu. Voyage melaporkan rasio aktivasi 1/10 untuk rancangan MoE model ini, menggunakan perutean top-k.
Penjelasan teknis pengembang juga menjelaskan dua pilihan pengembangan. Kapasitas pakar memengaruhi apakah token berlebih melewati lapisan pakar melalui jalur residual; tim memilih faktor kapasitas terbesar yang memungkinkan untuk menghindari penurunan kualitas pencarian. Pada tahap pelatihan akhir, parameter router dibekukan sebelum penggabungan model agar interpolasi model sumber tidak mengubah perutean pemilihan pakar yang telah dipelajari. Ini merupakan karakteristik persiapan model, terpisah dari pengaturan panjang teks atau pemotongan yang digunakan saat menyiapkan masukan.
Dimensi dan representasi keluaran
Tabel model resmi menetapkan jendela konteks 32,000 token dan pilihan embedding berdimensi 256, 512, 1024, serta 2048, dengan 1024 sebagai bawaan. Keluarga ini menggunakan pembelajaran Matryoshka untuk ukuran representasi bertingkat dan mendukung pilihan kuantisasi: floating point 32 bit, bilangan bulat 8 bit bertanda atau tanpa tanda, dan keluaran biner yang dikemas.
Pada keluaran biner, panjang daftar byte yang dikembalikan adalah seperdelapan dari dimensi yang dipilih karena setiap byte memuat delapan bit embedding. Simpan pilihan dimensi dan jenis data bersama indeks, dan gunakan metode perbandingan yang mendukung representasi tersebut. Vektor yang lebih kecil atau terkompresi mengubah representasi yang digunakan untuk pencarian; nilai bagian relevan yang dikembalikan pada pertanyaan nyata sebelum memilihnya untuk koleksi.
Siapkan masukan dokumen dan kueri
Voyage menyarankan penggunaan peran document untuk bagian teks korpus dan peran query untuk kata-kata pencarian. Opsi perannya menambahkan instruksi pencarian yang bersesuaian sebelum membuat embedding. Pertahankan judul yang berguna, kondisi, dan lokasi sumber dari bagian teks tersebut, lalu simpan vektor yang dikembalikan bersama teks asli dan pengenal yang stabil.
Untuk koleksi pengetahuan teknis, pertanyaan tentang mode kegagalan perlu mengarah ke bagian yang menjelaskan mode tersebut dan kondisi yang relevan. Untuk koleksi dokumen lintas bahasa, pertahankan bahasa sumber dan evaluasi pertanyaan serta istilah yang akan digunakan pengguna untuk mencari. Rilis ini mencakup materi pencarian, termasuk dokumen teknis, percakapan, dokumen panjang, kode, hukum, keuangan, dan teks web. Embedding menemukan materi kandidat; reranker atau tahap jawaban berikutnya menggunakan teks asli.
Batas konteks, batch, dan pemotongan
Panduan pengembang saat ini mengizinkan hingga 1,000 string dan total 120,000 token masukan dalam satu permintaan voyage-4-large. Ini berbeda dari jatah batch yang dicantumkan untuk voyage-4, sementara keduanya memiliki jendela 32,000 token per teks. Pemotongan bawaan memendekkan masukan yang terlalu panjang agar muat; menonaktifkan pemotongan mengembalikan kesalahan untuk teks yang terlalu panjang.
Pilih batas bagian teks yang memuat jawaban secara sengaja agar sumber panjang tidak kehilangan keterangan pembatas yang relevan pada bagian akhir yang terpotong. Pertahankan hubungan sumber saat mengembalikan hasil pencarian, dan periksa teks kandidat yang sebenarnya, alih-alih menganggap kedekatan vektor sebagai verifikasi isinya. Kompatibilitas ruang bersama berlaku pada keluarga teks Voyage 4 yang didokumentasikan; pemrosesan potongan teks berkonteks, embedding gambar/video, dan edisi model yang lebih baru tetap memiliki alur kerja khusus model masing-masing.
Ailoot Ultra · Embedding POST /v1/embeddings voyageai/voyage-4-large
voyageai/voyage-4-largeMulai
voyage-4-large adalah model embedding teks mixture-of-experts Voyage AI untuk temu kembali serbaguna dan multibahasa. Vektornya berbagi ruang keluarga Voyage 4, sehingga embedding korpus dari Large dapat dicari dengan embedding kueri kompatibel dari model lain dalam keluarga yang sama.
- Masukan yang diterima
- Teks · token_ids
- Hasil
- embedding
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Embedding POST /v1/embeddings
- Masukan
text,token_ids- Keluaran
embedding- Konteks
- 32.000 tokens
- Format keluaran
- json
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan voyageai/voyage-4-large | Bawaan— |
Kolominput | Jenisstring|string[]|integer[]|integer[][] | PersyaratanWajib | Nilai & batasan Item minimum: 1 Kondisi: Batch homogen yang tidak kosong. ID token berupa bilangan bulat nonnegatif. Anggaran masukan: Maksimum: 32.000 · Satuan teks: byte UTF8 · Satuan token: elemen array token | Bawaan— |
Kolomencoding_format | Jenisstring | PersyaratanOpsional | Nilai & batasan float | Bawaanfloat |
Kolomdimensions | Jenisinteger | PersyaratanTidak didukung | Nilai & batasan Minimum: 1 | Bawaan— |
Kolomuser | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomsession_id | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomtrace | Jenisjson_value | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
Kolomprovider | Jenisobject | PersyaratanOpsional | Nilai & batasan Kondisi: provider.options ditolak | Bawaan— |
Kombinasi bahan masukan
text_to_embedding
Parameter metode dan siklus hidup
| 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 |
Siklus hidup: synchronous_json
Pertahankan index dan dimensi setiap vektor.
Nama model multimodal tidak mengizinkan objek gambar pada jalur persis ini.
Paket
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tarif standar Saat mode fast dipilih
- Mode Flex
- Tarif standar Saat mode flex dipilih
- Upaya penalaran maksimum
- Tarif standar Saat upaya penalaran maksimum menggunakan penyesuaian default
Tarif Ailoot
Harga menurut konfigurasi
| Konfigurasi | Jadwal tarif | Biaya |
|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Biaya Masukan · Token masukan $0.00024 / 1K token Keluaran · Token keluaran $0 / 1K token Masukan · Pembacaan cache — / 1K token Masukan · Penulisan cache — / 1K token Masukan · Penulisan cache, 1 jam — / 1K token |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Embedding
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 · Embedding
json
Simpan semua hasil yang selesai
Simpan setiap respons lengkap, berkas, dan bagian konten yang dikembalikan.
Simpan setiap vektor beserta index masing-masing. Jumlah vektor harus sama dengan jumlah input; dimensinya harus konsisten.
Jika respons asli perlu diperiksa
Endpoint untuk tugas embedding tidak ditambahkan.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomobject | Jenisstring |
Kolommodel | Jenisstring |
Kolomdata[].index | Jenisinteger |
Kolomdata[].embedding | Jenisfinite float[] |
Kolomusage | Jenisobject |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
Alias
Alias model
Ailoot Ultra voyageai/voyage-4-large
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · VoyageAI by MongoDB: voyage-4-large
- Input dan hasil apa yang tersedia?
POST /v1/embeddings·voyageai/voyage-4-large:text,token_ids→embedding- Kolom apa yang digunakan permintaan?
POST /v1/embeddings·voyageai/voyage-4-large:model,input,encoding_format,provider- Batasan apa yang berlaku?
POST /v1/embeddings·voyageai/voyage-4-large:ctx:32000;input.budget.maximum:32000(byte UTF8);input.min_items:1