VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 er en kodeembeddingmodel til at finde relevant kildekode ud fra spørgsmål, problembeskrivelser og kodeagenters mål. Den understøtter input på 32.000 tokens og 256, 512, 1024 eller 2048 dimensioner med repræsentationer i flydende tal og kvantiseret form.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
voyage-code-4 er Voyage AI’s kodespecialiserede embeddingmodel til søgning i kodelagre og genfinding til kodeagenter. Den er designet til at hjælpe med at finde relevant kildekode, når udgangspunktet er et spørgsmål, et symptom eller en opgavebeskrivelse frem for en kendt identifikator. Den repræsenterer kode og tekstlig information som numeriske vektorer til genfinding; den redigerer ikke kodelageret og genererer ikke en rettelse.
Genfind kode ud fra det problem, der undersøges
Producenten beskriver et træningskorpus udvalgt fra afsluttede pull requests, som forbinder forespørgsler i naturligt sprog med kode. Det er en meningsfuld forskel fra træningseksempler, der hovedsageligt bygger på kildefiler og deres docstrings: Genfindingsopgaven kan begynde med den adfærd, der skal undersøges.
Forbered en forespørgsel såsom »Find det sted, hvor et tomt resultat får en vellykket operation til at blive rapporteret som en fejl.« Indeksér læsbare kildekodeafsnit med deres filstier og relevante kommentarer. Bevar funktionens omgivende betingelser, når de forklarer dens adfærd. En returneret kandidat bør føre læseren eller agenten tilbage til det kildekodeafsnit, den repræsenterer.
Semantisk genfinding kan supplere præcis identifikatorsøgning og fuldtekstsøgning. Hvis funktionsnavnet allerede er kendt, er et præcist opslag fortsat nyttigt. Hvis kun et symptom er kendt, kan vektorsøgning give kandidater, som undersøges, og søgningen forfines med endnu en forespørgsel.
Query- og document-roller
Voyages genfindingsvejledning adskiller forespørgslen fra korpusdokumentet gennem inputtyperne query/document. Ved kodesøgning bruges problem- eller opgavebeskrivelsen som query og den indekserede kildekode eller dokumentation som document. Den offentliggjorte opskrift tilføjer rollespecifikke genfindingsinstruktioner under embedding.
Hold kodens oprindelige formatering, navne og relevante dokumentation tilgængelig uden for vektoren. Ved et kildekodeafsnit skal filstien og placeringen bevares; ved en programmeringsvejledning skal overskriften bevares. Undersøg den faktiske kode og dens kaldere efter genfinding, før en ændring vælges. En kandidats relevans fastslår ikke, at den er den eneste årsag til et rapporteret problem.
Kontekst- og repræsentationsvalg
Den præcise models offentliggjorte kontekstlængde er 32.000 tokens. Dens standardembedding har 1024 dimensioner, og 256, 512 og 2048 dimensioner understøttes også gennem Matryoshka-læring. Annonceringen dokumenterer repræsentationer med 32-bit-flydende tal, 8-bit-heltal med og uden fortegn samt binære repræsentationer.
Vælg én dimension og repræsentation til samlingen, og gem dem sammen med metadataene. Vektorer med flydende tal og kvantiserede repræsentationer kræver den tilsvarende lagrings- og sammenligningshåndtering. En binær repræsentation koder vektorinformation anderledes end en liste af almindelige koordinater med flydende tal; bevar forskellen, når resultater forberedes til søgning.
Ved en lang fil skal du vælge sammenhængende afsnit, hvis kildeplaceringer kan genfindes. En funktion kan have brug for en tilstødende typedefinition eller kommentar til at forklare en betingelse, mens en hel, for stor fil kan indeholde uvedkommende materiale. Hold afsnittet afstemt med den opgave, der skal søges efter, frem for at behandle maksimal kontekst som en foretrukken stykkestørrelse.
Brug genfundet kildekode som evidens
En praktisk kodeagentarbejdsgang genfinder kandidatkode, læser filerne, følger relevante henvisninger og indsnævrer søgningen, efterhånden som undersøgelsen skrider frem. Den genfundne tekst bliver kontekst til ræsonnements- eller redigeringstrinnet. Bevar tilknytningen til den indekserede kodelagerrevision, så en kandidat undersøges ud fra den korrekte kildekode.
voyage-code-4’s udgavespecifikke bidrag er fokus på kodeagenters trin fra problem til kodegenfinding sammen med fleksible dimensioner og repræsentationer. Outputtet er en genfindingsvektor, mens diagnose, redigering og validering fortsat er separate opgaver forankret i det faktiske kodelager.
Ailoot Ultra · Embeddings POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Start
Voyage AI voyage-code-4 er en kodeembeddingmodel til at finde relevant kildekode ud fra spørgsmål, problembeskrivelser og kodeagenters mål. Den understøtter input på 32.000 tokens og 256, 512, 1024 eller 2048 dimensioner med repræsentationer i flydende tal og kvantiseret form.
- Accepterede input
- Tekst · token_ids
- Resultater
- embedding
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Embeddings POST /v1/embeddings
- Inputtyper
text,token_ids- Outputtyper
embedding- Kontekst
- 32.000 tokens
- Outputformat
- json
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser voyageai/voyage-code-4 | Standard— |
Feltinput | Typestring|string[]|integer[]|integer[][] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 Betingelser: Ikke-tom batch med ensartede elementer. Token-ID’er er ikke-negative heltal. Inputbudget: Maksimum: 32.000 · Tekstenhed: UTF8-bytes · Tokenenhed: elementer i et tokenarray | Standard— |
Feltencoding_format | Typestring | KravValgfrit | Værdier og grænser float | Standardfloat |
Feltdimensions | Typeinteger | KravIkke understøttet | Værdier og grænser Minimum: 1 | Standard— |
Feltuser | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Feltsession_id | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Felttrace | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Feltprovider | Typeobject | KravValgfrit | Værdier og grænser Betingelser: provider.options afvist | Standard— |
Kombinationer af inputmaterialer
text_to_embedding
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, input |
Parameterinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Kontraktfloat |
Parameterdimensions_override | Kontraktfalse |
Parametermax_input_budget_units | Kontrakt32000 |
Parametermultimodal_objects | Kontraktfalse |
Parametermaterial_types | Kontrakttext, token_ids |
Livscyklus: synchronous_json
Gem hver vektors indeks og dimension.
Et multimodalt modelnavn giver ikke adgang til at bruge billedobjekter på denne præcise sti.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Standardpris Når hurtig tilstand er valgt
- flex-tilstand
- Standardpris Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Standardpris Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
| Konfiguration | Takstplan | Beløb |
|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens $0.00024 / 1K tokens Output · Outputtokens $0 / 1K tokens Input · Cachelæsning — / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
Ailoot Ultra · Embeddings
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)
Hent og gem resultater
Ailoot Ultra · Embeddings
json
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Gem hver vektor med dens indeks. Antallet af vektorer skal svare til antallet af input; dimensionerne skal være ensartede.
Hvis det oprindelige svar skal kontrolleres
Der indføres intet endpoint til embedding-job.
Svarfelter
| Felt | Type |
|---|---|
Feltobject | Typestring |
Feltmodel | Typestring |
Feltdata[].index | Typeinteger |
Feltdata[].embedding | Typefinite float[] |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra voyageai/voyage-code-4
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · VoyageAI by MongoDB: voyage-code-4
- Hvilke input og resultater er tilgængelige?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- Hvilke felter bruger anmodningen?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- Hvilke grænser gælder?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(UTF8-bytes);input.min_items:1