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

# VoyageAI by MongoDB: voyage-code-4

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

## [VoyageAI by MongoDB: voyage-code-4](https://ailoot.ai/models/pl/voyageai-voyage-code-4/)

Voyage AI voyage-code-4 to model osadzeń kodu do odnajdywania odpowiedniego kodu źródłowego na podstawie pytań, opisów problemów i celów agentów programistycznych. Obsługuje wejścia do 32 000 tokenów oraz 256, 512, 1024 lub 2048 wymiarów, z reprezentacjami zmiennoprzecinkowymi i skwantyzowanymi.

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

O modelu

Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.

voyage-code-4 to model osadzeń Voyage AI wyspecjalizowany w kodzie, przeznaczony do przeszukiwania repozytoriów i wyszukiwania kontekstu dla agentów programistycznych. Pomaga odnajdywać odpowiedni kod źródłowy, gdy punktem wyjścia jest pytanie, objaw lub opis zadania, a nie znany identyfikator. Reprezentuje kod i informacje tekstowe jako wektory liczbowe do wyszukiwania; nie edytuje repozytorium ani nie generuje poprawki.

#### Wyszukuj kod na podstawie badanego problemu

Producent opisuje korpus treningowy dobrany z zakończonych pull requestów, łączący zapytania w języku naturalnym z kodem. To istotna różnica względem przykładów treningowych opartych głównie na plikach źródłowych i ich docstringach: zadanie wyszukiwania może zaczynać się od zachowania wymagającego zbadania.

Przygotuj zapytanie takie jak „Znajdź miejsce, w którym pusty wynik powoduje zgłoszenie udanej operacji jako niepowodzenia”. Indeksuj czytelne sekcje kodu źródłowego wraz ze ścieżkami plików i istotnymi komentarzami. Zachowaj warunki otaczające funkcję, jeśli wyjaśniają jej zachowanie. Zwrócony kandydat powinien prowadzić czytelnika lub agenta z powrotem do reprezentowanej sekcji źródłowej.

Wyszukiwanie semantyczne może uzupełniać wyszukiwanie dokładnych identyfikatorów i wyszukiwanie pełnotekstowe. Jeśli nazwa funkcji jest już znana, dokładne wyszukanie nadal jest przydatne. Jeśli znany jest tylko objaw, wyszukiwanie wektorowe może dostarczyć kandydatów do sprawdzenia i zawężenia kolejnym zapytaniem.

#### Role zapytania i dokumentu

Wskazówki Voyage dotyczące wyszukiwania rozróżniają zapytanie i dokument korpusu za pomocą typów wejścia query/document. Przy wyszukiwaniu kodu używaj opisu problemu lub zadania jako zapytania, a indeksowanego kodu źródłowego lub dokumentacji jako dokumentu. Opublikowana procedura dodaje podczas tworzenia osadzeń instrukcje wyszukiwania właściwe dla danej roli.

Zachowaj poza wektorem oryginalne formatowanie kodu, nazwy i odpowiednią dokumentację. Dla sekcji źródłowej zachowaj ścieżkę pliku i położenie, a dla poradnika programistycznego – nagłówek. Po wyszukaniu sprawdź rzeczywisty kod i miejsca, z których jest wywoływany, zanim wybierzesz zmianę. Trafność kandydata nie dowodzi, że jest on jedyną przyczyną zgłoszonego problemu.

#### Kontekst i wybór reprezentacji

Opublikowana długość kontekstu tego konkretnego modelu wynosi 32 000 tokenów. Domyślne osadzenie ma 1024 wymiary; uczenie Matryoshka umożliwia także 256, 512 i 2048 wymiarów. Ogłoszenie dokumentuje reprezentacje zmiennoprzecinkowe 32-bitowe, całkowitoliczbowe 8-bitowe ze znakiem i bez znaku oraz binarne.

