VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 adalah model embedding kode untuk menemukan sumber relevan dari pertanyaan, deskripsi masalah, dan tujuan agen pemrograman. Model mendukung masukan 32.000 token serta 256, 512, 1024, atau 2048 dimensi, dengan representasi floating-point dan terkuantisasi.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
voyage-code-4 adalah model embedding khusus kode Voyage AI untuk pencarian repositori dan temu kembali agen pemrograman. Model dirancang untuk membantu menemukan sumber relevan ketika titik awalnya berupa pertanyaan, gejala, atau deskripsi tugas, bukan pengenal yang diketahui. Model merepresentasikan kode dan informasi tekstual sebagai vektor numerik untuk temu kembali; model tidak menyunting repositori atau menghasilkan perbaikan.
Temukan kode dari masalah yang diselidiki
Pembuat menjelaskan korpus pelatihan yang dikurasi dari pull request yang telah diselesaikan, menghubungkan kueri bahasa alami dengan kode. Ini adalah perbedaan bermakna dari contoh pelatihan yang terutama dibangun di sekitar berkas sumber dan docstring-nya: tugas temu kembali dapat dimulai dari perilaku yang perlu diselidiki.
Siapkan kueri seperti “Temukan bagian di mana hasil kosong menyebabkan operasi yang berhasil dilaporkan gagal.” Indeks bagian sumber yang dapat dibaca bersama jalur berkas dan komentar relevan. Pertahankan kondisi di sekitar fungsi ketika menjelaskan perilakunya. Kandidat hasil harus membawa pembaca atau agen kembali ke bagian sumber yang direpresentasikannya.
Temu kembali semantik dapat melengkapi pencarian pengenal tepat dan teks lengkap. Jika nama fungsi sudah diketahui, pencarian tepat tetap berguna. Jika hanya gejalanya diketahui, pencarian vektor dapat memberikan kandidat untuk diperiksa dan dipersempit dengan kueri lain.
Peran query dan document
Panduan temu kembali Voyage membedakan kueri dari dokumen korpus melalui jenis masukan query/document. Untuk pencarian kode, gunakan deskripsi masalah atau tugas sebagai query, serta sumber atau dokumentasi terindeks sebagai document. Resep yang diterbitkan menambahkan instruksi temu kembali khusus peran saat membuat embedding.
Simpan format asli kode, nama, dan dokumentasi relevan di luar vektor. Untuk bagian sumber, simpan jalur berkas dan lokasinya; untuk panduan pemrograman, simpan judulnya. Setelah temu kembali, periksa kode sebenarnya dan pemanggilnya sebelum memilih suntingan. Relevansi kandidat tidak membuktikan bahwa kandidat merupakan satu-satunya penyebab masalah yang dilaporkan.
Pilihan konteks dan representasi
Panjang konteks model yang tepat ini adalah 32.000 token menurut publikasi. Embedding bawaannya memiliki 1024 dimensi, dengan 256, 512, dan 2048 dimensi juga didukung melalui pembelajaran Matryoshka. Pengumuman mendokumentasikan representasi floating-point 32 bit, integer 8 bit bertanda dan tanpa tanda, serta biner.
Pilih satu dimensi dan representasi untuk koleksi, lalu simpan bersama metadatanya. Vektor floating-point dan representasi terkuantisasi membutuhkan penanganan penyimpanan serta perbandingan yang sesuai. Representasi biner mengodekan informasi vektor secara berbeda dari daftar koordinat floating-point biasa; pertahankan perbedaan itu saat menyiapkan hasil pencarian.
Untuk berkas panjang, pilih bagian koheren yang lokasi sumbernya dapat ditemukan kembali. Fungsi mungkin membutuhkan definisi tipe atau komentar di sebelahnya untuk menjelaskan kondisi, sedangkan seluruh berkas terlalu besar mungkin mencakup materi tidak terkait. Selaraskan bagian dengan tugas yang akan dicari alih-alih memperlakukan konteks maksimum sebagai ukuran potongan yang diutamakan.
Gunakan sumber hasil temu kembali sebagai bukti
Alur agen pemrograman praktis menemukan sumber kandidat, membaca berkas tersebut, mengikuti rujukan relevan, dan mempersempit pencarian seiring penyelidikan. Teks hasil temu kembali menjadi konteks untuk tahap penalaran atau penyuntingan. Pertahankan hubungannya dengan revisi repositori yang diindeks agar kandidat diperiksa berdasarkan sumber yang tepat.
Kontribusi khusus edisi voyage-code-4 adalah fokus pada tahap temu kembali dari masalah ke kode yang digunakan agen pemrograman, bersama dimensi dan representasi yang fleksibel. Keluarannya adalah vektor temu kembali, sementara diagnosis, penyuntingan, dan validasi tetap menjadi tugas terpisah yang berlandaskan repositori sebenarnya.
Ailoot Ultra · Embedding POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Mulai
Voyage AI voyage-code-4 adalah model embedding kode untuk menemukan sumber relevan dari pertanyaan, deskripsi masalah, dan tujuan agen pemrograman. Model mendukung masukan 32.000 token serta 256, 512, 1024, atau 2048 dimensi, dengan representasi floating-point dan terkuantisasi.
- 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-code-4 | 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-code-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-code-4',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-code-4
Alias jalur metode
Gunakan jalur metode yang ditampilkan di atas.
ID pemanggil terkait
FAQ · VoyageAI by MongoDB: voyage-code-4
- Input dan hasil apa yang tersedia?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- Kolom apa yang digunakan permintaan?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- Batasan apa yang berlaku?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(byte UTF8);input.min_items:1