VoyageAI by MongoDB: voyage-4
voyage-4 codifica testo per il recupero generalista e multilingue, con uno spazio vettoriale condiviso nella famiglia Voyage 4. Supporta input di 32.000 token, output selezionabili da 256 a 2048 dimensioni e ruoli query/document per ricerca e RAG.
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-4 è il modello di embedding testuale di dimensione intermedia di Voyage AI nella famiglia Voyage 4. Converte il testo di query e documenti in vettori numerici per il recupero generalista e multilingue. La capacità distintiva della famiglia è uno spazio di embedding condiviso: voyage-4, voyage-4-large, voyage-4-lite e voyage-4-nano producono rappresentazioni compatibili, permettendo ai lati query e documento di un’attività di ricerca di usare modelli diversi di quella famiglia.
Spazio condiviso e recupero asimmetrico
Il produttore chiama recupero asimmetrico l’uso di modelli diversi per query e corpus. Uno schema documentato consiste nel preparare il corpus con voyage-4-large e cercarvi usando embedding di query voyage-4. Il corpus viene codificato una volta o quando il materiale di origine cambia, mentre i vettori di query vengono creati all’arrivo delle ricerche. Lo spazio condiviso permette di cambiare il modello del lato query all’interno della famiglia senza dover ricodificare il corpus soltanto per quel passaggio.
Mantieni compatibili la dimensione di output e la rappresentazione tra i vettori confrontati. La dichiarazione sullo spazio condiviso riguarda i modelli testuali denominati Voyage 4; non è stabilita semplicemente dal fatto che due modelli non correlati restituiscono array della stessa lunghezza. Un’attività concreta può quindi usare voyage-4 su entrambi i lati della ricerca oppure usare i suoi vettori di query con un indice documentale voyage-4-large esistente quando le impostazioni di rappresentazione corrispondono.
Ruoli di query e documento
Per il recupero, Voyage raccomanda di identificare il testo di input come query o documento. L’opzione di ruolo dell’input fornisce l’istruzione di recupero corrispondente prima della vettorizzazione. Prepara i passaggi del corpus come documenti e la formulazione di ricerca dell’utente come query, conservando il testo effettivo della fonte e gli identificatori accanto a ogni vettore memorizzato.
Per esempio, una raccolta di ricerca di conoscenze può indicizzare istruzioni tecniche e spiegazioni di prodotto. Una query su che cosa accade dopo un’importazione fallita dovrebbe restituire il passaggio di origine che descrive quel comportamento. Conserva titoli, condizioni pertinenti e posizione nella fonte insieme al passaggio, affinché il risultato di ricerca possa essere esaminato o usato da una successiva fase di risposta RAG. L’embedding è la rappresentazione numerica di recupero; il passaggio sottostante è l’evidenza usata in quella fase successiva.
Dimensioni e tipi di dati di output
La finestra di contesto documentata per testo è di 32.000 token. Le dimensioni selezionabili sono 256, 512, 1024 e 2048, con 1024 come valore predefinito. L’apprendimento Matryoshka fornisce queste dimensioni di rappresentazione annidate. L’output può usare virgola mobile a 32 bit, interi a 8 bit con o senza segno oppure valori binari compattati, resi possibili dalla preparazione della famiglia che tiene conto della quantizzazione.
Con output binario compattato, ogni byte restituito memorizza otto bit di embedding, quindi la lunghezza dell’elenco di byte è un ottavo della dimensione selezionata. Il numero di byte e la dimensione dell’embedding hanno significati differenti. Scegli la rappresentazione che il tuo indice di ricerca può interpretare ed esamina la pertinenza dei candidati sulle domande e lingue effettivamente usate dalla raccolta prima di scegliere una configurazione compressa.
Lunghezza dell’input, batch e troncamento
La guida attuale di embedding testuale del produttore permette fino a 1000 stringhe e 320.000 token totali in una richiesta voyage-4. Il budget batch è distinto dalla finestra di 32.000 token per ogni input. Il troncamento è attivo per impostazione predefinita: il testo troppo lungo viene accorciato per rientrare. Se il troncamento è disabilitato, un elemento troppo lungo produce invece un errore.
Per un rapporto o una trascrizione lunghi, prepara intenzionalmente passaggi contenenti risposte anziché affidarti a un taglio al confine dell’input. Mantieni ogni passaggio collegato al documento principale e alla versione della fonte. Gli input ordinari di embedding voyage-4 sono testi individuali; l’elaborazione contestualizzata di gruppi di segmenti appartiene ai modelli di embedding contestuale documentati separatamente.
Usare il risultato di recupero
Memorizza i vettori insieme al testo dei passaggi e a identificatori stabili delle fonti, confronta ogni vettore di query con i vettori documentali compatibili e restituisci passaggi candidati. La release della famiglia valuta il recupero su materiale che include documenti tecnici, conversazioni, documenti lunghi, codice, diritto, finanza e testo web. Un reranker separato può affinare i candidati e una fase di risposta successiva può usarne il testo. Valuta i passaggi restituiti rispetto all’attività; la compatibilità dello spazio condiviso rende possibile la combinazione di modelli, mentre l’utilità di un risultato dipende comunque dal materiale di origine e dalla domanda.
Ailoot Ultra · Embedding POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4Introduzione
voyage-4 codifica testo per il recupero generalista e multilingue, con uno spazio vettoriale condiviso nella famiglia Voyage 4. Supporta input di 32.000 token, output selezionabili da 256 a 2048 dimensioni e ruoli query/document per ricerca e RAG.
- 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-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.00012 / 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-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-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-4
Alias dei percorsi dei metodi
Usa i percorsi dei metodi indicati sopra.
ID di chiamata correlati
FAQ · VoyageAI by MongoDB: voyage-4
- Quali input e risultati sono disponibili?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- Quali campi usa la richiesta?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- Quali limiti si applicano?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(byte UTF8);input.min_items:1