Wybierz jedną liczbę wymiarów i reprezentację dla kolekcji i zachowaj je w jej metadanych. Wektory zmiennoprzecinkowe i reprezentacje skwantyzowane wymagają odpowiedniej obsługi przechowywania i porównywania. Reprezentacja binarna koduje informacje wektora inaczej niż lista zwykłych współrzędnych zmiennoprzecinkowych; zachowaj to rozróżnienie, przygotowując wyniki do wyszukiwania.

W przypadku długiego pliku wybierz spójne sekcje, których położenie w źródle można odtworzyć. Funkcja może wymagać sąsiedniej definicji typu lub komentarza wyjaśniającego warunek, a cały zbyt duży plik może zawierać niepowiązane materiały. Dopasuj sekcję do zadania, według którego będzie wyszukiwana, zamiast traktować maksymalny kontekst jako preferowany rozmiar fragmentu.

#### Traktuj znaleziony kod źródłowy jako materiał dowodowy

Praktyczny proces pracy agenta programistycznego wyszukuje potencjalnie trafne fragmenty kodu źródłowego, odczytuje te pliki, podąża za istotnymi odwołaniami i zawęża wyszukiwanie w miarę postępów analizy. Znaleziony tekst staje się kontekstem dla etapu rozumowania lub edycji. Zachowaj jego powiązanie z indeksowaną rewizją repozytorium, aby kandydat był sprawdzany względem właściwego źródła.

Wkładem charakterystycznym dla wersji voyage-code-4 jest skupienie na używanym przez agentów programistycznych etapie wyszukiwania kodu na podstawie problemu, wraz z elastycznymi wymiarami i reprezentacjami. Wynikiem jest wektor do wyszukiwania, natomiast diagnoza, edycja i weryfikacja pozostają odrębnymi zadaniami opartymi na rzeczywistym repozytorium.

**Ailoot Ultra · Reprezentacje wektorowe** `POST /v1/embeddings` `voyageai/voyage-code-4`

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

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

### Start

Voyage AI voyage-code-4 to model osadzeń kodu do odnajdywania odpowiedniego kodu źródłowego na podstawie pytań, opisów problemów i celów agentów programistycznych. Obsługuje wejścia do 32 000 tokenów oraz 256, 512, 1024 lub 2048 wymiarów, z reprezentacjami zmiennoprzecinkowymi i skwantyzowanymi.

Akceptowane dane wejściowe

Tekst · token\_ids

Wyniki

embedding

### Dostępne w Ailoot · dane wejściowe i metody

**Ailoot Ultra · Reprezentacje wektorowe** `POST /v1/embeddings`

Wejście

`text`, `token_ids`

Wyjście

`embedding`

Kontekst

32 000 tokens

Format wyjściowy

json

| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | WymaganieWymagane | Wartości i limity voyageai/voyage-code-4 | Domyślnie— |
| Pole`input` | Typ`string\|string[]\|integer[]\|integer[][]` | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 Warunki: Niepusta, jednorodna partia danych. Identyfikatory tokenów są nieujemnymi liczbami całkowitymi. Budżet wejścia: Maksimum: 32 000 · Jednostka tekstu: bajty UTF8 · Jednostka tokenów: elementy tablicy tokenów | Domyślnie— |
| Pole`encoding_format` | Typ`string` | WymaganieOpcjonalne | Wartości i limity float | Domyślniefloat |
| Pole`dimensions` | Typ`integer` | WymaganieNieobsługiwane | Wartości i limity Minimum: 1 | Domyślnie— |
| Pole`user` | Typ`json_value` | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
| Pole`session_id` | Typ`json_value` | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
| Pole`trace` | Typ`json_value` | WymaganieOpcjonalne | Wartości i limity Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu. | Domyślnie— |
| Pole`provider` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Warunki: Odrzucono provider.options | Domyślnie— |

Kombinacje materiałów wejściowych

**text\_to\_embedding**

