modele

VoyageAI by MongoDB: voyage-code-4

Markdown · JSON

VoyageAI by MongoDB: 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.

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

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
PoleTypWymaganieWartości i limityDomyślnie
PolemodelTypstringWymaganieWymaganeWartości i limity
voyageai/voyage-code-4
Domyślnie—
PoleinputTypstring|string[]|integer[]|integer[][]WymaganieWymaganeWartoś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—
Poleencoding_formatTypstringWymaganieOpcjonalneWartości i limity
float
Domyślniefloat
PoledimensionsTypintegerWymaganieNieobsługiwaneWartości i limity
Minimum: 1
Domyślnie—
PoleuserTypjson_valueWymaganieOpcjonalneWartości i limity
Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu.
Domyślnie—
Polesession_idTypjson_valueWymaganieOpcjonalneWartości i limity
Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu.
Domyślnie—
PoletraceTypjson_valueWymaganieOpcjonalneWartości i limity
Warunki: Źródło dopuszcza to pole metadanych JSON; dokładna semantyka po stronie dostawcy zależy od modelu.
Domyślnie—
PoleproviderTypobjectWymaganieOpcjonalneWartości i limity
Warunki: Odrzucono provider.options
Domyślnie—
Kombinacje materiałów wejściowych

text_to_embedding

Parametry i cykl życia metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, input
Parametrinput_shapesKontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]
Parametrencoding_formatKontraktfloat
Parametrdimensions_overrideKontraktfalse
Parametrmax_input_budget_unitsKontrakt32000
Parametrmultimodal_objectsKontraktfalse
Parametrmaterial_typesKontrakttext, 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

KonfiguracjaTabela stawekOpłata
KonfiguracjaPodstawowe stawki za tokenyTabela stawekStawka podstawowaOpł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 →

Przykładowe żądania

Ailoot Ultra · Reprezentacje wektorowe

curlPython SDK
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)

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
PoleTyp
PoleobjectTypstring
PolemodelTypstring
Poledata[].indexTypinteger
Poledata[].embeddingTypfinite float[]
PoleusageTypobject
Błędy i dalsze kroki
OdpowiedźWarunekNastępny krok
Odpowiedź400 · invalid_request_errorWarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametruNastępny krokPopraw wskazane pola przed nowym żądaniem utworzenia.

Aliasy

Aliasy modelu

Ailoot Ultra voyageai/voyage-code-4

Aliasy ścieżek metod

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

Powiązane ID modeli

voyageai/voyage-code-4

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

Więcej szczegółów

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ę · Sprawdź ceny modeli

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ą · Oferta i umowa licencyjna