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

# VoyageAI by MongoDB: voyage-code-4

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

## [VoyageAI by MongoDB: voyage-code-4](https://ailoot.ai/models/da/voyageai-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.

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

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-4`](https://ailoot.ai/models/da/#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 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 |
| --- | --- | --- | --- | --- |
| Felt`model` | Type`string` | KravPåkrævet | Værdier og grænser voyageai/voyage-code-4 | Standard— |
| Felt`input` | Type`string\|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— |
| Felt`encoding_format` | Type`string` | KravValgfrit | Værdier og grænser float | Standardfloat |
| Felt`dimensions` | Type`integer` | KravIkke understøttet | Værdier og grænser Minimum: 1 | Standard— |
| Felt`user` | Type`json_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— |
| Felt`session_id` | Type`json_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— |
| Felt`trace` | Type`json_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— |
| Felt`provider` | Type`object` | KravValgfrit | Værdier og grænser Betingelser: provider.options afvist | Standard— |

Kombinationer af inputmaterialer

**text\_to\_embedding**

Metodeparametre og livscyklus

| Parameter | Kontrakt |
| --- | --- |
| Parameter`content_type` | Kontraktapplication/json |
| Parameter`required` | Kontraktmodel, input |
| Parameter`input_shapes` | Kontraktstring, string\[\], nonnegative\_integer\_token\_array, nonnegative\_integer\_token\_array\[\] |
| Parameter`encoding_format` | Kontraktfloat |
| Parameter`dimensions_override` | Kontraktfalse |
| Parameter`max_input_budget_units` | Kontrakt32000 |
| Parameter`multimodal_objects` | Kontraktfalse |
| Parameter`material_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 →](https://ailoot.ai/docs/da/billing/reserve/)

### Eksempelanmodninger

#### Ailoot Ultra · Embeddings

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

### 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 |
| --- | --- |
| Felt`object` | Typestring |
| Felt`model` | Typestring |
| Felt`data[].index` | Typeinteger |
| Felt`data[].embedding` | Typefinite float\[\] |
| Felt`usage` | 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`](https://ailoot.ai/models/da/#m=voyageai%2Fvoyage-code-4&route=Ultra&caller=voyageai%2Fvoyage-code-4&fmt=embeddings)

#### Aliaser for metodestier

Brug metodestierne vist ovenfor.

#### Relaterede kalder-ID’er

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

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`

Tilslut Ailoot til Claude Code, OpenCode, Hermes eller din egen applikation.

## Virksomheden og dens projektportefølje

Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.

## Køb tokens med rabat.

Abonnementsrabat til regelmæssigt arbejde. Rabatkoder giver op til 50% på tokenkøb.

Abonnement

Vælg et abonnement med rabat til dine regelmæssige anmodninger.

Rabatkode på op til 50%

Indtast koden ved købet. Prisen genberegnes efter den aktuelle kampagne.

Udgifter i historikken

Model, tokens og beløb gemmes for hver anmodning.

[Vælg abonnement](https://ailoot.ai/docs/da/billing/subscriptions/) · [Se modelpriser](https://ailoot.ai/models/da/)

## Tilslut API’et til produktet, du sælger.

SaaS, apps og bots efter Ailoots tilbudsvilkår og licensaftale. Anmod om en forhandlerlicens til videresalg.

Kommerciel applikation

Byg generering af tekst, billeder, video og lyd ind i tjenestens betalte funktioner.

Licens til forhandlere

Send projektbeskrivelse og adgangsmodel. Bed om skriftlige vilkår for anvendelse og videresalg.

Dokumenter på websitet

Tilbudsvilkår, licensaftale og politik for behandling af data kan læses før tilslutning.

[Anmod om forhandlerlicens](mailto:support@ailoot.ai) · [Tilbudsvilkår og licensaftale](https://ailoot.ai/legal/offer?lang=da)

## Ailoot · Virksomheden og dens projektportefølje





Ailoot bygger på solid driftserfaring, en stor kundebase, stabil service og løbende kontrol af KPI.





Virksomheden og dens projektportefølje: millioner af kunder; månedligt salg for milliarder.





Ailoot bruger denne driftserfaring til API-adgang til AI-funktioner i kundernes produkter, agenter, applikationer og automatiseringer.
