VoyageAI by MongoDB: voyage-code-4
Voyage AI voyage-code-4 è un modello di embedding del codice per trovare sorgenti pertinenti a partire da domande, descrizioni di problemi e obiettivi di agenti di programmazione. Supporta input di 32.000 token e 256, 512, 1024 o 2048 dimensioni, con rappresentazioni a virgola mobile e quantizzate.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
voyage-code-4 è il modello di embedding specializzato nel codice di Voyage AI per la ricerca nei repository e il recupero di informazioni per gli agenti di programmazione. È progettato per aiutare a trovare sorgenti pertinenti quando il punto di partenza è una domanda, un sintomo o una descrizione dell’attività anziché un identificatore noto. Rappresenta codice e informazioni testuali come vettori numerici per il recupero; non modifica il repository e non genera una correzione.
Recuperare codice a partire dal problema esaminato
Il produttore descrive un corpus di addestramento selezionato da pull request completate, che collega query in linguaggio naturale e codice. È una distinzione significativa rispetto a esempi di addestramento costruiti principalmente attorno a file sorgenti e relative docstring: l’attività di recupero può partire dal comportamento da indagare.
Prepara una query come «Trova dove un risultato vuoto fa segnalare come fallita un’operazione riuscita». Indicizza sezioni sorgenti leggibili con percorsi di file e commenti pertinenti. Mantieni le condizioni che circondano la funzione quando ne spiegano il comportamento. Un candidato restituito dovrebbe riportare il lettore o l’agente alla sezione sorgente che rappresenta.
Il recupero semantico può affiancare la ricerca esatta di identificatori e quella a testo integrale. Se il nome di una funzione è già noto, una ricerca esatta rimane utile. Se è noto soltanto un sintomo, la ricerca vettoriale può fornire candidati da esaminare e affinare con un’altra query.
Ruoli di query e documento
Le indicazioni di recupero di Voyage distinguono la query dal documento del corpus attraverso i tipi di input query/document. Per la ricerca nel codice, usa la descrizione del problema o dell’attività come query e il sorgente o la documentazione indicizzati come documento. La ricetta pubblicata aggiunge istruzioni di recupero specifiche del ruolo durante la codifica.
Mantieni disponibili al di fuori del vettore la formattazione originale del codice, i nomi e la documentazione pertinente. Per una sezione sorgente, conserva il percorso del file e la posizione; per una guida di programmazione, conserva il titolo. Dopo il recupero, esamina il codice effettivo e i suoi chiamanti prima di scegliere una modifica. La pertinenza di un candidato non stabilisce che sia l’unica causa di un problema segnalato.
Contesto e scelte di rappresentazione
La lunghezza di contesto pubblicata per il modello esatto è di 32.000 token. Il suo embedding predefinito ha 1024 dimensioni, con 256, 512 e 2048 dimensioni anch’esse supportate tramite apprendimento Matryoshka. L’annuncio documenta rappresentazioni a virgola mobile a 32 bit, interi a 8 bit con e senza segno e rappresentazioni binarie.
Seleziona una dimensione e una rappresentazione per la raccolta e mantienile con i metadati. I vettori a virgola mobile e le rappresentazioni quantizzate richiedono la gestione corrispondente di memorizzazione e confronto. Una rappresentazione binaria codifica l’informazione vettoriale diversamente da un elenco di normali coordinate a virgola mobile; preserva questa distinzione quando prepari i risultati per la ricerca.
Per un file lungo, scegli sezioni coerenti le cui posizioni sorgenti possano essere recuperate. Una funzione può richiedere una definizione di tipo o un commento adiacenti per spiegare una condizione, mentre un file intero eccessivamente grande può includere materiale non pertinente. Mantieni la sezione allineata all’attività da cercare anziché trattare il contesto massimo come dimensione preferita del segmento.
Usare il sorgente recuperato come evidenza
Un flusso concreto di agente di programmazione recupera sorgenti candidati, legge quei file, segue riferimenti pertinenti e restringe la ricerca con il progredire dell’indagine. Il testo recuperato diventa contesto per la fase di ragionamento o modifica. Mantieni la sua associazione con la revisione indicizzata del repository, affinché un candidato sia esaminato rispetto al sorgente corretto.
Il contributo specifico dell’edizione voyage-code-4 è l’attenzione al passaggio di recupero dal problema al codice usato dagli agenti di programmazione, insieme a dimensioni e rappresentazioni flessibili. Il suo output è un vettore di recupero, mentre diagnosi, modifica e validazione rimangono attività separate basate sul repository effettivo.
Ailoot Ultra · Embedding POST /v1/embeddings voyageai/voyage-code-4
voyageai/voyage-code-4Introduzione
Voyage AI voyage-code-4 è un modello di embedding del codice per trovare sorgenti pertinenti a partire da domande, descrizioni di problemi e obiettivi di agenti di programmazione. Supporta input di 32.000 token e 256, 512, 1024 o 2048 dimensioni, con rappresentazioni a virgola mobile e quantizzate.
- Input accettati
- Testo · token_ids
- Risultati
- embedding
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Embedding POST /v1/embeddings
- Tipi di input
text,token_ids- Tipi di output
embedding- Contesto
- 32.000 tokens
- Formato di output
- json
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti voyageai/voyage-code-4 | Predefinito— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObbligatorio | Valori e limiti Numero minimo di elementi: 1 Condizioni: Batch omogeneo non vuoto. Gli ID dei token sono numeri interi non negativi. Budget di input: Massimo: 32.000 · Unità di testo: byte UTF8 · Unità di token: elementi dell’array di token | Predefinito— |
Campoencoding_format | Tipostring | RequisitoFacoltativo | Valori e limiti float | Predefinitofloat |
Campodimensions | Tipointeger | RequisitoNon supportato | Valori e limiti Minimo: 1 | Predefinito— |
Campouser | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Camposession_id | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Campotrace | Tipojson_value | RequisitoFacoltativo | Valori e limiti Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello. | Predefinito— |
Campoprovider | Tipoobject | RequisitoFacoltativo | Valori e limiti Condizioni: provider.options rifiutato | Predefinito— |
Combinazioni di materiali in input
text_to_embedding
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, input |
Parametroinput_shapes | Contrattostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametroencoding_format | Contrattofloat |
Parametrodimensions_override | Contrattofalse |
Parametromax_input_budget_units | Contratto32000 |
Parametromultimodal_objects | Contrattofalse |
Parametromaterial_types | Contrattotext, token_ids |
Ciclo di vita: synchronous_json
Conserva l'indice e la dimensione di ogni vettore.
Il nome del modello multimodale non consente oggetti immagine su questo percorso specifico.
Tariffe
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Tariffa standard Quando è selezionata la modalità rapida
- Modalità flex
- Tariffa standard Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Tariffa standard Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe Ailoot
Prezzi per configurazione
| Configurazione | Listino delle tariffe | Costo |
|---|---|---|
| ConfigurazioneTariffe di base dei token | Listino delle tariffeTariffa base | Costo Input · Token in input $0.00024 / 1K token Output · Token in output $0 / 1K token Input · Lettura dalla cache — / 1K token Input · Scrittura nella cache — / 1K token Input · Scrittura nella cache, 1 ora — / 1K token |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Embedding
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)
Ricevi e salva i risultati
Ailoot Ultra · Embedding
json
Conserva tutti i risultati completati
Conserva ogni risposta, file e parte di contenuto restituiti per intero.
Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.
Se occorre verificare la risposta originale
Non viene introdotto alcun endpoint per i job di embedding.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validi | Passaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione. |
Alias
Alias del modello
Ailoot Ultra voyageai/voyage-code-4
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · VoyageAI by MongoDB: voyage-code-4
- Quali input e risultati sono disponibili?
POST /v1/embeddings·voyageai/voyage-code-4:text,token_ids→embedding- Quali campi usa la richiesta?
POST /v1/embeddings·voyageai/voyage-code-4:model,input,encoding_format,provider- Quali limiti si applicano?
POST /v1/embeddings·voyageai/voyage-code-4:ctx:32000;input.budget.maximum:32000(byte UTF8);input.min_items:1