VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 er en kodeembeddingmodell for å finne relevant kildekode fra spørsmål, problembeskrivelser og kodeagenters mål. Den støtter inndata på 32 000 tokener og 256, 512, 1024 eller 2048 dimensjoner, med flyttalls- og kvantiserte representasjoner.
Om modellen
Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.
voyage-code-4 er Voyage AIs kodespesialiserte embeddingmodell for søk i kodelagre og gjenfinning til kodeagenter. Den er utviklet for å hjelpe med å finne relevant kildekode når utgangspunktet er et spørsmål, et symptom eller en oppgavebeskrivelse fremfor en kjent identifikator. Den representerer kode og tekstlig informasjon som numeriske vektorer for gjenfinning; den redigerer ikke kodelageret eller genererer en rettelse.
Gjenfinn kode fra problemet som undersøkes
Produsenten beskriver et treningskorpus utvalgt fra ferdigbehandlede pull requests, som kobler forespørsler i naturlig språk til kode. Dette er en meningsfull forskjell fra treningseksempler som hovedsakelig bygger på kildefiler og docstrings: Gjenfinningsoppgaven kan starte med adferden som må undersøkes.
Forbered en forespørsel som «Finn hvor et tomt resultat gjør at en vellykket operasjon blir rapportert som mislykket.» Indekser lesbare kildekodeseksjoner med filstier og relevante kommentarer. Behold betingelsene rundt funksjonen når de forklarer adferden. En returnert kandidat bør føre leseren eller agenten tilbake til kildekodeseksjonen den representerer.
Semantisk gjenfinning kan utfylle eksakt identifikatorsøk og fulltekstsøk. Hvis et funksjonsnavn allerede er kjent, er et eksakt oppslag fortsatt nyttig. Hvis bare et symptom er kjent, kan vektorsøk gi kandidater som undersøkes, og søket kan forfines med en ny forespørsel.
Query- og document-roller
Voyages gjenfinningsveiledning skiller forespørselen fra korpusdokumentet gjennom inndatatypene query/document. For kodesøk bruker du problem- eller oppgavebeskrivelsen på forespørselssiden og den indekserte kildekoden eller dokumentasjonen på dokumentsiden. Den publiserte oppskriften legger til rollespesifikke gjenfinningsinstruksjoner når embeddingvektoren beregnes.
Hold kodens originale formatering, navn og relevante dokumentasjon tilgjengelig utenfor vektoren. For en kildekodeseksjon beholder du filstien og plasseringen; for en programmeringsveiledning beholder du overskriften. Undersøk den faktiske koden og koden som kaller den etter gjenfinning, før en endring velges. En kandidats relevans fastslår ikke at den er eneste årsak til et rapportert problem.
Kontekst- og representasjonsvalg
Den nøyaktige modellens publiserte kontekstlengde er 32 000 tokener. Standardembeddingvektoren har 1024 dimensjoner, med 256, 512 og 2048 også støttet gjennom Matryoshka-læring. Kunngjøringen dokumenterer representasjoner med 32-biters flyttall, 8-biters heltall med og uten fortegn samt binærrepresentasjoner.
Velg én dimensjon og representasjon for samlingen og behold dem i metadataene. Flyttallsvektorer og kvantiserte representasjoner krever tilsvarende lagrings- og sammenligningshåndtering. En binærrepresentasjon koder vektorinformasjon annerledes enn en liste med vanlige flyttallskoordinater; bevar dette skillet når resultater forberedes for søk.
For en lang fil velger du sammenhengende seksjoner der kildeplasseringene kan gjenfinnes. En funksjon kan trenge en tilstøtende typedefinisjon eller kommentar for å forklare en betingelse, mens en hel for stor fil kan inneholde uvedkommende materiale. Hold seksjonen tilpasset oppgaven som skal søkes etter, fremfor å behandle maksimal kontekst som en foretrukket stykkestørrelse.
Bruk gjenfunnet kildekode som evidens
En praktisk kodeagentarbeidsflyt gjenfinner kandidatkode, leser filene, følger relevante henvisninger og snevrer inn søket etter hvert som undersøkelsen går fremover. Den gjenfunne teksten blir kontekst for resonnerings- eller redigeringstrinnet. Hold koblingen til den indekserte kodelagerrevisjonen, slik at en kandidat undersøkes mot riktig kildekode.
Det utgavespesifikke bidraget fra voyage-code-4 er fokuset på gjenfinningstrinnet fra problem til kode som kodeagenter bruker, sammen med fleksible dimensjoner og representasjoner. Resultatet er en gjenfinningsvektor, mens diagnose, redigering og validering fortsatt er separate oppgaver forankret i det faktiske kodelageret.
Ailoot Ultra · Vektorrepresentasjoner POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Start
Voyage AI voyage-code-4 er en kodeembeddingmodell for å finne relevant kildekode fra spørsmål, problembeskrivelser og kodeagenters mål. Den støtter inndata på 32 000 tokener og 256, 512, 1024 eller 2048 dimensjoner, med flyttalls- og kvantiserte representasjoner.
- Godkjente inndata
- Tekst · token_ids
- Resultater
- embedding
Tilgjengelig i Ailoot · inndata & metoder
Ailoot Ultra · Vektorrepresentasjoner POST /v1/embeddings
- Inndatatyper
text,token_ids- Utdatatyper
embedding- Kontekst
- 32 000 tokens
- Utdataformat
- json
| Felt | Type | Krav | Verdier & grenser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrevd | Verdier & grenser voyageai/voyage-code-4 | Standard— |
Feltinput | Typestring|string[]|integer[]|integer[][] | KravPåkrevd | Verdier & grenser Minste antall elementer: 1 Vilkår: Ikke-tom batch med ensartede elementer. Token-ID-er er ikke-negative heltall. Inndatabudsjett: Maksimum: 32 000 · Tekstenhet: UTF8-byte · Tokenenhet: elementer i token-arrayet | Standard— |
Feltencoding_format | Typestring | KravValgfritt | Verdier & grenser float | Standardfloat |
Feltdimensions | Typeinteger | KravStøttes ikke | Verdier & grenser Minimum: 1 | Standard— |
Feltuser | Typejson_value | KravValgfritt | Verdier & grenser Vilkår: Kilden tillater dette JSON-metadatafeltet; den nøyaktige semantikken hos den underliggende leverandøren er modellavhengig. | Standard— |
Feltsession_id | Typejson_value | KravValgfritt | Verdier & grenser Vilkår: Kilden tillater dette JSON-metadatafeltet; den nøyaktige semantikken hos den underliggende leverandøren er modellavhengig. | Standard— |
Felttrace | Typejson_value | KravValgfritt | Verdier & grenser Vilkår: Kilden tillater dette JSON-metadatafeltet; den nøyaktige semantikken hos den underliggende leverandøren er modellavhengig. | Standard— |
Feltprovider | Typeobject | KravValgfritt | Verdier & grenser Vilkår: provider.options avvises | Standard— |
Kombinasjoner av inngående materialer
text_to_embedding
Metodeparametere og livssyklus
| Parameter | Avtale |
|---|---|
Parametercontent_type | Avtaleapplication/json |
Parameterrequired | Avtalemodel, input |
Parameterinput_shapes | Avtalestring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Avtalefloat |
Parameterdimensions_override | Avtalefalse |
Parametermax_input_budget_units | Avtale32000 |
Parametermultimodal_objects | Avtalefalse |
Parametermaterial_types | Avtaletext, token_ids |
Livssyklus: synchronous_json
Bevar hver vektors indeks og dimensjon.
Et multimodalt modellnavn innebærer ikke at bildeobjekter er tillatt på denne nøyaktige stien.
Priser
Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.
- Hurtigmodus
- Standardpris Når hurtigmodus er valgt
- Flex-modus
- Standardpris Når flex-modus er valgt
- Maksimal resonneringsinnsats
- Standardpris Når justeringen «default» brukes for maksimal resonneringsinnsats
Ailoot-satser
Priser etter konfigurasjon
| Konfigurasjon | Prisplan | Kostnad |
|---|---|---|
| KonfigurasjonGrunnpriser for tokener | PrisplanGrunnsats | Kostnad Inndata · Inngående tokener $0.00024 / 1K tokener Utdata · Utgående tokener $0 / 1K tokener Inndata · Lesing fra hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer — / 1K tokener Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener |
Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →
Eksempelforespørsler
Ailoot Ultra · Vektorrepresentasjoner
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)
Motta og lagre resultater
Ailoot Ultra · Vektorrepresentasjoner
json
Behold alle ferdige resultater
Behold alle fullstendige returnerte svar, filer og innholdsdeler.
Bevar hver vektor sammen med indeksen. Antall vektorer må være lik antall inndata; dimensjonene må være konsistente.
Hvis det opprinnelige svaret må kontrolleres
Det innføres ikke noe endepunkt for embedding-jobber.
Svarfelter
| Felt | Type |
|---|---|
Feltobject | Typestring |
Feltmodel | Typestring |
Feltdata[].index | Typeinteger |
Feltdata[].embedding | Typefinite float[] |
Feltusage | Typeobject |
Feil og neste trinn
| Svar | Vilkår | Neste trinn |
|---|---|---|
Svar400 · invalid_request_error | VilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdi | Neste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel. |
Aliaser
Modellaliaser
Ailoot Ultra voyageai/voyage-code-4
Aliaser for metodestier
Bruk metodestiene som vises ovenfor.
Tilknyttede anroper-ID-er
FAQ · VoyageAI by MongoDB: voyage-code-4
- Hvilke inndata og resultater er tilgjengelige?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- Hvilke felt bruker forespørselen?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- Hvilke grenser gjelder?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(UTF8-byte);input.min_items:1