{
  "aboutHtml": "<p>voyage-4-large è il modello di punta di embedding testuale di Voyage AI nella famiglia Voyage 4. Rappresenta passaggi di origine e query come vettori numerici per il recupero generalista e multilingue. Le due caratteristiche distintive sono una progettazione mixture-of-experts e lo spazio di embedding condiviso usato da voyage-4-large, voyage-4, voyage-4-lite e voyage-4-nano.</p><h4>Spazio condiviso: scelte separate per corpus e query</h4><p>Il produttore descrive il recupero asimmetrico: i documenti possono essere codificati con voyage-4-large mentre un altro modello della famiglia Voyage 4 prepara i vettori di query. Per esempio, un corpus rappresentato da Large può essere cercato con query voyage-4. Questo permette ai due lati della ricerca di scegliere modelli diversi restando nello spazio compatibile documentato.</p><p>Una raccolta concreta può quindi usare Large per preparare passaggi documentali stabili e scegliere indipendentemente il modello del lato query. I documenti vengono codificati quando il corpus viene creato o aggiornato, mentre le query vengono vettorizzate quando gli utenti cercano. L’annuncio della famiglia descrive il cambio del modello di query all’interno della famiglia compatibile senza rivettorizzare il corpus documentale soltanto per quel cambiamento. Mantieni i vettori confrontati a dimensioni corrispondenti e in rappresentazioni che il sistema di ricerca possa interpretare insieme.</p><h4>Progettazione dell’embedding mixture-of-experts</h4><p>Uno strato feed-forward denso elabora ogni token attraverso l’intero insieme dei propri parametri. L’approccio MoE descritto per voyage-4-large usa un router e reti feed-forward di esperti, selezionando gli esperti che elaborano ogni token. Ciò separa la capacità totale del modello dai parametri attivi per un token particolare. Voyage riporta un rapporto di attivazione di 1/10 per la progettazione MoE del modello, usando instradamento top-k.</p><p>La spiegazione tecnica del produttore descrive inoltre due scelte di sviluppo. La capacità degli esperti influisce sul fatto che token in eccesso saltino uno strato di esperti attraverso un percorso residuo; il team ha scelto il fattore di capacità massimo praticabile per evitare perdite nella qualità del recupero. Nella fase finale di addestramento, i parametri del router vengono congelati prima della fusione dei modelli, affinché l’interpolazione dei modelli di origine non modifichi l’instradamento appreso di selezione degli esperti. Sono caratteristiche della preparazione del modello, distinte dalle impostazioni di lunghezza del testo o troncamento usate quando si prepara un input.</p><h4>Dimensioni e rappresentazione dell’output</h4><p>La tabella ufficiale del modello specifica una finestra di contesto di 32.000 token ed embedding selezionabili a 256, 512, 1024 e 2048 dimensioni, con 1024 come valore predefinito. La famiglia usa apprendimento Matryoshka per dimensioni di rappresentazione annidate e supporta scelte di quantizzazione: virgola mobile a 32 bit, interi a 8 bit con o senza segno e output binario compattato.</p><p>Con output binario, la lunghezza dell’elenco di byte restituito è un ottavo della dimensione selezionata, perché ogni byte contiene otto bit di embedding. Preserva le scelte di dimensione e tipo di dati insieme all’indice e usa un metodo di confronto che supporti quella rappresentazione. Un vettore più piccolo o compresso cambia la rappresentazione usata per la ricerca; valuta i passaggi pertinenti restituiti su domande reali prima di sceglierlo per una raccolta.</p><h4>Preparare input di documenti e query</h4><p>Voyage raccomanda il ruolo document per i passaggi del corpus e il ruolo query per le formulazioni di ricerca. L’opzione di ruolo aggiunge l’istruzione di recupero corrispondente prima della codifica. Conserva il titolo utile del passaggio, le condizioni e la posizione nella fonte, poi memorizza il vettore restituito con il testo originale e un identificatore stabile.</p><p>Per una raccolta di conoscenze tecniche, una domanda su una modalità di guasto dovrebbe portare al passaggio che descrive quella modalità e le sue condizioni pertinenti. Per una raccolta documentale in più lingue, conserva la lingua di origine e valuta le domande e la terminologia con cui gli utenti cercheranno. La release copre materiale di recupero che include documenti tecnici, conversazioni, documenti lunghi, codice, diritto, finanza e testo web. L’embedding individua materiale candidato; un reranker o una fase di risposta successivi usano il testo originale.</p><h4>Limiti di contesto, batch e troncamento</h4><p>La guida attuale del produttore permette fino a 1000 stringhe e 120.000 token totali di input in una richiesta voyage-4-large. Questo differisce dal budget batch indicato per voyage-4, mentre entrambi hanno una finestra di 32.000 token per testo. Il troncamento predefinito accorcia un input troppo lungo per farlo rientrare; disabilitare il troncamento restituisce un errore per un testo troppo lungo.</p><p>Scegli intenzionalmente i confini dei passaggi contenenti risposte, affinché una fonte lunga non perda una precisazione pertinente nella parte finale troncata. Mantieni il collegamento alla fonte quando restituisci risultati di ricerca ed esamina il testo candidato effettivo anziché trattare la vicinanza vettoriale come verifica dei suoi contenuti. La compatibilità dello spazio condiviso si applica alla famiglia testuale Voyage 4 documentata; elaborazione di segmenti contestualizzata, embedding di immagini o video ed edizioni successive dei modelli rimangono flussi specifici di ciascun modello.</p>",
  "aboutText": "voyage-4-large è il modello di punta di embedding testuale di Voyage AI nella famiglia Voyage 4. Rappresenta passaggi di origine e query come vettori numerici per il recupero generalista e multilingue. Le due caratteristiche distintive sono una progettazione mixture-of-experts e lo spazio di embedding condiviso usato da voyage-4-large, voyage-4, voyage-4-lite e voyage-4-nano.\n\n### Spazio condiviso: scelte separate per corpus e query\n\nIl produttore descrive il recupero asimmetrico: i documenti possono essere codificati con voyage-4-large mentre un altro modello della famiglia Voyage 4 prepara i vettori di query. Per esempio, un corpus rappresentato da Large può essere cercato con query voyage-4. Questo permette ai due lati della ricerca di scegliere modelli diversi restando nello spazio compatibile documentato.\n\nUna raccolta concreta può quindi usare Large per preparare passaggi documentali stabili e scegliere indipendentemente il modello del lato query. I documenti vengono codificati quando il corpus viene creato o aggiornato, mentre le query vengono vettorizzate quando gli utenti cercano. L’annuncio della famiglia descrive il cambio del modello di query all’interno della famiglia compatibile senza rivettorizzare il corpus documentale soltanto per quel cambiamento. Mantieni i vettori confrontati a dimensioni corrispondenti e in rappresentazioni che il sistema di ricerca possa interpretare insieme.\n\n### Progettazione dell’embedding mixture-of-experts\n\nUno strato feed-forward denso elabora ogni token attraverso l’intero insieme dei propri parametri. L’approccio MoE descritto per voyage-4-large usa un router e reti feed-forward di esperti, selezionando gli esperti che elaborano ogni token. Ciò separa la capacità totale del modello dai parametri attivi per un token particolare. Voyage riporta un rapporto di attivazione di 1/10 per la progettazione MoE del modello, usando instradamento top-k.\n\nLa spiegazione tecnica del produttore descrive inoltre due scelte di sviluppo. La capacità degli esperti influisce sul fatto che token in eccesso saltino uno strato di esperti attraverso un percorso residuo; il team ha scelto il fattore di capacità massimo praticabile per evitare perdite nella qualità del recupero. Nella fase finale di addestramento, i parametri del router vengono congelati prima della fusione dei modelli, affinché l’interpolazione dei modelli di origine non modifichi l’instradamento appreso di selezione degli esperti. Sono caratteristiche della preparazione del modello, distinte dalle impostazioni di lunghezza del testo o troncamento usate quando si prepara un input.\n\n### Dimensioni e rappresentazione dell’output\n\nLa tabella ufficiale del modello specifica una finestra di contesto di 32.000 token ed embedding selezionabili a 256, 512, 1024 e 2048 dimensioni, con 1024 come valore predefinito. La famiglia usa apprendimento Matryoshka per dimensioni di rappresentazione annidate e supporta scelte di quantizzazione: virgola mobile a 32 bit, interi a 8 bit con o senza segno e output binario compattato.\n\nCon output binario, la lunghezza dell’elenco di byte restituito è un ottavo della dimensione selezionata, perché ogni byte contiene otto bit di embedding. Preserva le scelte di dimensione e tipo di dati insieme all’indice e usa un metodo di confronto che supporti quella rappresentazione. Un vettore più piccolo o compresso cambia la rappresentazione usata per la ricerca; valuta i passaggi pertinenti restituiti su domande reali prima di sceglierlo per una raccolta.\n\n### Preparare input di documenti e query\n\nVoyage raccomanda il ruolo document per i passaggi del corpus e il ruolo query per le formulazioni di ricerca. L’opzione di ruolo aggiunge l’istruzione di recupero corrispondente prima della codifica. Conserva il titolo utile del passaggio, le condizioni e la posizione nella fonte, poi memorizza il vettore restituito con il testo originale e un identificatore stabile.\n\nPer una raccolta di conoscenze tecniche, una domanda su una modalità di guasto dovrebbe portare al passaggio che descrive quella modalità e le sue condizioni pertinenti. Per una raccolta documentale in più lingue, conserva la lingua di origine e valuta le domande e la terminologia con cui gli utenti cercheranno. La release copre materiale di recupero che include documenti tecnici, conversazioni, documenti lunghi, codice, diritto, finanza e testo web. L’embedding individua materiale candidato; un reranker o una fase di risposta successivi usano il testo originale.\n\n### Limiti di contesto, batch e troncamento\n\nLa guida attuale del produttore permette fino a 1000 stringhe e 120.000 token totali di input in una richiesta voyage-4-large. Questo differisce dal budget batch indicato per voyage-4, mentre entrambi hanno una finestra di 32.000 token per testo. Il troncamento predefinito accorcia un input troppo lungo per farlo rientrare; disabilitare il troncamento restituisce un errore per un testo troppo lungo.\n\nScegli intenzionalmente i confini dei passaggi contenenti risposte, affinché una fonte lunga non perda una precisazione pertinente nella parte finale troncata. Mantieni il collegamento alla fonte quando restituisci risultati di ricerca ed esamina il testo candidato effettivo anziché trattare la vicinanza vettoriale come verifica dei suoi contenuti. La compatibilità dello spazio condiviso si applica alla famiglia testuale Voyage 4 documentata; elaborazione di segmenti contestualizzata, embedding di immagini o video ed edizioni successive dei modelli rimangono flussi specifici di ciascun modello.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c10b99643920f90128a0b777be32d14f4c1ad729c685d118206494134e4adac4",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "it",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">VoyageAI by MongoDB: voyage-4-large</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Chiudi\">×</button></div><div class=\"idline\"><span>VoyageAI by MongoDB /</span><code>voyageai/voyage-4-large</code><button type=\"button\" id=\"copy-id\">Copia ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sezioni della scheda del modello\"><button type=\"button\" data-card-jump=\"overview\">Introduzione</button><button type=\"button\" data-card-jump=\"methods\">Input e metodi</button><button type=\"button\" data-card-jump=\"pricing\">Tariffe</button><button type=\"button\" data-card-jump=\"examples\">Esempi</button><button type=\"button\" data-card-jump=\"results\">Risultati</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metodi API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|voyageai%2Fvoyage-4-large\">Embedding</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Introduzione</h3><p class=\"mdesc-full\">voyage-4-large è il modello di embedding testuale mixture-of-experts di Voyage AI per il recupero generalista e multilingue. I suoi vettori condividono lo spazio della famiglia Voyage 4, permettendo di cercare negli embedding di corpus di Large con embedding di query compatibili degli altri modelli della famiglia.</p><dl class=\"card-io\" data-card-io><div><dt>Input accettati</dt><dd>Testo · token_ids</dd></div><div><dt>Risultati</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Informazioni sul modello</summary><p class=\"note-s\" data-model-method-boundary>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.</p><div class=\"mabout\" id=\"m-about\"><p>voyage-4-large è il modello di punta di embedding testuale di Voyage AI nella famiglia Voyage 4. Rappresenta passaggi di origine e query come vettori numerici per il recupero generalista e multilingue. Le due caratteristiche distintive sono una progettazione mixture-of-experts e lo spazio di embedding condiviso usato da voyage-4-large, voyage-4, voyage-4-lite e voyage-4-nano.</p><h4>Spazio condiviso: scelte separate per corpus e query</h4><p>Il produttore descrive il recupero asimmetrico: i documenti possono essere codificati con voyage-4-large mentre un altro modello della famiglia Voyage 4 prepara i vettori di query. Per esempio, un corpus rappresentato da Large può essere cercato con query voyage-4. Questo permette ai due lati della ricerca di scegliere modelli diversi restando nello spazio compatibile documentato.</p><p>Una raccolta concreta può quindi usare Large per preparare passaggi documentali stabili e scegliere indipendentemente il modello del lato query. I documenti vengono codificati quando il corpus viene creato o aggiornato, mentre le query vengono vettorizzate quando gli utenti cercano. L’annuncio della famiglia descrive il cambio del modello di query all’interno della famiglia compatibile senza rivettorizzare il corpus documentale soltanto per quel cambiamento. Mantieni i vettori confrontati a dimensioni corrispondenti e in rappresentazioni che il sistema di ricerca possa interpretare insieme.</p><h4>Progettazione dell’embedding mixture-of-experts</h4><p>Uno strato feed-forward denso elabora ogni token attraverso l’intero insieme dei propri parametri. L’approccio MoE descritto per voyage-4-large usa un router e reti feed-forward di esperti, selezionando gli esperti che elaborano ogni token. Ciò separa la capacità totale del modello dai parametri attivi per un token particolare. Voyage riporta un rapporto di attivazione di 1/10 per la progettazione MoE del modello, usando instradamento top-k.</p><p>La spiegazione tecnica del produttore descrive inoltre due scelte di sviluppo. La capacità degli esperti influisce sul fatto che token in eccesso saltino uno strato di esperti attraverso un percorso residuo; il team ha scelto il fattore di capacità massimo praticabile per evitare perdite nella qualità del recupero. Nella fase finale di addestramento, i parametri del router vengono congelati prima della fusione dei modelli, affinché l’interpolazione dei modelli di origine non modifichi l’instradamento appreso di selezione degli esperti. Sono caratteristiche della preparazione del modello, distinte dalle impostazioni di lunghezza del testo o troncamento usate quando si prepara un input.</p><h4>Dimensioni e rappresentazione dell’output</h4><p>La tabella ufficiale del modello specifica una finestra di contesto di 32.000 token ed embedding selezionabili a 256, 512, 1024 e 2048 dimensioni, con 1024 come valore predefinito. La famiglia usa apprendimento Matryoshka per dimensioni di rappresentazione annidate e supporta scelte di quantizzazione: virgola mobile a 32 bit, interi a 8 bit con o senza segno e output binario compattato.</p><p>Con output binario, la lunghezza dell’elenco di byte restituito è un ottavo della dimensione selezionata, perché ogni byte contiene otto bit di embedding. Preserva le scelte di dimensione e tipo di dati insieme all’indice e usa un metodo di confronto che supporti quella rappresentazione. Un vettore più piccolo o compresso cambia la rappresentazione usata per la ricerca; valuta i passaggi pertinenti restituiti su domande reali prima di sceglierlo per una raccolta.</p><h4>Preparare input di documenti e query</h4><p>Voyage raccomanda il ruolo document per i passaggi del corpus e il ruolo query per le formulazioni di ricerca. L’opzione di ruolo aggiunge l’istruzione di recupero corrispondente prima della codifica. Conserva il titolo utile del passaggio, le condizioni e la posizione nella fonte, poi memorizza il vettore restituito con il testo originale e un identificatore stabile.</p><p>Per una raccolta di conoscenze tecniche, una domanda su una modalità di guasto dovrebbe portare al passaggio che descrive quella modalità e le sue condizioni pertinenti. Per una raccolta documentale in più lingue, conserva la lingua di origine e valuta le domande e la terminologia con cui gli utenti cercheranno. La release copre materiale di recupero che include documenti tecnici, conversazioni, documenti lunghi, codice, diritto, finanza e testo web. L’embedding individua materiale candidato; un reranker o una fase di risposta successivi usano il testo originale.</p><h4>Limiti di contesto, batch e troncamento</h4><p>La guida attuale del produttore permette fino a 1000 stringhe e 120.000 token totali di input in una richiesta voyage-4-large. Questo differisce dal budget batch indicato per voyage-4, mentre entrambi hanno una finestra di 32.000 token per testo. Il troncamento predefinito accorcia un input troppo lungo per farlo rientrare; disabilitare il troncamento restituisce un errore per un testo troppo lungo.</p><p>Scegli intenzionalmente i confini dei passaggi contenenti risposte, affinché una fonte lunga non perda una precisazione pertinente nella parte finale troncata. Mantieni il collegamento alla fonte quando restituisci risultati di ricerca ed esamina il testo candidato effettivo anziché trattare la vicinanza vettoriale come verifica dei suoi contenuti. La compatibilità dello spazio condiviso si applica alla famiglia testuale Voyage 4 documentata; elaborazione di segmenti contestualizzata, embedding di immagini o video ed edizioni successive dei modelli rimangono flussi specifici di ciascun modello.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponibile in Ailoot · input e metodi</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Embedding</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Tipi di input</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Tipi di output</dt><dd><code>embedding</code></dd></div><div><dt>Contesto</dt><dd>32.000 tokens</dd></div><div><dt>Formato di output</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valori e limiti</th><th>Predefinito</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>voyageai/voyage-4-large</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Numero minimo di elementi: 1</div><div>Condizioni: Batch omogeneo non vuoto. Gli ID dei token sono numeri interi non negativi.</div><div>Budget di input: Massimo: 32.000 · Unità di testo: byte UTF8 · Unità di token: elementi dell’array di token</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>float</div></td><td data-cell-label=\"Predefinito\" data-default=\"known\"><span class=\"card-cell-label\">Predefinito</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Non supportato</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Minimo: 1</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>json_value</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>json_value</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>json_value</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Condizioni: La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>object</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Facoltativo</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>Condizioni: provider.options rifiutato</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinazioni di materiali in input</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parametri e ciclo di vita del metodo</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametro</th><th>Contratto</th></tr></thead><tbody><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>content_type</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>application/json</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>required</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>model, input</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>input_shapes</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>encoding_format</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>float</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>dimensions_override</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>false</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>max_input_budget_units</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>32000</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>multimodal_objects</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>false</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>material_types</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>text, token_ids</td></tr></tbody></table></div><p>Ciclo di vita: <code>synchronous_json</code></p><p class=\"note-s\">Conserva l&#39;indice e la dimensione di ogni vettore.</p><p class=\"note-s\">Il nome del modello multimodale non consente oggetti immagine su questo percorso specifico.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tariffe</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.</p><dl data-price-conditions><dt>Modalità rapida</dt><dd>Tariffa standard <span class=\"note-s\">Quando è selezionata la modalità rapida</span></dd><dt>Modalità flex</dt><dd>Tariffa standard <span class=\"note-s\">Quando è selezionata la modalità flex</span></dd><dt>Sforzo massimo di ragionamento</dt><dd>Tariffa standard <span class=\"note-s\">Quando lo sforzo massimo di ragionamento usa l&#39;adeguamento predefinito (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tariffe Ailoot</h4><h4>Prezzi per configurazione</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configurazione</th><th>Listino delle tariffe</th><th>Costo</th></tr></thead><tbody><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Tariffe di base dei token</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>Tariffa base</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Input · Token in input</span> <b>$0.00024</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Output · Token in output</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Lettura dalla cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache, 1 ora</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">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. <a href=\"/docs/it/billing/reserve/\">Come funzionano la prenotazione e l’addebito finale →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esempi di richieste</h3><h4>Ailoot Ultra · Embedding</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianti di codice\"><button class=\"cg-tab\" id=\"model-code-2702-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2702-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-2702-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2702-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copia il codice\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2702-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2702-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;voyageai/voyage-4-large&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2702-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2702-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;voyageai/voyage-4-large&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Ricevi e salva i risultati</h3><h4>Ailoot Ultra · Embedding</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Conserva tutti i risultati completati</h5><p class=\"note-s\">Conserva ogni risposta, file e parte di contenuto restituiti per intero.</p><p class=\"note-s\">Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Se occorre verificare la risposta originale</h5><p class=\"note-s\">Non viene introdotto alcun endpoint per i job di embedding.</p></div><details class=\"card-about\" data-output-fields><summary>Campi della risposta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>finite float[]</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errori e passaggi successivi</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Risposta</th><th>Condizione</th><th>Passaggio successivo</th></tr></thead><tbody><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Campi obbligatori, rappresentazione del materiale o valore del parametro non validi</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Correggi i campi indicati prima di una nuova richiesta di creazione.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modello</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyageai%2Fvoyage-4-large&amp;route=Ultra&amp;caller=voyageai%2Fvoyage-4-large&amp;fmt=embeddings\"><code>voyageai/voyage-4-large</code></a></span></p><h4>Alias dei percorsi dei metodi</h4><p class=\"note-s\">Usa i percorsi dei metodi indicati sopra.</p><h4>ID di chiamata correlati</h4><p class=\"note-s\"><a href=\"#m=voyageai%2Fvoyage-4-large&amp;route=Ultra&amp;caller=voyageai%2Fvoyage-4-large&amp;fmt=embeddings\"><code>voyageai/voyage-4-large</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyageai/voyage-4-large",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyageai/voyage-4-large",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyageai%2Fvoyage-4-large",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Campi obbligatori, rappresentazione del materiale o valore del parametro non validi",
                "http_status": 400,
                "recovery": "Correggi i campi indicati prima di una nuova richiesta di creazione.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Non viene introdotto alcun endpoint per i job di embedding."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/voyage-4-large"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 32000,
                  "text_unit": "byte UTF8",
                  "token_unit": "elementi dell’array di token"
                },
                "conditions": "Batch omogeneo non vuoto. Gli ID dei token sono numeri interi non negativi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options rifiutato",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Conserva l'indice e la dimensione di ogni vettore.",
            "Il nome del modello multimodale non consente oggetti immagine su questo percorso specifico."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 32000,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 32000,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tariffe di base dei token",
            "units": [
              {
                "amount": "0.00024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000024",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"voyageai/voyage-4-large\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='voyageai/voyage-4-large',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.24,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Modalità rapida",
            "value": "Tariffa standard",
            "when": "Quando è selezionata la modalità rapida"
          },
          {
            "label": "Modalità flex",
            "value": "Tariffa standard",
            "when": "Quando è selezionata la modalità flex"
          },
          {
            "label": "Sforzo massimo di ragionamento",
            "value": "Tariffa standard",
            "when": "Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000024",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/voyage-4-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00024000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000024",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyageai/voyage-4-large",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6e1e8665ff33d67fd3c287d6a8285f4a5aacab1ff697f95b2d743dec741dc25a",
    "input_html_sha256": "70cc07064db715aac140c4ec5395f80ba1ea42df4d4e6dedf6f6173ad446d405",
    "private_audit_sha256": "0cf72311df46d497ff3608b6e645e32162bc996011bbf9d93aa9761481128c2c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/it/voyageai-voyage-4-large/",
    "description": "voyage-4-large è il modello di embedding testuale mixture-of-experts di Voyage AI per il recupero generalista e multilingue. I suoi vettori condividono lo spazio della famiglia Voyage 4, permettendo di cercare negli embedding di corpus di Large con embedding di query compatibili degli altri modelli della famiglia.",
    "locale": "it",
    "md_url": "https://ailoot.ai/models/it/voyageai-voyage-4-large/index.md",
    "title": "VoyageAI by MongoDB: voyage-4-large — Ailoot",
    "url": "https://ailoot.ai/models/it/voyageai-voyage-4-large/"
  },
  "rawModel": {
    "about": "voyage-4-large è il modello di punta di embedding testuale di Voyage AI nella famiglia Voyage 4. Rappresenta passaggi di origine e query come vettori numerici per il recupero generalista e multilingue. Le due caratteristiche distintive sono una progettazione mixture-of-experts e lo spazio di embedding condiviso usato da voyage-4-large, voyage-4, voyage-4-lite e voyage-4-nano.\n\n### Spazio condiviso: scelte separate per corpus e query\n\nIl produttore descrive il recupero asimmetrico: i documenti possono essere codificati con voyage-4-large mentre un altro modello della famiglia Voyage 4 prepara i vettori di query. Per esempio, un corpus rappresentato da Large può essere cercato con query voyage-4. Questo permette ai due lati della ricerca di scegliere modelli diversi restando nello spazio compatibile documentato.\n\nUna raccolta concreta può quindi usare Large per preparare passaggi documentali stabili e scegliere indipendentemente il modello del lato query. I documenti vengono codificati quando il corpus viene creato o aggiornato, mentre le query vengono vettorizzate quando gli utenti cercano. L’annuncio della famiglia descrive il cambio del modello di query all’interno della famiglia compatibile senza rivettorizzare il corpus documentale soltanto per quel cambiamento. Mantieni i vettori confrontati a dimensioni corrispondenti e in rappresentazioni che il sistema di ricerca possa interpretare insieme.\n\n### Progettazione dell’embedding mixture-of-experts\n\nUno strato feed-forward denso elabora ogni token attraverso l’intero insieme dei propri parametri. L’approccio MoE descritto per voyage-4-large usa un router e reti feed-forward di esperti, selezionando gli esperti che elaborano ogni token. Ciò separa la capacità totale del modello dai parametri attivi per un token particolare. Voyage riporta un rapporto di attivazione di 1/10 per la progettazione MoE del modello, usando instradamento top-k.\n\nLa spiegazione tecnica del produttore descrive inoltre due scelte di sviluppo. La capacità degli esperti influisce sul fatto che token in eccesso saltino uno strato di esperti attraverso un percorso residuo; il team ha scelto il fattore di capacità massimo praticabile per evitare perdite nella qualità del recupero. Nella fase finale di addestramento, i parametri del router vengono congelati prima della fusione dei modelli, affinché l’interpolazione dei modelli di origine non modifichi l’instradamento appreso di selezione degli esperti. Sono caratteristiche della preparazione del modello, distinte dalle impostazioni di lunghezza del testo o troncamento usate quando si prepara un input.\n\n### Dimensioni e rappresentazione dell’output\n\nLa tabella ufficiale del modello specifica una finestra di contesto di 32.000 token ed embedding selezionabili a 256, 512, 1024 e 2048 dimensioni, con 1024 come valore predefinito. La famiglia usa apprendimento Matryoshka per dimensioni di rappresentazione annidate e supporta scelte di quantizzazione: virgola mobile a 32 bit, interi a 8 bit con o senza segno e output binario compattato.\n\nCon output binario, la lunghezza dell’elenco di byte restituito è un ottavo della dimensione selezionata, perché ogni byte contiene otto bit di embedding. Preserva le scelte di dimensione e tipo di dati insieme all’indice e usa un metodo di confronto che supporti quella rappresentazione. Un vettore più piccolo o compresso cambia la rappresentazione usata per la ricerca; valuta i passaggi pertinenti restituiti su domande reali prima di sceglierlo per una raccolta.\n\n### Preparare input di documenti e query\n\nVoyage raccomanda il ruolo document per i passaggi del corpus e il ruolo query per le formulazioni di ricerca. L’opzione di ruolo aggiunge l’istruzione di recupero corrispondente prima della codifica. Conserva il titolo utile del passaggio, le condizioni e la posizione nella fonte, poi memorizza il vettore restituito con il testo originale e un identificatore stabile.\n\nPer una raccolta di conoscenze tecniche, una domanda su una modalità di guasto dovrebbe portare al passaggio che descrive quella modalità e le sue condizioni pertinenti. Per una raccolta documentale in più lingue, conserva la lingua di origine e valuta le domande e la terminologia con cui gli utenti cercheranno. La release copre materiale di recupero che include documenti tecnici, conversazioni, documenti lunghi, codice, diritto, finanza e testo web. L’embedding individua materiale candidato; un reranker o una fase di risposta successivi usano il testo originale.\n\n### Limiti di contesto, batch e troncamento\n\nLa guida attuale del produttore permette fino a 1000 stringhe e 120.000 token totali di input in una richiesta voyage-4-large. Questo differisce dal budget batch indicato per voyage-4, mentre entrambi hanno una finestra di 32.000 token per testo. Il troncamento predefinito accorcia un input troppo lungo per farlo rientrare; disabilitare il troncamento restituisce un errore per un testo troppo lungo.\n\nScegli intenzionalmente i confini dei passaggi contenenti risposte, affinché una fonte lunga non perda una precisazione pertinente nella parte finale troncata. Mantieni il collegamento alla fonte quando restituisci risultati di ricerca ed esamina il testo candidato effettivo anziché trattare la vicinanza vettoriale come verifica dei suoi contenuti. La compatibilità dello spazio condiviso si applica alla famiglia testuale Voyage 4 documentata; elaborazione di segmenti contestualizzata, embedding di immagini o video ed edizioni successive dei modelli rimangono flussi specifici di ciascun modello.",
    "alias_of": null,
    "aliases": [],
    "author": "VoyageAI by MongoDB",
    "available": null,
    "canonical_model": "voyageai/voyage-4-large",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00024000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000024",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Tutte le tariffe della configurazione sono riportate nei dettagli."
      }
    ],
    "ctx": 32000,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "voyageai/voyage-4-large",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Campi obbligatori, rappresentazione del materiale o valore del parametro non validi",
                "http_status": 400,
                "recovery": "Correggi i campi indicati prima di una nuova richiesta di creazione.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Non viene introdotto alcun endpoint per i job di embedding."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Conserva ogni vettore con il suo indice. Il numero di vettori deve coincidere con il numero di input; le dimensioni devono essere coerenti.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/voyage-4-large"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 32000,
                  "text_unit": "byte UTF8",
                  "token_unit": "elementi dell’array di token"
                },
                "conditions": "Batch omogeneo non vuoto. Gli ID dei token sono numeri interi non negativi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "La fonte consente questo campo di metadati JSON; la semantica esatta del fornitore a monte dipende dal modello.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options rifiutato",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Conserva l'indice e la dimensione di ogni vettore.",
            "Il nome del modello multimodale non consente oggetti immagine su questo percorso specifico."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 32000,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 32000,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tariffe di base dei token",
            "units": [
              {
                "amount": "0.00024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000024",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"voyageai/voyage-4-large\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='voyageai/voyage-4-large',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.24,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Modalità rapida",
            "value": "Tariffa standard",
            "when": "Quando è selezionata la modalità rapida"
          },
          {
            "label": "Modalità flex",
            "value": "Tariffa standard",
            "when": "Quando è selezionata la modalità flex"
          },
          {
            "label": "Sforzo massimo di ragionamento",
            "value": "Tariffa standard",
            "when": "Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00024000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000024",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/voyage-4-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00024000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000024",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyageai/voyage-4-large",
        "request_model_id": "voyageai/voyage-4-large",
        "route_label": "Ultra"
      }
    ],
    "name": "VoyageAI by MongoDB: voyage-4-large",
    "price": {
      "in": 0.24,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.24,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.00024000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000024",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "voyageai/voyage-4-large",
    "short": "voyage-4-large è il modello di embedding testuale mixture-of-experts di Voyage AI per il recupero generalista e multilingue. I suoi vettori condividono lo spazio della famiglia Voyage 4, permettendo di cercare negli embedding di corpus di Large con embedding di query compatibili degli altri modelli della famiglia."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "voyage-4-large è il modello di embedding testuale mixture-of-experts di Voyage AI per il recupero generalista e multilingue. I suoi vettori condividono lo spazio della famiglia Voyage 4, permettendo di cercare negli embedding di corpus di Large con embedding di query compatibili degli altri modelli della famiglia.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "58392e20812ff1f485d4b72ac49b06c065f126d76b69b9401329375f7623ec90",
    "renderer_sha256": "3be1a96012c3c76b38a7b9bea6a57c0def38c56103737bee6a5e77aaa75e488a"
  },
  "sourceRevision": "9b23abc07e0f3d86b317786336214963cafb7db7cab3f4adc87ae43da9e3cb54"
}
