{
  "aboutHtml": "<p>Voyage rerank-3 est un modèle de reclassement textuel conçu pour améliorer la qualité des éléments récupérés. À partir d’une requête et d’une liste de documents candidats, il examine conjointement chaque paire et retourne les candidats classés par pertinence. Les embeddings et la recherche par mots-clés peuvent d’abord réduire une grande collection à une présélection gérable ; rerank-3 applique ensuite une évaluation plus détaillée de la pertinence à cette présélection. Sa sortie est un ensemble d’éléments de recherche assortis de scores, que l’application peut afficher ou transmettre à une étape distincte de génération de réponse.</p><p>Rerank 3 centré sur la qualité Le fabricant présente rerank-3 comme l’édition centrée sur l’exactitude et rerank-3-lite comme l’édition destinée aux recherches sensibles à la latence. La troisième génération met à jour l’architecture principale et le mélange d’entraînement, avec des améliorations particulières de la récupération dans les documents longs et le code source par rapport aux prédécesseurs 2.5 correspondants. Le producteur l’évalue sur la documentation technique, le code, les contenus multilingues et d’autres domaines documentaires. Ces résultats étayent son rôle de récupération ; sélectionnez l’édition à partir des questions et des documents candidats importants pour votre propre collection.</p><p>Des documents longs avec suffisamment de contexte Un candidat long peut contenir un contexte utile bien au-delà de son premier paragraphe. Fournissez une section ou un document cohérent avec son titre et les éléments environnants pertinents, pour que le modèle puisse évaluer le lien entre la question réelle et le contenu. Pour une recherche de politique produit, conservez les titres et les exceptions autour du passage intéressant. Si plusieurs sections récupérées proviennent de la même source, conservez leurs identifiants de document et de section ; l’application peut ainsi montrer l’origine des éléments sélectionnés.</p><p>La fenêtre de contexte est partagée par la requête et chaque candidat. Le guide actuel du fabricant indique 32 000 tokens pour cette paire, dont une requête de 8 000 tokens au maximum. Une requête de 3 000 tokens laisse donc au plus 29 000 tokens pour chaque document. Préparez l’entrée pour que son contenu essentiel tienne dans cette limite, notamment lorsqu’un long préambule ou des passages standard répétés consommeraient sinon la fenêtre. L’option de troncature documentée est activée par défaut et peut raccourcir les requêtes ou les documents trop longs avant leur évaluation. Examinez ce qui est conservé lorsque l’emplacement des passages compte.</p><p>Récupération de code et d’informations techniques Pour l’étape de récupération d’un assistant de programmation, les candidats peuvent contenir des implémentations de fonctions, de la documentation API ou des explications techniques sous forme de texte. Incluez les symboles, les signatures et le contexte nécessaires pour distinguer des candidats similaires. Une requête telle que « Trouvez la fonction qui normalise les chemins tout en conservant un séparateur final » donne un comportement concret à rechercher. Ajoutez les contraintes pertinentes de langage, de plateforme ou de version. Après le classement, examinez le code sélectionné et ses dépendances avant de l’utiliser comme contexte ; un score de pertinence ne prouve pas qu’une implémentation satisfait à toutes les exigences énoncées.</p><p>Les consignes définissent la pertinence Le modèle conserve la capacité de reclassement suivant des instructions introduite dans Rerank 2.5. Ajoutez une consigne concise avant ou après la requête lorsque l’intention de l’utilisateur doit être précisée. Pour une recherche documentaire, expliquez si l’accent porte sur le titre, une méthode particulière ou un domaine d’application. Pour un catalogue interne, précisez si la demande concerne l’installation, le dépannage ou la compatibilité. Gardez cette consigne cohérente avec la question ; des préférences supplémentaires qui contredisent la demande principale peuvent changer ce que le classement cherche à optimiser.</p><p>Préparer les documents candidats et les budgets L’entrée est une liste de chaînes textuelles. Extrayez du texte exploitable des documents sources, préservez les limites de sections significatives et gardez une correspondance ordonnée des enregistrements avec la liste. Le fabricant autorise jusqu’à 1 000 documents dans une requête. Il fixe aussi un plafond global d’entrée de 600 000 tokens : les tokens de la requête multipliés par le nombre de documents, plus la somme des tokens de tous les documents. Cette limite diffère de celle du contexte par paire. Réduire le texte redondant de la requête peut préserver à la fois la capacité des paires et le budget global de la requête.</p><p>Comptez les tokens pour le modèle concerné au lieu de supposer qu’un nombre de mots ou de caractères est un nombre de tokens. Pour les grands candidats, sélectionnez des passages cohérents ou divisez le contenu selon des titres utiles tout en conservant les informations de la source parente. Le reclassement est surtout utile lorsque la recherche initiale a déjà fait apparaître des candidats plausibles : il ne peut pas classer une source manquante qui n’est jamais entrée dans la liste.</p><p>Résultats classés et utilisation en aval Le résultat contient des scores de pertinence et des indices renvoyant aux documents d’entrée d’origine, triés par pertinence décroissante. L’option top_k limite le nombre de résultats classés retournés ; sinon, tous les candidats d’entrée sont retournés. L’interface REST du fabricant permet aussi d’inclure le texte du document. Utilisez chaque indice d’origine pour retrouver le titre, l’identifiant de source et toute métadonnée nécessaire à l’application, puis présentez les éléments sélectionnés ou intégrez le texte pertinent au contexte probant d’une réponse.</p><p>Examinez les premiers résultats par rapport à la question et gardez l’identité des sources visible. Un rang relatif élevé ne vérifie pas l’exactitude factuelle d’un document, et une présélection ne contenant que de mauvais candidats aura quand même un premier élément. Distinguez la sélection par pertinence de la décision de savoir si les éléments sélectionnés suffisent à répondre à l’utilisateur.</p><p>Migration d’édition Le fabricant décrit rerank-3 comme un successeur directement substituable à rerank-2.5, avec la même sémantique API et des scores calibrés sur la distribution de son prédécesseur correspondant. Cette compatibilité permet de conserver une étape de récupération et une correspondance d’enregistrements existantes. Comparez les classements significatifs et tout seuil de score sur le corpus actuel avant de vous fier à la migration. Gardez rerank-3 et rerank-3-lite comme des choix distincts : des limites et un suivi d’instructions communs ne rendent pas identiques leurs priorités de qualité et de latence.</p>",
  "aboutText": "Voyage rerank-3 est un modèle de reclassement textuel conçu pour améliorer la qualité des éléments récupérés. À partir d’une requête et d’une liste de documents candidats, il examine conjointement chaque paire et retourne les candidats classés par pertinence. Les embeddings et la recherche par mots-clés peuvent d’abord réduire une grande collection à une présélection gérable ; rerank-3 applique ensuite une évaluation plus détaillée de la pertinence à cette présélection. Sa sortie est un ensemble d’éléments de recherche assortis de scores, que l’application peut afficher ou transmettre à une étape distincte de génération de réponse.\n\nRerank 3 centré sur la qualité\nLe fabricant présente rerank-3 comme l’édition centrée sur l’exactitude et rerank-3-lite comme l’édition destinée aux recherches sensibles à la latence. La troisième génération met à jour l’architecture principale et le mélange d’entraînement, avec des améliorations particulières de la récupération dans les documents longs et le code source par rapport aux prédécesseurs 2.5 correspondants. Le producteur l’évalue sur la documentation technique, le code, les contenus multilingues et d’autres domaines documentaires. Ces résultats étayent son rôle de récupération ; sélectionnez l’édition à partir des questions et des documents candidats importants pour votre propre collection.\n\nDes documents longs avec suffisamment de contexte\nUn candidat long peut contenir un contexte utile bien au-delà de son premier paragraphe. Fournissez une section ou un document cohérent avec son titre et les éléments environnants pertinents, pour que le modèle puisse évaluer le lien entre la question réelle et le contenu. Pour une recherche de politique produit, conservez les titres et les exceptions autour du passage intéressant. Si plusieurs sections récupérées proviennent de la même source, conservez leurs identifiants de document et de section ; l’application peut ainsi montrer l’origine des éléments sélectionnés.\n\nLa fenêtre de contexte est partagée par la requête et chaque candidat. Le guide actuel du fabricant indique 32 000 tokens pour cette paire, dont une requête de 8 000 tokens au maximum. Une requête de 3 000 tokens laisse donc au plus 29 000 tokens pour chaque document. Préparez l’entrée pour que son contenu essentiel tienne dans cette limite, notamment lorsqu’un long préambule ou des passages standard répétés consommeraient sinon la fenêtre. L’option de troncature documentée est activée par défaut et peut raccourcir les requêtes ou les documents trop longs avant leur évaluation. Examinez ce qui est conservé lorsque l’emplacement des passages compte.\n\nRécupération de code et d’informations techniques\nPour l’étape de récupération d’un assistant de programmation, les candidats peuvent contenir des implémentations de fonctions, de la documentation API ou des explications techniques sous forme de texte. Incluez les symboles, les signatures et le contexte nécessaires pour distinguer des candidats similaires. Une requête telle que « Trouvez la fonction qui normalise les chemins tout en conservant un séparateur final » donne un comportement concret à rechercher. Ajoutez les contraintes pertinentes de langage, de plateforme ou de version. Après le classement, examinez le code sélectionné et ses dépendances avant de l’utiliser comme contexte ; un score de pertinence ne prouve pas qu’une implémentation satisfait à toutes les exigences énoncées.\n\nLes consignes définissent la pertinence\nLe modèle conserve la capacité de reclassement suivant des instructions introduite dans Rerank 2.5. Ajoutez une consigne concise avant ou après la requête lorsque l’intention de l’utilisateur doit être précisée. Pour une recherche documentaire, expliquez si l’accent porte sur le titre, une méthode particulière ou un domaine d’application. Pour un catalogue interne, précisez si la demande concerne l’installation, le dépannage ou la compatibilité. Gardez cette consigne cohérente avec la question ; des préférences supplémentaires qui contredisent la demande principale peuvent changer ce que le classement cherche à optimiser.\n\nPréparer les documents candidats et les budgets\nL’entrée est une liste de chaînes textuelles. Extrayez du texte exploitable des documents sources, préservez les limites de sections significatives et gardez une correspondance ordonnée des enregistrements avec la liste. Le fabricant autorise jusqu’à 1 000 documents dans une requête. Il fixe aussi un plafond global d’entrée de 600 000 tokens : les tokens de la requête multipliés par le nombre de documents, plus la somme des tokens de tous les documents. Cette limite diffère de celle du contexte par paire. Réduire le texte redondant de la requête peut préserver à la fois la capacité des paires et le budget global de la requête.\n\nComptez les tokens pour le modèle concerné au lieu de supposer qu’un nombre de mots ou de caractères est un nombre de tokens. Pour les grands candidats, sélectionnez des passages cohérents ou divisez le contenu selon des titres utiles tout en conservant les informations de la source parente. Le reclassement est surtout utile lorsque la recherche initiale a déjà fait apparaître des candidats plausibles : il ne peut pas classer une source manquante qui n’est jamais entrée dans la liste.\n\nRésultats classés et utilisation en aval\nLe résultat contient des scores de pertinence et des indices renvoyant aux documents d’entrée d’origine, triés par pertinence décroissante. L’option top_k limite le nombre de résultats classés retournés ; sinon, tous les candidats d’entrée sont retournés. L’interface REST du fabricant permet aussi d’inclure le texte du document. Utilisez chaque indice d’origine pour retrouver le titre, l’identifiant de source et toute métadonnée nécessaire à l’application, puis présentez les éléments sélectionnés ou intégrez le texte pertinent au contexte probant d’une réponse.\n\nExaminez les premiers résultats par rapport à la question et gardez l’identité des sources visible. Un rang relatif élevé ne vérifie pas l’exactitude factuelle d’un document, et une présélection ne contenant que de mauvais candidats aura quand même un premier élément. Distinguez la sélection par pertinence de la décision de savoir si les éléments sélectionnés suffisent à répondre à l’utilisateur.\n\nMigration d’édition\nLe fabricant décrit rerank-3 comme un successeur directement substituable à rerank-2.5, avec la même sémantique API et des scores calibrés sur la distribution de son prédécesseur correspondant. Cette compatibilité permet de conserver une étape de récupération et une correspondance d’enregistrements existantes. Comparez les classements significatifs et tout seuil de score sur le corpus actuel avant de vous fier à la migration. Gardez rerank-3 et rerank-3-lite comme des choix distincts : des limites et un suivi d’instructions communs ne rendent pas identiques leurs priorités de qualité et de latence.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0b669136a0c0f781c8eaf797e91d80a419ec66970651384935a68fb11217fe8a",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fr-ch",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">VoyageAI by MongoDB: rerank-3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>VoyageAI by MongoDB /</span><code>voyageai/rerank-3</code><button type=\"button\" id=\"copy-id\">Copier l’ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Rubriques de la fiche modèle\"><button type=\"button\" data-card-jump=\"overview\">Premiers pas</button><button type=\"button\" data-card-jump=\"methods\">Entrées et méthodes</button><button type=\"button\" data-card-jump=\"pricing\">Tarifs</button><button type=\"button\" data-card-jump=\"examples\">Exemples</button><button type=\"button\" data-card-jump=\"results\">Résultats</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Méthodes 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|rerank|/v1/rerank|voyageai%2Frerank-3\">Reclassement</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\">Premiers pas</h3><p class=\"mdesc-full\">Voyage rerank-3 est l’édition Rerank 3 centrée sur la qualité pour évaluer la pertinence des paires requête-document. Il réordonne les textes candidats récupérés, prend en charge les consignes de pertinence en langage naturel et traite des paires de 32 000 tokens pour la recherche dans les documents longs, le code et les bases de connaissances.</p><dl class=\"card-io\" data-card-io><div><dt>Entrées acceptées</dt><dd>Texte</dd></div><div><dt>Résultats</dt><dd>Résultats classés</dd></div></dl><details class=\"card-about\"><summary>À propos du modèle</summary><p class=\"note-s\" data-model-method-boundary>Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage rerank-3 est un modèle de reclassement textuel conçu pour améliorer la qualité des éléments récupérés. À partir d’une requête et d’une liste de documents candidats, il examine conjointement chaque paire et retourne les candidats classés par pertinence. Les embeddings et la recherche par mots-clés peuvent d’abord réduire une grande collection à une présélection gérable ; rerank-3 applique ensuite une évaluation plus détaillée de la pertinence à cette présélection. Sa sortie est un ensemble d’éléments de recherche assortis de scores, que l’application peut afficher ou transmettre à une étape distincte de génération de réponse.</p><p>Rerank 3 centré sur la qualité Le fabricant présente rerank-3 comme l’édition centrée sur l’exactitude et rerank-3-lite comme l’édition destinée aux recherches sensibles à la latence. La troisième génération met à jour l’architecture principale et le mélange d’entraînement, avec des améliorations particulières de la récupération dans les documents longs et le code source par rapport aux prédécesseurs 2.5 correspondants. Le producteur l’évalue sur la documentation technique, le code, les contenus multilingues et d’autres domaines documentaires. Ces résultats étayent son rôle de récupération ; sélectionnez l’édition à partir des questions et des documents candidats importants pour votre propre collection.</p><p>Des documents longs avec suffisamment de contexte Un candidat long peut contenir un contexte utile bien au-delà de son premier paragraphe. Fournissez une section ou un document cohérent avec son titre et les éléments environnants pertinents, pour que le modèle puisse évaluer le lien entre la question réelle et le contenu. Pour une recherche de politique produit, conservez les titres et les exceptions autour du passage intéressant. Si plusieurs sections récupérées proviennent de la même source, conservez leurs identifiants de document et de section ; l’application peut ainsi montrer l’origine des éléments sélectionnés.</p><p>La fenêtre de contexte est partagée par la requête et chaque candidat. Le guide actuel du fabricant indique 32 000 tokens pour cette paire, dont une requête de 8 000 tokens au maximum. Une requête de 3 000 tokens laisse donc au plus 29 000 tokens pour chaque document. Préparez l’entrée pour que son contenu essentiel tienne dans cette limite, notamment lorsqu’un long préambule ou des passages standard répétés consommeraient sinon la fenêtre. L’option de troncature documentée est activée par défaut et peut raccourcir les requêtes ou les documents trop longs avant leur évaluation. Examinez ce qui est conservé lorsque l’emplacement des passages compte.</p><p>Récupération de code et d’informations techniques Pour l’étape de récupération d’un assistant de programmation, les candidats peuvent contenir des implémentations de fonctions, de la documentation API ou des explications techniques sous forme de texte. Incluez les symboles, les signatures et le contexte nécessaires pour distinguer des candidats similaires. Une requête telle que « Trouvez la fonction qui normalise les chemins tout en conservant un séparateur final » donne un comportement concret à rechercher. Ajoutez les contraintes pertinentes de langage, de plateforme ou de version. Après le classement, examinez le code sélectionné et ses dépendances avant de l’utiliser comme contexte ; un score de pertinence ne prouve pas qu’une implémentation satisfait à toutes les exigences énoncées.</p><p>Les consignes définissent la pertinence Le modèle conserve la capacité de reclassement suivant des instructions introduite dans Rerank 2.5. Ajoutez une consigne concise avant ou après la requête lorsque l’intention de l’utilisateur doit être précisée. Pour une recherche documentaire, expliquez si l’accent porte sur le titre, une méthode particulière ou un domaine d’application. Pour un catalogue interne, précisez si la demande concerne l’installation, le dépannage ou la compatibilité. Gardez cette consigne cohérente avec la question ; des préférences supplémentaires qui contredisent la demande principale peuvent changer ce que le classement cherche à optimiser.</p><p>Préparer les documents candidats et les budgets L’entrée est une liste de chaînes textuelles. Extrayez du texte exploitable des documents sources, préservez les limites de sections significatives et gardez une correspondance ordonnée des enregistrements avec la liste. Le fabricant autorise jusqu’à 1 000 documents dans une requête. Il fixe aussi un plafond global d’entrée de 600 000 tokens : les tokens de la requête multipliés par le nombre de documents, plus la somme des tokens de tous les documents. Cette limite diffère de celle du contexte par paire. Réduire le texte redondant de la requête peut préserver à la fois la capacité des paires et le budget global de la requête.</p><p>Comptez les tokens pour le modèle concerné au lieu de supposer qu’un nombre de mots ou de caractères est un nombre de tokens. Pour les grands candidats, sélectionnez des passages cohérents ou divisez le contenu selon des titres utiles tout en conservant les informations de la source parente. Le reclassement est surtout utile lorsque la recherche initiale a déjà fait apparaître des candidats plausibles : il ne peut pas classer une source manquante qui n’est jamais entrée dans la liste.</p><p>Résultats classés et utilisation en aval Le résultat contient des scores de pertinence et des indices renvoyant aux documents d’entrée d’origine, triés par pertinence décroissante. L’option top_k limite le nombre de résultats classés retournés ; sinon, tous les candidats d’entrée sont retournés. L’interface REST du fabricant permet aussi d’inclure le texte du document. Utilisez chaque indice d’origine pour retrouver le titre, l’identifiant de source et toute métadonnée nécessaire à l’application, puis présentez les éléments sélectionnés ou intégrez le texte pertinent au contexte probant d’une réponse.</p><p>Examinez les premiers résultats par rapport à la question et gardez l’identité des sources visible. Un rang relatif élevé ne vérifie pas l’exactitude factuelle d’un document, et une présélection ne contenant que de mauvais candidats aura quand même un premier élément. Distinguez la sélection par pertinence de la décision de savoir si les éléments sélectionnés suffisent à répondre à l’utilisateur.</p><p>Migration d’édition Le fabricant décrit rerank-3 comme un successeur directement substituable à rerank-2.5, avec la même sémantique API et des scores calibrés sur la distribution de son prédécesseur correspondant. Cette compatibilité permet de conserver une étape de récupération et une correspondance d’enregistrements existantes. Comparez les classements significatifs et tout seuil de score sur le corpus actuel avant de vous fier à la migration. Gardez rerank-3 et rerank-3-lite comme des choix distincts : des limites et un suivi d’instructions communs ne rendent pas identiques leurs priorités de qualité et de latence.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible dans Ailoot · entrées et méthodes</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Reclassement</b> <code>POST /v1/rerank</code></summary><dl class=\"method-capabilities\"><div><dt>Entrée</dt><dd><code>text</code></dd></div><div><dt>Sortie</dt><dd><code>rerank</code></dd></div><div><dt>Format de sortie</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Champ</th><th>Type</th><th>Exigence</th><th>Valeurs et limites</th><th>Par défaut</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">documents</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>voyageai/rerank-3</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">query</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">top_n</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">documents[].text</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">documents[].image</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinaisons d’éléments d’entrée</summary><p class=\"note-s\"><b>text_rerank</b> · Obligatoire : query, documents array with minItems1</p></details><details class=\"note-s\" data-method-contract><summary>Paramètres et cycle de vie de la méthode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paramètre</th><th>Contrat</th></tr></thead><tbody><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>content_type</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>application/json</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>required</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>model, query, documents</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>material_types</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>text</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>optional_controls</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>provider, session_id, top_n, trace, user</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>multimodal_input_binding</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>null</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous</code></p><p class=\"note-s\">Envoyez l’identifiant exact du modèle et conservez la réponse native complète.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifs</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.</p><dl data-price-conditions><dt>Mode rapide</dt><dd>Non précisé <span class=\"note-s\">Lorsque le mode rapide est sélectionné</span></dd><dt>Mode Flex</dt><dd>Non précisé <span class=\"note-s\">Lorsque le mode flex est sélectionné</span></dd><dt>Effort de raisonnement maximal</dt><dd>Non précisé <span class=\"note-s\">Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifs Ailoot</h4><h4>Prix par configuration</h4><p class=\"note-s\">Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Barème tarifaire</th><th>Unité de facturation</th><th>Coût</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Tarifs de base des jetons</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>Tarif de base</td><td data-cell-label=\"Unité de facturation\"><span class=\"card-cell-label\">Unité de facturation</span>—</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée · Tokens en entrée</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Sortie · Tokens en sortie</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Ultra</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>—</td><td data-cell-label=\"Unité de facturation\"><span class=\"card-cell-label\">Unité de facturation</span>/ 1K tokens</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. <a href=\"/docs/fr-ch/billing/reserve/\">Fonctionnement de la réservation et du débit →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemples de requêtes</h3><h4>Ailoot Ultra · Reclassement</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes du code\"><button class=\"cg-tab\" id=\"model-code-2699-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2699-panel-0\" aria-selected=\"true\" tabindex=\"0\">Structure officielle de la requête conservée ; exemple de documentation</button><button class=\"cg-tab\" id=\"model-code-2699-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2699-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Utilisez les éléments réels de votre requête et conservez le résultat complet</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copier le code\"><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-2699-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2699-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;documents&quot;: [\n    &quot;Paris is the capital of France.&quot;,\n    &quot;Berlin is the capital of Germany.&quot;\n  ],\n  &quot;model&quot;: &quot;voyageai/rerank-3&quot;,\n  &quot;query&quot;: &quot;What is the capital of France?&quot;,\n  &quot;top_n&quot;: 3\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-2699-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2699-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_REQUEST_FILE:?Set your actual JSON request file}&quot;\nexport AILOOT_REQUEST_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ[&#39;AILOOT_REQUEST_FILE&#39;]).read_text(encoding=&#39;utf-8&#39;))\nif not isinstance(p,dict): raise SystemExit(&#39;Request must be a JSON object&#39;)\np[&#39;model&#39;]=&#39;voyageai/rerank-3&#39;\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/rerank \\\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\nprint(json.dumps(json.loads(Path(&#39;result.json&#39;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recevoir et enregistrer les résultats</h3><h4>Ailoot Ultra · Reclassement</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Conserver tous les résultats terminés</h5><p class=\"note-s\">Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.</p><p class=\"note-s\">Chaque indice réel de résultat, chaque relevance_score fini et chaque objet de document d’origine est conservé. Les indices correspondent au tableau de documents d’origine. L’intégralité du JSON d’origine est enregistrée et renvoyée uniquement après la facturation définitive.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si la réponse d’origine doit être vérifiée</h5><p class=\"note-s\">Conservez l’opération d’origine et la réponse complète ou partielle ; ne répétez pas le POST.</p></div><details class=\"card-about\" data-output-fields><summary>Champs de la réponse</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Champ</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">results[].index</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">results[].relevance_score</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">results[].document.text</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">results[].document.image</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">usage.search_units</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">usage.total_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">usage.cost</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Erreurs et étapes suivantes</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Réponse</th><th>Condition</th><th>Étape suivante</th></tr></thead><tbody><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>Champ obligatoire, représentation ou valeur invalide</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Corrigez le champ indiqué dans la requête.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias du modèle</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyageai%2Frerank-3&amp;route=Ultra&amp;caller=voyageai%2Frerank-3&amp;fmt=rerank\"><code>voyageai/rerank-3</code></a></span></p><h4>Alias des chemins de méthode</h4><p class=\"note-s\">Utilisez les chemins de méthode indiqués ci-dessus.</p><h4>ID d’appel associés</h4><p class=\"note-s\"><a href=\"#m=voyageai%2Frerank-3&amp;route=Ultra&amp;caller=voyageai%2Frerank-3&amp;fmt=rerank\"><code>voyageai/rerank-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyageai/rerank-3",
        "fmt": "rerank",
        "http": "POST",
        "path": "/v1/rerank",
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|rerank|/v1/rerank|voyageai%2Frerank-3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Champ obligatoire, représentation ou valeur invalide",
                "http_status": 400,
                "recovery": "Corrigez le champ indiqué dans la requête.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Conservez l’opération d’origine et la réponse complète ou partielle ; ne répétez pas le POST."
            },
            "material_combinations": [
              {
                "accepted": [
                  "string documents",
                  "objects with text; image only for separately exact-supported multimodal model"
                ],
                "mode": "text_rerank",
                "required": [
                  "query",
                  "documents array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "rerank"
            ],
            "outputs": {
              "all_results": "Chaque indice réel de résultat, chaque relevance_score fini et chaque objet de document d’origine est conservé. Les indices correspondent au tableau de documents d’origine. L’intégralité du JSON d’origine est enregistrée et renvoyée uniquement après la facturation définitive.",
              "family": "rerank",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "results[].document.text",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].document.image",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage.search_units",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.total_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "description": "Rerank response containing ranked results",
                "example": {
                  "id": "gen-rerank-1234567890-abc",
                  "model": "cohere/rerank-v3.5",
                  "results": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "usage": {
                    "search_units": 1,
                    "total_tokens": 150
                  }
                },
                "properties": {
                  "id": {
                    "description": "Unique identifier for the rerank response (ORID format)",
                    "example": "gen-rerank-1234567890-abc",
                    "type": "string"
                  },
                  "model": {
                    "description": "The model used for reranking",
                    "example": "cohere/rerank-v3.5",
                    "type": "string"
                  },
                  "provider": {
                    "description": "The provider that served the rerank request",
                    "example": "Cohere",
                    "type": "string"
                  },
                  "results": {
                    "description": "List of rerank results sorted by relevance",
                    "example": [
                      {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      }
                    ],
                    "items": {
                      "description": "A single rerank result",
                      "example": {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      },
                      "properties": {
                        "document": {
                          "description": "The document object echoing the original input (text and/or image)",
                          "properties": {
                            "image": {
                              "description": "The image (URL or data URI) from the original document",
                              "example": "https://example.com/image.png",
                              "type": "string"
                            },
                            "text": {
                              "description": "The document text",
                              "example": "Paris is the capital of France.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "index": {
                          "description": "Index of the document in the original input list",
                          "example": 0,
                          "type": "integer"
                        },
                        "relevance_score": {
                          "description": "Relevance score of the document to the query",
                          "example": 0.98,
                          "format": "double",
                          "type": "number"
                        }
                      },
                      "required": [
                        "index",
                        "relevance_score",
                        "document"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "usage": {
                    "description": "Usage statistics",
                    "example": {
                      "search_units": 1,
                      "total_tokens": 150
                    },
                    "properties": {
                      "cost": {
                        "description": "Cost of the request in credits",
                        "example": 0.001,
                        "format": "double",
                        "type": "number"
                      },
                      "search_units": {
                        "description": "Number of search units consumed (Cohere billing)",
                        "example": 1,
                        "type": "integer"
                      },
                      "total_tokens": {
                        "description": "Total number of tokens used",
                        "example": 150,
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "results"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "documents",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/rerank-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The search query to rerank documents against",
                "enum": null,
                "enum_known": false,
                "name": "query",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Number of most relevant documents to return",
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "top_n",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "documents[].text",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Official family image carrier is remote http/https URL or data:image URI; only for exact multimodal-model bindings.",
                "enum": null,
                "enum_known": false,
                "name": "documents[].image",
                "required": false,
                "type": "string"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Envoyez l’identifiant exact du modèle et conservez la réponse native complète."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "top_n",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "query",
              "documents"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 32000,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "rerank"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/rerank"
          },
          "method_aliases": [],
          "operation_modes": [
            "rerank"
          ],
          "output": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "family": "rerank",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].index",
                "type": "integer"
              },
              {
                "description": null,
                "name": "results[].relevance_score",
                "type": "number"
              },
              {
                "description": null,
                "name": "results[].document.text",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].document.image",
                "type": "string"
              },
              {
                "description": null,
                "name": "usage.search_units",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.total_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "description": "Rerank request input",
              "example": {
                "documents": [
                  "Paris is the capital of France.",
                  "Berlin is the capital of Germany."
                ],
                "model": "cohere/rerank-v3.5",
                "query": "What is the capital of France?",
                "top_n": 3
              },
              "properties": {
                "documents": {
                  "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                  "example": [
                    "Paris is the capital of France.",
                    "Berlin is the capital of Germany."
                  ],
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "description": "A structured document with optional text and/or image content. At least one of `text` or `image` must be provided.",
                        "properties": {
                          "image": {
                            "description": "An image associated with the document, as a remote URL (http/https) or a base64-encoded data URI (data:image/...).",
                            "example": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Phytogenic.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "AI enables robots to perceive, plan, and act autonomously.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    ],
                    "description": "A document to rerank. Either a plain string, or a structured object with optional `text` and/or `image`."
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "voyageai/rerank-3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "query": {
                  "description": "The search query to rerank documents against",
                  "example": "What is the capital of France?",
                  "type": "string"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "top_n": {
                  "description": "Number of most relevant documents to return",
                  "example": 3,
                  "minimum": 1,
                  "type": "integer"
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                  "example": "user-1234",
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "query",
                "documents"
              ],
              "type": "object"
            },
            "response": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"documents\": [\n    \"Paris is the capital of France.\",\n    \"Berlin is the capital of Germany.\"\n  ],\n  \"model\": \"voyageai/rerank-3\",\n  \"query\": \"What is the capital of France?\",\n  \"top_n\": 3\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='voyageai/rerank-3'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/rerank \\\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\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "rerank",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "rerank",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Reclassement",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "rerank",
        "out": null,
        "output": [
          "rerank"
        ],
        "path": "/v1/rerank",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 1e-07
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "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"
          },
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000001",
            "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"
          }
        ]
      }
    }
  ],
  "model_id": "voyageai/rerank-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "babe3a326e16b21128c843b6f00ac7058ada9b58fe3bea843c578d83aaa8c669",
    "input_html_sha256": "d2967c4033ca38914081fe3974d4e4bcbb0b9718c10a57de7554885fcdeb8543",
    "private_audit_sha256": "11688fbceb0854fac91f17b4df9656e4371d3420741f53b9e1b441de9549fc9f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr-ch/voyageai-rerank-3/",
    "description": "Voyage rerank-3 est l’édition Rerank 3 centrée sur la qualité pour évaluer la pertinence des paires requête-document. Il réordonne les textes candidats récupérés, prend en charge les consignes de pertinence en langage naturel et traite des paires de 32 000 tokens pour la recherche dans les documents longs, le code et les bases de connaissances.",
    "locale": "fr-ch",
    "md_url": "https://ailoot.ai/models/fr-ch/voyageai-rerank-3/index.md",
    "title": "VoyageAI by MongoDB: rerank-3 — Ailoot",
    "url": "https://ailoot.ai/models/fr-ch/voyageai-rerank-3/"
  },
  "rawModel": {
    "about": "Voyage rerank-3 est un modèle de reclassement textuel conçu pour améliorer la qualité des éléments récupérés. À partir d’une requête et d’une liste de documents candidats, il examine conjointement chaque paire et retourne les candidats classés par pertinence. Les embeddings et la recherche par mots-clés peuvent d’abord réduire une grande collection à une présélection gérable ; rerank-3 applique ensuite une évaluation plus détaillée de la pertinence à cette présélection. Sa sortie est un ensemble d’éléments de recherche assortis de scores, que l’application peut afficher ou transmettre à une étape distincte de génération de réponse.\n\nRerank 3 centré sur la qualité\nLe fabricant présente rerank-3 comme l’édition centrée sur l’exactitude et rerank-3-lite comme l’édition destinée aux recherches sensibles à la latence. La troisième génération met à jour l’architecture principale et le mélange d’entraînement, avec des améliorations particulières de la récupération dans les documents longs et le code source par rapport aux prédécesseurs 2.5 correspondants. Le producteur l’évalue sur la documentation technique, le code, les contenus multilingues et d’autres domaines documentaires. Ces résultats étayent son rôle de récupération ; sélectionnez l’édition à partir des questions et des documents candidats importants pour votre propre collection.\n\nDes documents longs avec suffisamment de contexte\nUn candidat long peut contenir un contexte utile bien au-delà de son premier paragraphe. Fournissez une section ou un document cohérent avec son titre et les éléments environnants pertinents, pour que le modèle puisse évaluer le lien entre la question réelle et le contenu. Pour une recherche de politique produit, conservez les titres et les exceptions autour du passage intéressant. Si plusieurs sections récupérées proviennent de la même source, conservez leurs identifiants de document et de section ; l’application peut ainsi montrer l’origine des éléments sélectionnés.\n\nLa fenêtre de contexte est partagée par la requête et chaque candidat. Le guide actuel du fabricant indique 32 000 tokens pour cette paire, dont une requête de 8 000 tokens au maximum. Une requête de 3 000 tokens laisse donc au plus 29 000 tokens pour chaque document. Préparez l’entrée pour que son contenu essentiel tienne dans cette limite, notamment lorsqu’un long préambule ou des passages standard répétés consommeraient sinon la fenêtre. L’option de troncature documentée est activée par défaut et peut raccourcir les requêtes ou les documents trop longs avant leur évaluation. Examinez ce qui est conservé lorsque l’emplacement des passages compte.\n\nRécupération de code et d’informations techniques\nPour l’étape de récupération d’un assistant de programmation, les candidats peuvent contenir des implémentations de fonctions, de la documentation API ou des explications techniques sous forme de texte. Incluez les symboles, les signatures et le contexte nécessaires pour distinguer des candidats similaires. Une requête telle que « Trouvez la fonction qui normalise les chemins tout en conservant un séparateur final » donne un comportement concret à rechercher. Ajoutez les contraintes pertinentes de langage, de plateforme ou de version. Après le classement, examinez le code sélectionné et ses dépendances avant de l’utiliser comme contexte ; un score de pertinence ne prouve pas qu’une implémentation satisfait à toutes les exigences énoncées.\n\nLes consignes définissent la pertinence\nLe modèle conserve la capacité de reclassement suivant des instructions introduite dans Rerank 2.5. Ajoutez une consigne concise avant ou après la requête lorsque l’intention de l’utilisateur doit être précisée. Pour une recherche documentaire, expliquez si l’accent porte sur le titre, une méthode particulière ou un domaine d’application. Pour un catalogue interne, précisez si la demande concerne l’installation, le dépannage ou la compatibilité. Gardez cette consigne cohérente avec la question ; des préférences supplémentaires qui contredisent la demande principale peuvent changer ce que le classement cherche à optimiser.\n\nPréparer les documents candidats et les budgets\nL’entrée est une liste de chaînes textuelles. Extrayez du texte exploitable des documents sources, préservez les limites de sections significatives et gardez une correspondance ordonnée des enregistrements avec la liste. Le fabricant autorise jusqu’à 1 000 documents dans une requête. Il fixe aussi un plafond global d’entrée de 600 000 tokens : les tokens de la requête multipliés par le nombre de documents, plus la somme des tokens de tous les documents. Cette limite diffère de celle du contexte par paire. Réduire le texte redondant de la requête peut préserver à la fois la capacité des paires et le budget global de la requête.\n\nComptez les tokens pour le modèle concerné au lieu de supposer qu’un nombre de mots ou de caractères est un nombre de tokens. Pour les grands candidats, sélectionnez des passages cohérents ou divisez le contenu selon des titres utiles tout en conservant les informations de la source parente. Le reclassement est surtout utile lorsque la recherche initiale a déjà fait apparaître des candidats plausibles : il ne peut pas classer une source manquante qui n’est jamais entrée dans la liste.\n\nRésultats classés et utilisation en aval\nLe résultat contient des scores de pertinence et des indices renvoyant aux documents d’entrée d’origine, triés par pertinence décroissante. L’option top_k limite le nombre de résultats classés retournés ; sinon, tous les candidats d’entrée sont retournés. L’interface REST du fabricant permet aussi d’inclure le texte du document. Utilisez chaque indice d’origine pour retrouver le titre, l’identifiant de source et toute métadonnée nécessaire à l’application, puis présentez les éléments sélectionnés ou intégrez le texte pertinent au contexte probant d’une réponse.\n\nExaminez les premiers résultats par rapport à la question et gardez l’identité des sources visible. Un rang relatif élevé ne vérifie pas l’exactitude factuelle d’un document, et une présélection ne contenant que de mauvais candidats aura quand même un premier élément. Distinguez la sélection par pertinence de la décision de savoir si les éléments sélectionnés suffisent à répondre à l’utilisateur.\n\nMigration d’édition\nLe fabricant décrit rerank-3 comme un successeur directement substituable à rerank-2.5, avec la même sémantique API et des scores calibrés sur la distribution de son prédécesseur correspondant. Cette compatibilité permet de conserver une étape de récupération et une correspondance d’enregistrements existantes. Comparez les classements significatifs et tout seuil de score sur le corpus actuel avant de vous fier à la migration. Gardez rerank-3 et rerank-3-lite comme des choix distincts : des limites et un suivi d’instructions communs ne rendent pas identiques leurs priorités de qualité et de latence.",
    "alias_of": null,
    "aliases": [],
    "author": "VoyageAI by MongoDB",
    "available": null,
    "canonical_model": "voyageai/rerank-3",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "rerank"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000001",
            "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"
          }
        ],
        "summary": "La tarification complète de la configuration figure dans les détails."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "rerank"
    ],
    "id": "voyageai/rerank-3",
    "input": [
      "text"
    ],
    "kind": "rerank",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Champ obligatoire, représentation ou valeur invalide",
                "http_status": 400,
                "recovery": "Corrigez le champ indiqué dans la requête.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Conservez l’opération d’origine et la réponse complète ou partielle ; ne répétez pas le POST."
            },
            "material_combinations": [
              {
                "accepted": [
                  "string documents",
                  "objects with text; image only for separately exact-supported multimodal model"
                ],
                "mode": "text_rerank",
                "required": [
                  "query",
                  "documents array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "rerank"
            ],
            "outputs": {
              "all_results": "Chaque indice réel de résultat, chaque relevance_score fini et chaque objet de document d’origine est conservé. Les indices correspondent au tableau de documents d’origine. L’intégralité du JSON d’origine est enregistrée et renvoyée uniquement après la facturation définitive.",
              "family": "rerank",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "results[].document.text",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].document.image",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage.search_units",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.total_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "description": "Rerank response containing ranked results",
                "example": {
                  "id": "gen-rerank-1234567890-abc",
                  "model": "cohere/rerank-v3.5",
                  "results": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "usage": {
                    "search_units": 1,
                    "total_tokens": 150
                  }
                },
                "properties": {
                  "id": {
                    "description": "Unique identifier for the rerank response (ORID format)",
                    "example": "gen-rerank-1234567890-abc",
                    "type": "string"
                  },
                  "model": {
                    "description": "The model used for reranking",
                    "example": "cohere/rerank-v3.5",
                    "type": "string"
                  },
                  "provider": {
                    "description": "The provider that served the rerank request",
                    "example": "Cohere",
                    "type": "string"
                  },
                  "results": {
                    "description": "List of rerank results sorted by relevance",
                    "example": [
                      {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      }
                    ],
                    "items": {
                      "description": "A single rerank result",
                      "example": {
                        "document": {
                          "text": "Paris is the capital of France."
                        },
                        "index": 0,
                        "relevance_score": 0.98
                      },
                      "properties": {
                        "document": {
                          "description": "The document object echoing the original input (text and/or image)",
                          "properties": {
                            "image": {
                              "description": "The image (URL or data URI) from the original document",
                              "example": "https://example.com/image.png",
                              "type": "string"
                            },
                            "text": {
                              "description": "The document text",
                              "example": "Paris is the capital of France.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "index": {
                          "description": "Index of the document in the original input list",
                          "example": 0,
                          "type": "integer"
                        },
                        "relevance_score": {
                          "description": "Relevance score of the document to the query",
                          "example": 0.98,
                          "format": "double",
                          "type": "number"
                        }
                      },
                      "required": [
                        "index",
                        "relevance_score",
                        "document"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "usage": {
                    "description": "Usage statistics",
                    "example": {
                      "search_units": 1,
                      "total_tokens": 150
                    },
                    "properties": {
                      "cost": {
                        "description": "Cost of the request in credits",
                        "example": 0.001,
                        "format": "double",
                        "type": "number"
                      },
                      "search_units": {
                        "description": "Number of search units consumed (Cohere billing)",
                        "example": 1,
                        "type": "integer"
                      },
                      "total_tokens": {
                        "description": "Total number of tokens used",
                        "example": 150,
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "results"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                "enum": null,
                "enum_known": false,
                "minItems": 1,
                "name": "documents",
                "required": true,
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "voyageai/rerank-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The search query to rerank documents against",
                "enum": null,
                "enum_known": false,
                "name": "query",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Number of most relevant documents to return",
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "top_n",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "documents[].text",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "Official family image carrier is remote http/https URL or data:image URI; only for exact multimodal-model bindings.",
                "enum": null,
                "enum_known": false,
                "name": "documents[].image",
                "required": false,
                "type": "string"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Envoyez l’identifiant exact du modèle et conservez la réponse native complète."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "top_n",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "query",
              "documents"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 32000,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "rerank"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/rerank"
          },
          "method_aliases": [],
          "operation_modes": [
            "rerank"
          ],
          "output": {
            "all_results": "Every actual result index, finite relevance_score and original document object is retained. Indices bind the original document array. Entire original JSON is stored and returned only after settlement.",
            "family": "rerank",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].index",
                "type": "integer"
              },
              {
                "description": null,
                "name": "results[].relevance_score",
                "type": "number"
              },
              {
                "description": null,
                "name": "results[].document.text",
                "type": "string"
              },
              {
                "description": null,
                "name": "results[].document.image",
                "type": "string"
              },
              {
                "description": null,
                "name": "usage.search_units",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.total_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "description": "Rerank request input",
              "example": {
                "documents": [
                  "Paris is the capital of France.",
                  "Berlin is the capital of Germany."
                ],
                "model": "cohere/rerank-v3.5",
                "query": "What is the capital of France?",
                "top_n": 3
              },
              "properties": {
                "documents": {
                  "description": "The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models.",
                  "example": [
                    "Paris is the capital of France.",
                    "Berlin is the capital of Germany."
                  ],
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "description": "A structured document with optional text and/or image content. At least one of `text` or `image` must be provided.",
                        "properties": {
                          "image": {
                            "description": "An image associated with the document, as a remote URL (http/https) or a base64-encoded data URI (data:image/...).",
                            "example": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Phytogenic.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "AI enables robots to perceive, plan, and act autonomously.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    ],
                    "description": "A document to rerank. Either a plain string, or a structured object with optional `text` and/or `image`."
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "voyageai/rerank-3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "query": {
                  "description": "The search query to rerank documents against",
                  "example": "What is the capital of France?",
                  "type": "string"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "top_n": {
                  "description": "Number of most relevant documents to return",
                  "example": 3,
                  "minimum": 1,
                  "type": "integer"
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "description": "A unique identifier representing your end-user. Forwarded to Broadcast and private logging as the end-user id; never sent to the provider.",
                  "example": "user-1234",
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "query",
                "documents"
              ],
              "type": "object"
            },
            "response": {
              "description": "Rerank response containing ranked results",
              "example": {
                "id": "gen-rerank-1234567890-abc",
                "model": "cohere/rerank-v3.5",
                "results": [
                  {
                    "document": {
                      "text": "Paris is the capital of France."
                    },
                    "index": 0,
                    "relevance_score": 0.98
                  }
                ],
                "usage": {
                  "search_units": 1,
                  "total_tokens": 150
                }
              },
              "properties": {
                "id": {
                  "description": "Unique identifier for the rerank response (ORID format)",
                  "example": "gen-rerank-1234567890-abc",
                  "type": "string"
                },
                "model": {
                  "description": "The model used for reranking",
                  "example": "cohere/rerank-v3.5",
                  "type": "string"
                },
                "provider": {
                  "description": "The provider that served the rerank request",
                  "example": "Cohere",
                  "type": "string"
                },
                "results": {
                  "description": "List of rerank results sorted by relevance",
                  "example": [
                    {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    }
                  ],
                  "items": {
                    "description": "A single rerank result",
                    "example": {
                      "document": {
                        "text": "Paris is the capital of France."
                      },
                      "index": 0,
                      "relevance_score": 0.98
                    },
                    "properties": {
                      "document": {
                        "description": "The document object echoing the original input (text and/or image)",
                        "properties": {
                          "image": {
                            "description": "The image (URL or data URI) from the original document",
                            "example": "https://example.com/image.png",
                            "type": "string"
                          },
                          "text": {
                            "description": "The document text",
                            "example": "Paris is the capital of France.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "index": {
                        "description": "Index of the document in the original input list",
                        "example": 0,
                        "type": "integer"
                      },
                      "relevance_score": {
                        "description": "Relevance score of the document to the query",
                        "example": 0.98,
                        "format": "double",
                        "type": "number"
                      }
                    },
                    "required": [
                      "index",
                      "relevance_score",
                      "document"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "usage": {
                  "description": "Usage statistics",
                  "example": {
                    "search_units": 1,
                    "total_tokens": 150
                  },
                  "properties": {
                    "cost": {
                      "description": "Cost of the request in credits",
                      "example": 0.001,
                      "format": "double",
                      "type": "number"
                    },
                    "search_units": {
                      "description": "Number of search units consumed (Cohere billing)",
                      "example": 1,
                      "type": "integer"
                    },
                    "total_tokens": {
                      "description": "Total number of tokens used",
                      "example": 150,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "model",
                "results"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"documents\": [\n    \"Paris is the capital of France.\",\n    \"Berlin is the capital of Germany.\"\n  ],\n  \"model\": \"voyageai/rerank-3\",\n  \"query\": \"What is the capital of France?\",\n  \"top_n\": 3\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='voyageai/rerank-3'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/rerank \\\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\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "rerank",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "rerank",
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Reclassement",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "rerank",
        "out": null,
        "output": [
          "rerank"
        ],
        "path": "/v1/rerank",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "input_token": 1e-07
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "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": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "native_endpoint": "rerank",
              "quoted_unit": "/ 1K tokens"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_token",
                "label": "input token",
                "native_amount_usd_per_unit": "0.0000001",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "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": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "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"
          },
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_token",
            "label": "input token",
            "native_amount_usd_per_unit": "0.0000001",
            "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"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyageai/rerank-3",
        "request_model_id": "voyageai/rerank-3",
        "route_label": "Ultra"
      }
    ],
    "name": "VoyageAI by MongoDB: rerank-3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "public_id": "voyageai/rerank-3",
    "short": "Voyage rerank-3 est l’édition Rerank 3 centrée sur la qualité pour évaluer la pertinence des paires requête-document. Il réordonne les textes candidats récupérés, prend en charge les consignes de pertinence en langage naturel et traite des paires de 32 000 tokens pour la recherche dans les documents longs, le code et les bases de connaissances."
  },
  "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 rerank-3 est l’édition Rerank 3 centrée sur la qualité pour évaluer la pertinence des paires requête-document. Il réordonne les textes candidats récupérés, prend en charge les consignes de pertinence en langage naturel et traite des paires de 32 000 tokens pour la recherche dans les documents longs, le code et les bases de connaissances.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "dcd884203e8b6068e1bd4d4729bf7eb0884b1c576644d39afc19f305609c1536",
    "renderer_sha256": "4d2f3bfcbf0fa5c616c87aa9524d00d7cff227d8dfa2446ff47c8e0220325dc9"
  },
  "sourceRevision": "96ec8132c5589c89d98f10cebb6c4a6cd57b65432e4f73495b2559c6a4231314"
}
