VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 je embeddingový model pro kód, který hledá relevantní zdrojový kód podle otázek, popisů problémů a cílů programovacích agentů. Podporuje vstupy o délce 32 000 tokenů a 256, 512, 1024 nebo 2048 rozměrů s reprezentacemi s plovoucí řádovou čárkou i kvantovanými reprezentacemi.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
voyage-code-4 je embeddingový model společnosti Voyage AI specializovaný na kód, určený pro vyhledávání v repozitářích a vyhledávání podkladů pro programovací agenty. Pomáhá najít relevantní zdrojový kód, když je výchozím bodem otázka, příznak nebo popis úkolu, nikoli známý identifikátor. Reprezentuje kód a textové informace jako číselné vektory pro vyhledávání; neupravuje repozitář ani negeneruje opravu.
Vyhledávání kódu podle zkoumaného problému
Výrobce popisuje trénovací korpus sestavený z dokončených pull requestů, který propojuje dotazy v přirozeném jazyce s kódem. Jde o významný rozdíl oproti trénovacím příkladům založeným především na zdrojových souborech a jejich dokumentačních řetězcích: úloha vyhledávání může začít chováním, které je třeba prozkoumat.
Připravte dotaz například „Najděte, kde prázdný výsledek způsobí, že je úspěšná operace hlášena jako selhání“. Indexujte čitelné oddíly zdrojového kódu s cestami k souborům a příslušnými komentáři. Zachovejte podmínky kolem funkce, pokud vysvětlují její chování. Vrácený kandidát by měl čtenáře nebo agenta vést zpět k oddílu zdrojového kódu, který reprezentuje.
Sémantické vyhledávání může doplňovat vyhledávání přesných identifikátorů a plnotextové vyhledávání. Je-li název funkce již znám, přesné vyhledání zůstává užitečné. Je-li znám pouze příznak, vektorové vyhledávání může poskytnout kandidáty ke kontrole a zpřesnění dalším dotazem.
Role dotazu a dokumentu
Pokyny Voyage k vyhledávání rozlišují dotaz a dokument korpusu pomocí vstupních typů query/document. Pro hledání kódu použijte popis problému nebo úkolu jako dotaz a indexovaný zdrojový kód nebo dokumentaci jako dokument. Publikovaný postup přidává při vytváření embeddingů pokyny pro vyhledávání podle konkrétní role.
Původní formátování kódu, názvy a příslušnou dokumentaci uchovávejte dostupné mimo vektor. U oddílu zdrojového kódu zachovejte cestu k souboru a umístění; u programovací příručky zachovejte nadpis. Po vyhledání prohlédněte skutečný kód a místa, která jej volají, než zvolíte úpravu. Relevance kandidáta nedokládá, že je jedinou příčinou hlášeného problému.
Volby kontextu a reprezentace
Publikovaná délka kontextu tohoto konkrétního modelu je 32 000 tokenů. Výchozí embedding má 1024 rozměrů; díky učení Matryoshka jsou podporovány také rozměry 256, 512 a 2048. Oznámení dokumentuje 32bitové reprezentace s plovoucí řádovou čárkou, 8bitové celočíselné reprezentace se znaménkem i bez znaménka a binární reprezentace.
Pro kolekci zvolte jediný rozměr a reprezentaci a uchovávejte je v jejích metadatech. Vektory s plovoucí řádovou čárkou a kvantované reprezentace vyžadují odpovídající zpracování při ukládání a porovnávání. Binární reprezentace kóduje informace vektoru jinak než seznam běžných souřadnic s plovoucí řádovou čárkou; při přípravě výsledků pro vyhledávání toto rozlišení zachovejte.
U dlouhého souboru volte souvislé oddíly, jejichž umístění ve zdroji lze dohledat. Funkce může k vysvětlení podmínky potřebovat sousední definici typu nebo komentář, zatímco celý příliš velký soubor může obsahovat nesouvisející materiál. Oddíl přizpůsobte úkolu, podle kterého se bude hledat, místo abyste maximální kontext považovali za preferovanou velikost úseku.
Použití nalezeného zdroje jako důkazu
Praktický postup programovacího agenta vyhledává kandidátní zdrojový kód, čte příslušné soubory, sleduje relevantní odkazy a s postupem zkoumání zužuje hledání. Nalezený text se stává kontextem pro fázi uvažování nebo úprav. Zachovejte jeho propojení s indexovanou revizí repozitáře, aby se kandidát kontroloval vůči správnému zdroji.
Přínosem specifickým pro edici voyage-code-4 je zaměření na krok vyhledání kódu podle problému, který používají programovací agenti, společně s flexibilními rozměry a reprezentacemi. Výstupem je vektor pro vyhledávání, zatímco diagnostika, úpravy a ověřování zůstávají samostatnými úkoly založenými na skutečném repozitáři.
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Úvod
Voyage AI voyage-code-4 je embeddingový model pro kód, který hledá relevantní zdrojový kód podle otázek, popisů problémů a cílů programovacích agentů. Podporuje vstupy o délce 32 000 tokenů a 256, 512, 1024 nebo 2048 rozměrů s reprezentacemi s plovoucí řádovou čárkou i kvantovanými reprezentacemi.
- Přijímané vstupy
- Text · token_ids
- Výsledky
- embedding
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings
- Vstup
text,token_ids- Výstup
embedding- Kontext
- 32 000 tokens
- Výstupní formát
- json
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity voyageai/voyage-code-4 | Výchozí— |
Poleinput | Typstring|string[]|integer[]|integer[][] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 Podmínky: Neprázdná homogenní dávka. ID tokenů jsou nezáporná celá čísla. Rozpočet vstupu: Maximum: 32 000 · Jednotka textu: bajty UTF8 · Jednotka tokenů: prvky pole tokenů | Výchozí— |
Poleencoding_format | Typstring | PožadavekVolitelné | Hodnoty a limity float | Výchozífloat |
Poledimensions | Typinteger | PožadavekNepodporováno | Hodnoty a limity Minimum: 1 | Výchozí— |
Poleuser | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Polesession_id | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poletrace | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poleprovider | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: Parametr provider.options byl odmítnut | Výchozí— |
Kombinace vstupních materiálů
text_to_embedding
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input |
Parametrinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrencoding_format | Kontraktfloat |
Parametrdimensions_override | Kontraktfalse |
Parametrmax_input_budget_units | Kontrakt32000 |
Parametrmultimodal_objects | Kontraktfalse |
Parametrmaterial_types | Kontrakttext, token_ids |
Životní cyklus: synchronous_json
Uchovejte index i rozměr každého vektoru.
Multimodální název modelu neznamená, že tato konkrétní cesta přijímá obrazové objekty.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Standardní sazba Při výběru rychlého režimu
- Režim flex
- Standardní sazba Při výběru režimu flex
- Maximální intenzita uvažování
- Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.00024 / 1K tokenů Výstup · Výstupní tokeny $0 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Vektorové reprezentace
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)
Přijímání a ukládání výsledků
Ailoot Ultra · Vektorové reprezentace
json
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Uchovejte každý vektor spolu s jeho indexem. Počet vektorů musí odpovídat počtu vstupů; jejich rozměr musí být jednotný.
Pokud je nutné ověřit původní odpověď
Samostatný endpoint úloh pro embeddingy se nezavádí.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra voyageai/voyage-code-4
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · VoyageAI by MongoDB: voyage-code-4
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- Jaká pole požadavek používá?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- Jaké limity platí?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(bajty UTF8);input.min_items:1