{
  "aboutHtml": "<p>multi-qa-mpnet-base-dot-v1 è un modello di Sentence Transformers progettato per recuperare passaggi testuali per una domanda o una query. Il suo addestramento ha usato circa 215 milioni di coppie domanda–risposta. Ogni input diventa un vettore denso a 768 dimensioni, con pooling CLS e punteggio tramite prodotto scalare che definiscono questa esatta edizione.</p><h4>Preparare una domanda e passaggi candidati</h4><p>Scrivi la query come bisogno informativo e prepara le voci del corpus come passaggi testuali leggibili. Per esempio, una domanda sulla modifica di un indirizzo di consegna può essere confrontata con paragrafi separati su cambi di indirizzo, annullamento dell’ordine e tracciamento della consegna. Mantieni le condizioni pertinenti nel passaggio sul cambio di indirizzo, compreso il fatto che l’ordine sia già stato spedito o meno.</p><p>Codifica query e passaggi con questo stesso modello. L’esempio pubblicato lo fa direttamente, senza un prefisso di query o documento, e ordina i passaggi secondo i punteggi del prodotto scalare. Mantieni ogni vettore collegato al passaggio originale e all’identificatore del documento, affinché il risultato ordinato possa mostrare il materiale effettivamente indicizzato.</p><h4>Pooling CLS e l’edizione a prodotto scalare</h4><p>La ricetta di riferimento del modello prende la rappresentazione del primo token, nota come pooling CLS. La sua tabella tecnica afferma esplicitamente che gli embedding non sono normalizzati e indica il prodotto scalare come funzione di punteggio adatta. Preserva quella ricetta quando imposti la raccolta e il lato delle query.</p><p>La normalizzazione L2 di questi vettori ne cambia la geometria dei punteggi. Il profilo normalizzato all-mpnet-base-v2 usa una ricetta diversa ed è un checkpoint separato, nonostante condivida la famiglia MPNet e un output a 768 componenti. Mantieni l’edizione esatta e la funzione di confronto insieme alla raccolta memorizzata, anziché sceglierle soltanto dalla lunghezza dei vettori.</p><h4>Limite di lunghezza e passaggi più lunghi</h4><p>Il limite di input dichiarato è di 512 unità subword; il testo più lungo viene troncato. Il produttore osserva inoltre che gli input di addestramento raggiungevano soltanto 250 unità subword e che il testo più lungo può funzionare meno bene. La lunghezza accettata dal tokenizer e l’avvertenza sulla lunghezza di addestramento descrivono quindi confini pratici differenti.</p><p>Per un articolo di aiuto esteso, prepara sezioni brevi che rispondano a domande specifiche. Conserva un titolo quando identifica l’argomento e mantieni una regola con l’eccezione necessaria per leggerla correttamente. Un unico input di pagina intera può perdere materiale successivo per troncamento, mentre un frammento troppo piccolo può perdere la condizione che lo rende utile.</p><h4>Usare l’ordinamento nel recupero e nel RAG</h4><p>I vettori densi supportano una prima fase di recupero. Restituisci i passaggi candidati con i punteggi più alti insieme ai riferimenti alle fonti, quindi esamina se affrontano la domanda effettiva. In un flusso RAG, fornisci quei passaggi come materiale di origine alla fase di scrittura della risposta; il recupero stesso non compone la risposta.</p><p>Usa domande rappresentative con passaggi pertinenti noti per scegliere il numero di risultati e valutare l’ordinamento. Includi esempi con vocabolario simile ma intento diverso, come modificare un indirizzo rispetto a visualizzare quello attuale. Interpreta i punteggi relativamente ai candidati sotto lo stesso modello e la stessa configurazione di punteggio, anziché come probabilità calibrate di correttezza.</p><p>L’output utile di questo checkpoint è uno spazio di embedding per domande e passaggi destinato alla ricerca semantica. Vettori non normalizzati, pooling CLS, punteggio a prodotto scalare e l’avvertenza pubblicata sugli input lunghi sono i dettagli da preservare quando si preparano e si usano i risultati.</p>",
  "aboutText": "multi-qa-mpnet-base-dot-v1 è un modello di Sentence Transformers progettato per recuperare passaggi testuali per una domanda o una query. Il suo addestramento ha usato circa 215 milioni di coppie domanda–risposta. Ogni input diventa un vettore denso a 768 dimensioni, con pooling CLS e punteggio tramite prodotto scalare che definiscono questa esatta edizione.\n\n### Preparare una domanda e passaggi candidati\n\nScrivi la query come bisogno informativo e prepara le voci del corpus come passaggi testuali leggibili. Per esempio, una domanda sulla modifica di un indirizzo di consegna può essere confrontata con paragrafi separati su cambi di indirizzo, annullamento dell’ordine e tracciamento della consegna. Mantieni le condizioni pertinenti nel passaggio sul cambio di indirizzo, compreso il fatto che l’ordine sia già stato spedito o meno.\n\nCodifica query e passaggi con questo stesso modello. L’esempio pubblicato lo fa direttamente, senza un prefisso di query o documento, e ordina i passaggi secondo i punteggi del prodotto scalare. Mantieni ogni vettore collegato al passaggio originale e all’identificatore del documento, affinché il risultato ordinato possa mostrare il materiale effettivamente indicizzato.\n\n### Pooling CLS e l’edizione a prodotto scalare\n\nLa ricetta di riferimento del modello prende la rappresentazione del primo token, nota come pooling CLS. La sua tabella tecnica afferma esplicitamente che gli embedding non sono normalizzati e indica il prodotto scalare come funzione di punteggio adatta. Preserva quella ricetta quando imposti la raccolta e il lato delle query.\n\nLa normalizzazione L2 di questi vettori ne cambia la geometria dei punteggi. Il profilo normalizzato all-mpnet-base-v2 usa una ricetta diversa ed è un checkpoint separato, nonostante condivida la famiglia MPNet e un output a 768 componenti. Mantieni l’edizione esatta e la funzione di confronto insieme alla raccolta memorizzata, anziché sceglierle soltanto dalla lunghezza dei vettori.\n\n### Limite di lunghezza e passaggi più lunghi\n\nIl limite di input dichiarato è di 512 unità subword; il testo più lungo viene troncato. Il produttore osserva inoltre che gli input di addestramento raggiungevano soltanto 250 unità subword e che il testo più lungo può funzionare meno bene. La lunghezza accettata dal tokenizer e l’avvertenza sulla lunghezza di addestramento descrivono quindi confini pratici differenti.\n\nPer un articolo di aiuto esteso, prepara sezioni brevi che rispondano a domande specifiche. Conserva un titolo quando identifica l’argomento e mantieni una regola con l’eccezione necessaria per leggerla correttamente. Un unico input di pagina intera può perdere materiale successivo per troncamento, mentre un frammento troppo piccolo può perdere la condizione che lo rende utile.\n\n### Usare l’ordinamento nel recupero e nel RAG\n\nI vettori densi supportano una prima fase di recupero. Restituisci i passaggi candidati con i punteggi più alti insieme ai riferimenti alle fonti, quindi esamina se affrontano la domanda effettiva. In un flusso RAG, fornisci quei passaggi come materiale di origine alla fase di scrittura della risposta; il recupero stesso non compone la risposta.\n\nUsa domande rappresentative con passaggi pertinenti noti per scegliere il numero di risultati e valutare l’ordinamento. Includi esempi con vocabolario simile ma intento diverso, come modificare un indirizzo rispetto a visualizzare quello attuale. Interpreta i punteggi relativamente ai candidati sotto lo stesso modello e la stessa configurazione di punteggio, anziché come probabilità calibrate di correttezza.\n\nL’output utile di questo checkpoint è uno spazio di embedding per domande e passaggi destinato alla ricerca semantica. Vettori non normalizzati, pooling CLS, punteggio a prodotto scalare e l’avvertenza pubblicata sugli input lunghi sono i dettagli da preservare quando si preparano e si usano i risultati.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2cac36ae4d60c514b0efa5536af294057f1a06461e0c5d5c56352875da193815",
    "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\">Sentence Transformers: multi-qa-mpnet-base-dot-v1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Chiudi\">×</button></div><div class=\"idline\"><span>Sentence Transformers /</span><code>sentence-transformers/multi-qa-mpnet-base-dot-v1</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|sentence-transformers%2Fmulti-qa-mpnet-base-dot-v1\">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\">Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica domande e passaggi in vettori a 768 dimensioni per la ricerca semantica. Usa pooling CLS ed embedding non normalizzati progettati per punteggi tramite prodotto scalare, con un limite di input di 512 unità subword.</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>multi-qa-mpnet-base-dot-v1 è un modello di Sentence Transformers progettato per recuperare passaggi testuali per una domanda o una query. Il suo addestramento ha usato circa 215 milioni di coppie domanda–risposta. Ogni input diventa un vettore denso a 768 dimensioni, con pooling CLS e punteggio tramite prodotto scalare che definiscono questa esatta edizione.</p><h4>Preparare una domanda e passaggi candidati</h4><p>Scrivi la query come bisogno informativo e prepara le voci del corpus come passaggi testuali leggibili. Per esempio, una domanda sulla modifica di un indirizzo di consegna può essere confrontata con paragrafi separati su cambi di indirizzo, annullamento dell’ordine e tracciamento della consegna. Mantieni le condizioni pertinenti nel passaggio sul cambio di indirizzo, compreso il fatto che l’ordine sia già stato spedito o meno.</p><p>Codifica query e passaggi con questo stesso modello. L’esempio pubblicato lo fa direttamente, senza un prefisso di query o documento, e ordina i passaggi secondo i punteggi del prodotto scalare. Mantieni ogni vettore collegato al passaggio originale e all’identificatore del documento, affinché il risultato ordinato possa mostrare il materiale effettivamente indicizzato.</p><h4>Pooling CLS e l’edizione a prodotto scalare</h4><p>La ricetta di riferimento del modello prende la rappresentazione del primo token, nota come pooling CLS. La sua tabella tecnica afferma esplicitamente che gli embedding non sono normalizzati e indica il prodotto scalare come funzione di punteggio adatta. Preserva quella ricetta quando imposti la raccolta e il lato delle query.</p><p>La normalizzazione L2 di questi vettori ne cambia la geometria dei punteggi. Il profilo normalizzato all-mpnet-base-v2 usa una ricetta diversa ed è un checkpoint separato, nonostante condivida la famiglia MPNet e un output a 768 componenti. Mantieni l’edizione esatta e la funzione di confronto insieme alla raccolta memorizzata, anziché sceglierle soltanto dalla lunghezza dei vettori.</p><h4>Limite di lunghezza e passaggi più lunghi</h4><p>Il limite di input dichiarato è di 512 unità subword; il testo più lungo viene troncato. Il produttore osserva inoltre che gli input di addestramento raggiungevano soltanto 250 unità subword e che il testo più lungo può funzionare meno bene. La lunghezza accettata dal tokenizer e l’avvertenza sulla lunghezza di addestramento descrivono quindi confini pratici differenti.</p><p>Per un articolo di aiuto esteso, prepara sezioni brevi che rispondano a domande specifiche. Conserva un titolo quando identifica l’argomento e mantieni una regola con l’eccezione necessaria per leggerla correttamente. Un unico input di pagina intera può perdere materiale successivo per troncamento, mentre un frammento troppo piccolo può perdere la condizione che lo rende utile.</p><h4>Usare l’ordinamento nel recupero e nel RAG</h4><p>I vettori densi supportano una prima fase di recupero. Restituisci i passaggi candidati con i punteggi più alti insieme ai riferimenti alle fonti, quindi esamina se affrontano la domanda effettiva. In un flusso RAG, fornisci quei passaggi come materiale di origine alla fase di scrittura della risposta; il recupero stesso non compone la risposta.</p><p>Usa domande rappresentative con passaggi pertinenti noti per scegliere il numero di risultati e valutare l’ordinamento. Includi esempi con vocabolario simile ma intento diverso, come modificare un indirizzo rispetto a visualizzare quello attuale. Interpreta i punteggi relativamente ai candidati sotto lo stesso modello e la stessa configurazione di punteggio, anziché come probabilità calibrate di correttezza.</p><p>L’output utile di questo checkpoint è uno spazio di embedding per domande e passaggi destinato alla ricerca semantica. Vettori non normalizzati, pooling CLS, punteggio a prodotto scalare e l’avvertenza pubblicata sugli input lunghi sono i dettagli da preservare quando si preparano e si usano i risultati.</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>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>sentence-transformers/multi-qa-mpnet-base-dot-v1</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: 512 · 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>512</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>Non specificato <span class=\"note-s\">Quando è selezionata la modalità rapida</span></dd><dt>Modalità flex</dt><dd>Non specificato <span class=\"note-s\">Quando è selezionata la modalità flex</span></dd><dt>Sforzo massimo di ragionamento</dt><dd>Non specificato <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.00001</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-2599-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2599-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-2599-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2599-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-2599-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2599-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;sentence-transformers/multi-qa-mpnet-base-dot-v1&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-2599-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2599-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;sentence-transformers/multi-qa-mpnet-base-dot-v1&#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=sentence-transformers%2Fmulti-qa-mpnet-base-dot-v1&amp;route=Ultra&amp;caller=sentence-transformers%2Fmulti-qa-mpnet-base-dot-v1&amp;fmt=embeddings\"><code>sentence-transformers/multi-qa-mpnet-base-dot-v1</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=sentence-transformers%2Fmulti-qa-mpnet-base-dot-v1&amp;route=Ultra&amp;caller=sentence-transformers%2Fmulti-qa-mpnet-base-dot-v1&amp;fmt=embeddings\"><code>sentence-transformers/multi-qa-mpnet-base-dot-v1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|sentence-transformers%2Fmulti-qa-mpnet-base-dot-v1",
      "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": [
                  "sentence-transformers/multi-qa-mpnet-base-dot-v1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 512,
                  "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": 512,
            "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": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tariffe di base dei token",
            "units": [
              {
                "amount": "0.00001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000001",
                "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\": \"sentence-transformers/multi-qa-mpnet-base-dot-v1\", \"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='sentence-transformers/multi-qa-mpnet-base-dot-v1',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": null,
        "flex_multiplier": null,
        "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.01,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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.00001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000001",
                "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": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000001",
            "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": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "ddee16a00ab3579135512e6056b094628d4b1f2bbc5fb7d43abfb6a555ebe938",
    "input_html_sha256": "67e9161fe443a5ce2db9b20a29e65e0f7410a79ff3683a901d110210941993a2",
    "private_audit_sha256": "f281d44bb52de63a38bb8e6f9e2a74868e1d213509ff217e5db118bbe799685d",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/it/sentence-transformers-multi-qa-mpnet-base-dot-v1/",
    "description": "Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica domande e passaggi in vettori a 768 dimensioni per la ricerca semantica. Usa pooling CLS ed embedding non normalizzati progettati per punteggi tramite prodotto scalare, con un limite di input di 512 unità subword.",
    "locale": "it",
    "md_url": "https://ailoot.ai/models/it/sentence-transformers-multi-qa-mpnet-base-dot-v1/index.md",
    "title": "Sentence Transformers: multi-qa-mpnet-base-dot-v1 — Ailoot",
    "url": "https://ailoot.ai/models/it/sentence-transformers-multi-qa-mpnet-base-dot-v1/"
  },
  "rawModel": {
    "about": "multi-qa-mpnet-base-dot-v1 è un modello di Sentence Transformers progettato per recuperare passaggi testuali per una domanda o una query. Il suo addestramento ha usato circa 215 milioni di coppie domanda–risposta. Ogni input diventa un vettore denso a 768 dimensioni, con pooling CLS e punteggio tramite prodotto scalare che definiscono questa esatta edizione.\n\n### Preparare una domanda e passaggi candidati\n\nScrivi la query come bisogno informativo e prepara le voci del corpus come passaggi testuali leggibili. Per esempio, una domanda sulla modifica di un indirizzo di consegna può essere confrontata con paragrafi separati su cambi di indirizzo, annullamento dell’ordine e tracciamento della consegna. Mantieni le condizioni pertinenti nel passaggio sul cambio di indirizzo, compreso il fatto che l’ordine sia già stato spedito o meno.\n\nCodifica query e passaggi con questo stesso modello. L’esempio pubblicato lo fa direttamente, senza un prefisso di query o documento, e ordina i passaggi secondo i punteggi del prodotto scalare. Mantieni ogni vettore collegato al passaggio originale e all’identificatore del documento, affinché il risultato ordinato possa mostrare il materiale effettivamente indicizzato.\n\n### Pooling CLS e l’edizione a prodotto scalare\n\nLa ricetta di riferimento del modello prende la rappresentazione del primo token, nota come pooling CLS. La sua tabella tecnica afferma esplicitamente che gli embedding non sono normalizzati e indica il prodotto scalare come funzione di punteggio adatta. Preserva quella ricetta quando imposti la raccolta e il lato delle query.\n\nLa normalizzazione L2 di questi vettori ne cambia la geometria dei punteggi. Il profilo normalizzato all-mpnet-base-v2 usa una ricetta diversa ed è un checkpoint separato, nonostante condivida la famiglia MPNet e un output a 768 componenti. Mantieni l’edizione esatta e la funzione di confronto insieme alla raccolta memorizzata, anziché sceglierle soltanto dalla lunghezza dei vettori.\n\n### Limite di lunghezza e passaggi più lunghi\n\nIl limite di input dichiarato è di 512 unità subword; il testo più lungo viene troncato. Il produttore osserva inoltre che gli input di addestramento raggiungevano soltanto 250 unità subword e che il testo più lungo può funzionare meno bene. La lunghezza accettata dal tokenizer e l’avvertenza sulla lunghezza di addestramento descrivono quindi confini pratici differenti.\n\nPer un articolo di aiuto esteso, prepara sezioni brevi che rispondano a domande specifiche. Conserva un titolo quando identifica l’argomento e mantieni una regola con l’eccezione necessaria per leggerla correttamente. Un unico input di pagina intera può perdere materiale successivo per troncamento, mentre un frammento troppo piccolo può perdere la condizione che lo rende utile.\n\n### Usare l’ordinamento nel recupero e nel RAG\n\nI vettori densi supportano una prima fase di recupero. Restituisci i passaggi candidati con i punteggi più alti insieme ai riferimenti alle fonti, quindi esamina se affrontano la domanda effettiva. In un flusso RAG, fornisci quei passaggi come materiale di origine alla fase di scrittura della risposta; il recupero stesso non compone la risposta.\n\nUsa domande rappresentative con passaggi pertinenti noti per scegliere il numero di risultati e valutare l’ordinamento. Includi esempi con vocabolario simile ma intento diverso, come modificare un indirizzo rispetto a visualizzare quello attuale. Interpreta i punteggi relativamente ai candidati sotto lo stesso modello e la stessa configurazione di punteggio, anziché come probabilità calibrate di correttezza.\n\nL’output utile di questo checkpoint è uno spazio di embedding per domande e passaggi destinato alla ricerca semantica. Vettori non normalizzati, pooling CLS, punteggio a prodotto scalare e l’avvertenza pubblicata sugli input lunghi sono i dettagli da preservare quando si preparano e si usano i risultati.",
    "alias_of": null,
    "aliases": [],
    "author": "Sentence Transformers",
    "available": null,
    "canonical_model": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
    "capabilities": {
      "context_length": 512,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000001",
            "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": null,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
    "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": [
                  "sentence-transformers/multi-qa-mpnet-base-dot-v1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 512,
                  "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": 512,
            "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": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tariffe di base dei token",
            "units": [
              {
                "amount": "0.00001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000001",
                "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\": \"sentence-transformers/multi-qa-mpnet-base-dot-v1\", \"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='sentence-transformers/multi-qa-mpnet-base-dot-v1',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": null,
        "flex_multiplier": null,
        "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.01,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "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.00001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000001",
                "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": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000001",
            "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": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
        "request_model_id": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
        "route_label": "Ultra"
      }
    ],
    "name": "Sentence Transformers: multi-qa-mpnet-base-dot-v1",
    "price": {
      "in": 0.01,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.01,
      "sort_out": 0,
      "varies": false
    },
    "public_id": "sentence-transformers/multi-qa-mpnet-base-dot-v1",
    "short": "Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica domande e passaggi in vettori a 768 dimensioni per la ricerca semantica. Usa pooling CLS ed embedding non normalizzati progettati per punteggi tramite prodotto scalare, con un limite di input di 512 unità subword."
  },
  "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": "Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica domande e passaggi in vettori a 768 dimensioni per la ricerca semantica. Usa pooling CLS ed embedding non normalizzati progettati per punteggi tramite prodotto scalare, con un limite di input di 512 unità subword.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "8a75b7dce8e167e20f9793bc04fa2ea15b1f776b468f3cf613887cb78ed69f5e",
    "renderer_sha256": "3be1a96012c3c76b38a7b9bea6a57c0def38c56103737bee6a5e77aaa75e488a"
  },
  "sourceRevision": "9dd03d5b0023d8e8a5a14588d73e7e89e03150c5f68888726365742f98d9756a"
}
