Source: https://ailoot.ai/models/id/voyageai-voyage-code-4/
Canonical: https://ailoot.ai/models/id/voyageai-voyage-code-4/
Language: id

# VoyageAI by MongoDB: voyage-code-4

[Markdown](https://ailoot.ai/models/id/voyageai-voyage-code-4/index.md) · [JSON](https://ailoot.ai/models/id/voyageai-voyage-code-4/facts.json)

## [VoyageAI by MongoDB: voyage-code-4](https://ailoot.ai/models/id/voyageai-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.

- [**Ailoot Ultra · Embedding** `POST /v1/embeddings` `voyageai/voyage-code-4`](https://ailoot.ai/models/id/voyageai-voyage-code-4/#method-0)

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-4`](https://ailoot.ai/models/id/#m=voyageai%2Fvoyage-code-4&route=Ultra&caller=voyageai%2Fvoyage-code-4&fmt=embeddings)

VoyageAI by MongoDB /`voyageai/voyage-code-4`

### Mulai

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 |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan voyageai/voyage-code-4 | Bawaan— |
| Kolom`input` | Jenis`string\|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— |
| Kolom`encoding_format` | Jenis`string` | PersyaratanOpsional | Nilai & batasan float | Bawaanfloat |
| Kolom`dimensions` | Jenis`integer` | PersyaratanTidak didukung | Nilai & batasan Minimum: 1 | Bawaan— |
| Kolom`user` | Jenis`json_value` | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
| Kolom`session_id` | Jenis`json_value` | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
| Kolom`trace` | Jenis`json_value` | PersyaratanOpsional | Nilai & batasan Kondisi: Sumber mengizinkan kolom metadata JSON ini; makna tepatnya pada layanan hulu bergantung pada model. | Bawaan— |
| Kolom`provider` | Jenis`object` | PersyaratanOpsional | Nilai & batasan Kondisi: provider.options ditolak | Bawaan— |

Kombinasi bahan masukan

**text\_to\_embedding**

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, input |
| Parameter`input_shapes` | Kontrakstring, string\[\], nonnegative\_integer\_token\_array, nonnegative\_integer\_token\_array\[\] |
| Parameter`encoding_format` | Kontrakfloat |
| Parameter`dimensions_override` | Kontrakfalse |
| Parameter`max_input_budget_units` | Kontrak32000 |
| Parameter`multimodal_objects` | Kontrakfalse |
| Parameter`material_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 →](https://ailoot.ai/docs/id/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · Embedding

curlPython SDK

```bash
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
```

```python
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 |
| --- | --- |
| Kolom`object` | Jenisstring |
| Kolom`model` | Jenisstring |
| Kolom`data[].index` | Jenisinteger |
| Kolom`data[].embedding` | Jenisfinite float\[\] |
| Kolom`usage` | 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`](https://ailoot.ai/models/id/#m=voyageai%2Fvoyage-code-4&route=Ultra&caller=voyageai%2Fvoyage-code-4&fmt=embeddings)

#### Alias jalur metode

Gunakan jalur metode yang ditampilkan di atas.

#### ID pemanggil terkait

[`voyageai/voyage-code-4`](https://ailoot.ai/models/id/#m=voyageai%2Fvoyage-code-4&route=Ultra&caller=voyageai%2Fvoyage-code-4&fmt=embeddings)

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`

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

## Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

## Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan

Pilih paket dengan diskon untuk permintaan rutin Anda.

Kode promo hingga 50%

Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.

Biaya dalam riwayat

Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

[Pilih langganan](https://ailoot.ai/docs/id/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/id/)

## Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial

Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.

Lisensi reseller

Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.

Dokumen di situs

Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

[Minta lisensi reseller](mailto:support@ailoot.ai) · [Penawaran dan perjanjian lisensi](https://ailoot.ai/legal/offer?lang=id)

## Ailoot · Perusahaan dan portofolio proyeknya





Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.





Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.





Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