Parametry i cykl życia metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, input |
| Parametr`input_shapes` | Kontraktstring, string\[\], nonnegative\_integer\_token\_array, nonnegative\_integer\_token\_array\[\] |
| Parametr`encoding_format` | Kontraktfloat |
| Parametr`dimensions_override` | Kontraktfalse |
| Parametr`max_input_budget_units` | Kontrakt32000 |
| Parametr`multimodal_objects` | Kontraktfalse |
| Parametr`material_types` | Kontrakttext, token\_ids |

Cykl życia: `synchronous_json`

Zachowaj indeks i liczbę wymiarów każdego wektora.

Nawet jeśli nazwa modelu wskazuje na multimodalność, ta konkretna ścieżka nie obsługuje obiektów obrazów.

### Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki

Stawka standardowa Gdy wybrany jest tryb szybki

Tryb flex

Stawka standardowa Gdy wybrany jest tryb flex

Maksymalna intensywność rozumowania

Stawka standardowa Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

#### Stawki Ailoot

#### Ceny według konfiguracji

| Konfiguracja | Tabela stawek | Opłata |
| --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe **$0.00024** / 1K tokenów Wyjście · Tokeny wyjściowe **$0** / 1K tokenów Wejście · Odczyt cache **—** / 1K tokenów Wejście · Zapis do cache **—** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. [Jak działają rezerwacja i rozliczenie →](https://ailoot.ai/docs/pl/billing/reserve/)

### Przykładowe żądania

#### Ailoot Ultra · Reprezentacje wektorowe

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

### Odbieranie i zapisywanie wyników

#### Ailoot Ultra · Reprezentacje wektorowe

json

##### Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj każdy wektor wraz z jego indeksem. Liczba wektorów musi być równa liczbie elementów wejściowych; wszystkie wektory muszą mieć tę samą liczbę wymiarów.

##### Jeśli trzeba sprawdzić pierwotną odpowiedź

Nie wprowadzono endpointu zadań generowania osadzeń.

Pola odpowiedzi

| Pole | Typ |
| --- | --- |
| Pole`object` | Typstring |
| Pole`model` | Typstring |
| Pole`data[].index` | Typinteger |
| Pole`data[].embedding` | Typfinite float\[\] |
| Pole`usage` | Typobject |

Błędy i dalsze kroki

| Odpowiedź | Warunek | Następny krok |
| --- | --- | --- |
| Odpowiedź400 · `invalid_request_error` | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |

### Aliasy

#### Aliasy modelu

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

#### Aliasy ścieżek metod

Użyj ścieżek metod podanych powyżej.

#### Powiązane ID modeli

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

FAQ · VoyageAI by MongoDB: voyage-code-4

Jakie dane wejściowe i wyniki są dostępne?

`POST /v1/embeddings` · `voyageai/voyage-code-4`: `text`, `token_ids` → `embedding`

Jakich pól używa żądanie?

`POST /v1/embeddings` · `voyageai/voyage-code-4`: `model`, `input`, `encoding_format`, `provider`

Jakie limity obowiązują?

`POST /v1/embeddings` · `voyageai/voyage-code-4`: `ctx`: `32000`; `input.budget.maximum`: `32000` (bajty UTF8); `input.min_items`: `1`

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

## Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

## Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja

Wybierz plan z rabatem do regularnych żądań.

Kod promocyjny do 50%

Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.

Koszty w historii

Model, tokeny i kwota są zapisywane dla każdego żądania.

[Wybierz subskrypcję](https://ailoot.ai/docs/pl/billing/subscriptions/) · [Sprawdź ceny modeli](https://ailoot.ai/models/pl/)

## Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna

Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.

Licencja resellerska

Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.

Dokumenty na stronie

Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

[Poproś o licencję resellerską](mailto:support@ailoot.ai) · [Oferta i umowa licencyjna](https://ailoot.ai/legal/offer?lang=pl)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
