{
  "aboutHtml": "<p>BGE Reranker v2 M3 est un modèle multilingue de pertinence fondé sur BGE-M3. Il reçoit ensemble une requête et un passage candidat et renvoie un score de leur relation. BAAI positionne cette édition comme un reclasseur multilingue efficace, notamment pour la recherche en chinois et en anglais, lorsqu’une application de recherche doit affiner une liste existante de candidats.</p><h4>Pertinence d’une paire requête–passage</h4><p>Un encodeur croisé traite conjointement les deux textes, ce qui permet à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle de plongement vectoriel, qui encode les textes indépendamment pour une comparaison vectorielle réutilisable. La sortie du reclasseur est un score scalaire pour une paire particulière plutôt qu’un vecteur de document ou une réponse écrite.</p><p>Utilisez le modèle après qu’une recherche initiale a sélectionné des passages plausibles. Associez la question à chaque candidat et ordonnez les candidats selon les scores obtenus. Cela concentre la comparaison plus détaillée sur une présélection gérable plutôt que de demander à un encodeur croisé d’inspecter tous les passages d’une grande collection.</p><h4>L’édition v2 M3</h4><p>Le fabricant identifie BGE-M3 comme modèle de base et indique la prise en charge multilingue comme caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace; les variantes fondées sur Gemma et celles avec sélection de couches sont des modèles distincts avec d’autres choix d’implémentation. Le nom M3 ne signifie pas ici que le reclasseur renvoie les plongements denses, clairsemés et multivecteurs du modèle de plongement original.</p><p>Cette distinction compte lorsque vous choisissez le résultat nécessaire à votre application. Choisissez un modèle de plongement vectoriel pour représenter et rechercher une collection de documents. Choisissez ce reclasseur lorsque vous disposez déjà de textes candidats et devez déterminer quel passage est le plus pertinent pour la requête actuelle.</p><h4>Préparer des candidats utiles au classement</h4><p>Fournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Conservez les titres ou les définitions voisines lorsqu’ils déterminent le sens d’un passage. Dans l’exemple Transformers publié, la requête et le passage sont tokenisés ensemble avec troncature et max_length=512. C’est un réglage d’exemple plutôt qu’une limite générale du modèle. Gardez la question et les preuves requises dans le budget choisi pour la paire et vérifiez ce que la troncature supprime. Un résultat qui mentionne le même produit qu’une requête peut néanmoins être sans pertinence s’il traite de la mauvaise opération ou condition; préparez des exemples distinguant ces cas lors de l’évaluation de la qualité de recherche.</p><p>Pour un assistant documentaire, conservez les identifiants des candidats avec leur texte, attribuez des scores aux paires question–passage et transmettez les passages originaux retenus à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence dépourvu de source. Il s’agit d’un exemple de processus de recherche; le reclasseur ne recherche pas lui-même dans une collection externe et n’écrit pas la réponse.</p><h4>Lire et normaliser les scores</h4><p>Le fabricant renvoie des scores bruts de pertinence; une valeur supérieure indique une correspondance plus étroite. La normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé a une plage pratique, mais cette transformation ne suffit pas à établir une probabilité calibrée que le candidat soit correct.</p><p>Choisissez les seuils de classement ou de filtrage à partir de paires requête–passage représentatives de votre charge de travail. Incluez des passages partageant les mêmes mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés autrement. Le seuil choisi devient ainsi significatif pour la collection recherchée.</p><p>Pour un projet d’API Ailoot, définissez ce que le contexte final doit contenir et combien de candidats peuvent être examinés efficacement. Le résultat utile est un ensemble de preuves mieux ordonné pour l’étape suivante de l’application. Gardez la sortie de pertinence de cette édition distincte des plongements vectoriels de documents, de la prose générée et des commandes de sélection de couches documentées pour d’autres reclasseurs.</p>",
  "aboutText": "BGE Reranker v2 M3 est un modèle multilingue de pertinence fondé sur BGE-M3. Il reçoit ensemble une requête et un passage candidat et renvoie un score de leur relation. BAAI positionne cette édition comme un reclasseur multilingue efficace, notamment pour la recherche en chinois et en anglais, lorsqu’une application de recherche doit affiner une liste existante de candidats.\n\n### Pertinence d’une paire requête–passage\n\nUn encodeur croisé traite conjointement les deux textes, ce qui permet à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle de plongement vectoriel, qui encode les textes indépendamment pour une comparaison vectorielle réutilisable. La sortie du reclasseur est un score scalaire pour une paire particulière plutôt qu’un vecteur de document ou une réponse écrite.\n\nUtilisez le modèle après qu’une recherche initiale a sélectionné des passages plausibles. Associez la question à chaque candidat et ordonnez les candidats selon les scores obtenus. Cela concentre la comparaison plus détaillée sur une présélection gérable plutôt que de demander à un encodeur croisé d’inspecter tous les passages d’une grande collection.\n\n### L’édition v2 M3\n\nLe fabricant identifie BGE-M3 comme modèle de base et indique la prise en charge multilingue comme caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace; les variantes fondées sur Gemma et celles avec sélection de couches sont des modèles distincts avec d’autres choix d’implémentation. Le nom M3 ne signifie pas ici que le reclasseur renvoie les plongements denses, clairsemés et multivecteurs du modèle de plongement original.\n\nCette distinction compte lorsque vous choisissez le résultat nécessaire à votre application. Choisissez un modèle de plongement vectoriel pour représenter et rechercher une collection de documents. Choisissez ce reclasseur lorsque vous disposez déjà de textes candidats et devez déterminer quel passage est le plus pertinent pour la requête actuelle.\n\n### Préparer des candidats utiles au classement\n\nFournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Conservez les titres ou les définitions voisines lorsqu’ils déterminent le sens d’un passage. Dans l’exemple Transformers publié, la requête et le passage sont tokenisés ensemble avec troncature et max_length=512. C’est un réglage d’exemple plutôt qu’une limite générale du modèle. Gardez la question et les preuves requises dans le budget choisi pour la paire et vérifiez ce que la troncature supprime. Un résultat qui mentionne le même produit qu’une requête peut néanmoins être sans pertinence s’il traite de la mauvaise opération ou condition; préparez des exemples distinguant ces cas lors de l’évaluation de la qualité de recherche.\n\nPour un assistant documentaire, conservez les identifiants des candidats avec leur texte, attribuez des scores aux paires question–passage et transmettez les passages originaux retenus à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence dépourvu de source. Il s’agit d’un exemple de processus de recherche; le reclasseur ne recherche pas lui-même dans une collection externe et n’écrit pas la réponse.\n\n### Lire et normaliser les scores\n\nLe fabricant renvoie des scores bruts de pertinence; une valeur supérieure indique une correspondance plus étroite. La normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé a une plage pratique, mais cette transformation ne suffit pas à établir une probabilité calibrée que le candidat soit correct.\n\nChoisissez les seuils de classement ou de filtrage à partir de paires requête–passage représentatives de votre charge de travail. Incluez des passages partageant les mêmes mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés autrement. Le seuil choisi devient ainsi significatif pour la collection recherchée.\n\nPour un projet d’API Ailoot, définissez ce que le contexte final doit contenir et combien de candidats peuvent être examinés efficacement. Le résultat utile est un ensemble de preuves mieux ordonné pour l’étape suivante de l’application. Gardez la sortie de pertinence de cette édition distincte des plongements vectoriels de documents, de la prose générée et des commandes de sélection de couches documentées pour d’autres reclasseurs.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "fcc6953b6fc0dd23148b15270bb8a040f2a821f97cb6d772d97c1b2795af163e",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fr-ca",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">bge-reranker-v2-m3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>BAAI /</span><code>bge-reranker-v2-m3</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\">Pour commencer</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|bge-reranker-v2-m3\">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\">Pour commencer</h3><p class=\"mdesc-full\">L’encodeur croisé multilingue de BAAI classe les passages candidats selon une requête. Il lit ensemble chaque paire requête–passage et renvoie un score de pertinence, pour affiner une présélection de recherche sans générer de réponse ni créer de plongements vectoriels de documents.</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>BGE Reranker v2 M3 est un modèle multilingue de pertinence fondé sur BGE-M3. Il reçoit ensemble une requête et un passage candidat et renvoie un score de leur relation. BAAI positionne cette édition comme un reclasseur multilingue efficace, notamment pour la recherche en chinois et en anglais, lorsqu’une application de recherche doit affiner une liste existante de candidats.</p><h4>Pertinence d’une paire requête–passage</h4><p>Un encodeur croisé traite conjointement les deux textes, ce qui permet à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle de plongement vectoriel, qui encode les textes indépendamment pour une comparaison vectorielle réutilisable. La sortie du reclasseur est un score scalaire pour une paire particulière plutôt qu’un vecteur de document ou une réponse écrite.</p><p>Utilisez le modèle après qu’une recherche initiale a sélectionné des passages plausibles. Associez la question à chaque candidat et ordonnez les candidats selon les scores obtenus. Cela concentre la comparaison plus détaillée sur une présélection gérable plutôt que de demander à un encodeur croisé d’inspecter tous les passages d’une grande collection.</p><h4>L’édition v2 M3</h4><p>Le fabricant identifie BGE-M3 comme modèle de base et indique la prise en charge multilingue comme caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace; les variantes fondées sur Gemma et celles avec sélection de couches sont des modèles distincts avec d’autres choix d’implémentation. Le nom M3 ne signifie pas ici que le reclasseur renvoie les plongements denses, clairsemés et multivecteurs du modèle de plongement original.</p><p>Cette distinction compte lorsque vous choisissez le résultat nécessaire à votre application. Choisissez un modèle de plongement vectoriel pour représenter et rechercher une collection de documents. Choisissez ce reclasseur lorsque vous disposez déjà de textes candidats et devez déterminer quel passage est le plus pertinent pour la requête actuelle.</p><h4>Préparer des candidats utiles au classement</h4><p>Fournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Conservez les titres ou les définitions voisines lorsqu’ils déterminent le sens d’un passage. Dans l’exemple Transformers publié, la requête et le passage sont tokenisés ensemble avec troncature et max_length=512. C’est un réglage d’exemple plutôt qu’une limite générale du modèle. Gardez la question et les preuves requises dans le budget choisi pour la paire et vérifiez ce que la troncature supprime. Un résultat qui mentionne le même produit qu’une requête peut néanmoins être sans pertinence s’il traite de la mauvaise opération ou condition; préparez des exemples distinguant ces cas lors de l’évaluation de la qualité de recherche.</p><p>Pour un assistant documentaire, conservez les identifiants des candidats avec leur texte, attribuez des scores aux paires question–passage et transmettez les passages originaux retenus à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence dépourvu de source. Il s’agit d’un exemple de processus de recherche; le reclasseur ne recherche pas lui-même dans une collection externe et n’écrit pas la réponse.</p><h4>Lire et normaliser les scores</h4><p>Le fabricant renvoie des scores bruts de pertinence; une valeur supérieure indique une correspondance plus étroite. La normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé a une plage pratique, mais cette transformation ne suffit pas à établir une probabilité calibrée que le candidat soit correct.</p><p>Choisissez les seuils de classement ou de filtrage à partir de paires requête–passage représentatives de votre charge de travail. Incluez des passages partageant les mêmes mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés autrement. Le seuil choisi devient ainsi significatif pour la collection recherchée.</p><p>Pour un projet d’API Ailoot, définissez ce que le contexte final doit contenir et combien de candidats peuvent être examinés efficacement. Le résultat utile est un ensemble de preuves mieux ordonné pour l’étape suivante de l’application. Gardez la sortie de pertinence de cette édition distincte des plongements vectoriels de documents, de la prose générée et des commandes de sélection de couches documentées pour d’autres reclasseurs.</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></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><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>bge-reranker-v2-m3</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><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>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><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></tbody></table></div><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, 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>material_conditions</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>Définissez votre requête réelle et un tableau non vide des documents texte d’origine. Les indices des résultats renvoient à ce tableau d’origine.</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></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 · Jetons en entrée</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Sortie · Jetons en sortie</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div></td></tr><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>total de jetons</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 jetons</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée · total de jetons</span> <b>$0.00004</b> <span class=\"price-unit\">/ 1K jetons</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-ca/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-1089-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1089-panel-0\" aria-selected=\"true\" tabindex=\"0\">Utilisez les données d’entrée réelles 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-1089-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1089-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_QUERY:?Set the actual documented input value}&quot;\nexport AILOOT_QUERY\n: &quot;${AILOOT_DOCUMENTS_JSON:?Set the actual documented input value}&quot;\nexport AILOOT_DOCUMENTS_JSON\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;bge-reranker-v2-m3&#39;, &#39;query&#39;: &#39;${ACTUAL_QUERY}&#39;, &#39;documents&#39;: &#39;${ACTUAL_DOCUMENTS}&#39;}\nrequest[&#39;query&#39;]=os.environ[&#39;AILOOT_QUERY&#39;]\nrequest[&#39;documents&#39;]=json.loads(os.environ[&#39;AILOOT_DOCUMENTS_JSON&#39;])\nPath(&#39;request.json&#39;).write_text(json.dumps(request,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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\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\">Résultat JSON natif d’origine complet avec le modèle de réponse configuré, les indices de documents d’origine, les scores de pertinence, les chaînes de documents et l’utilisation native de jetons. Conservez chaque résultat réel et chaque champ d’utilisation.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><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\">Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.</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 le X-Client-Request-ID réel et la réponse complète. Consultez les ressources d’origine appartenant à votre compte et leurs URL exactes de contenu signées; ne soumettez jamais de nouveau une création incertaine.</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><th>Signification</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><td data-cell-label=\"Signification\"><span class=\"card-cell-label\">Signification</span>Modèle de réponse exact requis par le composant de traitement configuré de la source.</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><td data-cell-label=\"Signification\"><span class=\"card-cell-label\">Signification</span>Indice unique du document d’entrée d’origine.</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><td data-cell-label=\"Signification\"><span class=\"card-cell-label\">Signification</span>Score de pertinence fini.</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">results[].document</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td><td data-cell-label=\"Signification\"><span class=\"card-cell-label\">Signification</span>Document texte d’origine requis par ce composant configuré de traitement des réponses.</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><td data-cell-label=\"Signification\"><span class=\"card-cell-label\">Signification</span>Nombre natif de jetons fini et non négatif requis par le tarif accepté en vigueur.</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>Le corps JSON ou l’identifiant canonique explicite du modèle est invalide.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez la réponse et corrigez le champ de demande indiqué.</td></tr><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>La clé API Ailoot est invalide.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Utilisez votre clé API Ailoot autorisée.</td></tr><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>403 · <code>permission_error</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>Le groupe de la clé n’autorise pas cette méthode.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez les détails d’erreur retournés.</td></tr><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>La méthode sélectionnée ne possède aucune route autorisée.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez les détails d’erreur retournés.</td></tr><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>Le tarif accepté ne peut pas obtenir la quantité d’entrée ou la borne dont il a besoin.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez la réponse; utilisez la représentation d’entrée exigée par le tarif accepté.</td></tr><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>503 · <code></code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>Le stockage, la route, le tarif de la méthode ou la réservation requis n’est pas disponible.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez la réponse d’origine complète. Une réservation incertaine n’autorise pas une nouvelle soumission.</td></tr><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>502 · <code>billing_requires_check</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>Le résultat d’origine, l’utilisation ou le règlement doit être vérifié.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez l’identifiant réel de demande et la réponse d’origine. Consultez l’enregistrement existant appartenant à votre compte; ne soumettez pas de nouveau la demande de création.</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=bge-reranker-v2-m3&amp;route=Ultra&amp;caller=bge-reranker-v2-m3&amp;fmt=rerank\"><code>bge-reranker-v2-m3</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=bge-reranker-v2-m3&amp;route=Ultra&amp;caller=bge-reranker-v2-m3&amp;fmt=rerank\"><code>bge-reranker-v2-m3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bge-reranker-v2-m3",
        "fmt": "rerank",
        "http": "POST",
        "path": "/v1/rerank",
        "request_model_id": "bge-reranker-v2-m3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|rerank|/v1/rerank|bge-reranker-v2-m3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Le corps JSON ou l’identifiant canonique explicite du modèle est invalide.",
                "http_status": 400,
                "recovery": "Conservez la réponse et corrigez le champ de demande indiqué.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "La clé API Ailoot est invalide.",
                "http_status": 401,
                "recovery": "Utilisez votre clé API Ailoot autorisée.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Le groupe de la clé n’autorise pas cette méthode.",
                "http_status": 403,
                "recovery": "Conservez les détails d’erreur retournés.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "La méthode sélectionnée ne possède aucune route autorisée.",
                "http_status": 404,
                "recovery": "Conservez les détails d’erreur retournés.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Le tarif accepté ne peut pas obtenir la quantité d’entrée ou la borne dont il a besoin.",
                "http_status": 422,
                "recovery": "Conservez la réponse; utilisez la représentation d’entrée exigée par le tarif accepté.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Le stockage, la route, le tarif de la méthode ou la réservation requis n’est pas disponible.",
                "http_status": 503,
                "recovery": "Conservez la réponse d’origine complète. Une réservation incertaine n’autorise pas une nouvelle soumission.",
                "type": null
              },
              {
                "code": null,
                "condition": "Le résultat d’origine, l’utilisation ou le règlement doit être vérifié.",
                "http_status": 502,
                "recovery": "Conservez l’identifiant réel de demande et la réponse d’origine. Consultez l’enregistrement existant appartenant à votre compte; ne soumettez pas de nouveau la demande de création.",
                "type": "billing_requires_check"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [],
              "unknown": "Conservez le X-Client-Request-ID réel et la réponse complète. Consultez les ressources d’origine appartenant à votre compte et leurs URL exactes de contenu signées; ne soumettez jamais de nouveau une création incertaine."
            },
            "outputs": {
              "all_results": "Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.",
              "family": "rerank",
              "fields": [
                {
                  "description": "Modèle de réponse exact requis par le composant de traitement configuré de la source.",
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": "Indice unique du document d’entrée d’origine.",
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": "Score de pertinence fini.",
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": "Document texte d’origine requis par ce composant configuré de traitement des réponses.",
                  "name": "results[].document",
                  "type": "string"
                },
                {
                  "description": "Nombre natif de jetons fini et non négatif requis par le tarif accepté en vigueur.",
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ],
              "result": "Résultat JSON natif d’origine complet avec le modèle de réponse configuré, les indices de documents d’origine, les scores de pertinence, les chaînes de documents et l’utilisation native de jetons. Conservez chaque résultat réel et chaque champ d’utilisation."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "bge-reranker-v2-m3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "query",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "documents",
                "required": true,
                "type": "array"
              }
            ],
            "request_schema": {
              "properties": {
                "documents": {
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bge-reranker-v2-m3"
                  ],
                  "type": "string"
                },
                "query": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "documents"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "documents": "${ACTUAL_DOCUMENTS}",
                "model": "bge-reranker-v2-m3",
                "query": "${ACTUAL_QUERY}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Définissez votre requête réelle et un tableau non vide des documents texte d’origine. Les indices des résultats renvoient à ce tableau d’origine."
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "documents"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/rerank"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "rerank",
            "fields": [
              {
                "description": "Exact response model required by the configured Source consumer.",
                "name": "model",
                "type": "string"
              },
              {
                "description": "Unique original input document index.",
                "name": "results[].index",
                "type": "integer"
              },
              {
                "description": "Finite relevance score.",
                "name": "results[].relevance_score",
                "type": "number"
              },
              {
                "description": "Original text document required by this configured response consumer.",
                "name": "results[].document",
                "type": "string"
              },
              {
                "description": "Finite nonnegative native token count required by the current accepted tariff.",
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ],
            "result": "Complete original native JSON result with the configured response model, original document indices, relevance scores, document strings and native token usage. Retain every actual result and usage field."
          }
        },
        "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": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "total token",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "total_token",
                "label": "total token",
                "native_amount_usd_per_unit": "0.00000004",
                "native_quantity": 1,
                "native_unit": "total_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "total_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_QUERY:?Set the actual documented input value}\"\nexport AILOOT_QUERY\n: \"${AILOOT_DOCUMENTS_JSON:?Set the actual documented input value}\"\nexport AILOOT_DOCUMENTS_JSON\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bge-reranker-v2-m3', 'query': '${ACTUAL_QUERY}', 'documents': '${ACTUAL_DOCUMENTS}'}\nrequest['query']=os.environ['AILOOT_QUERY']\nrequest['documents']=json.loads(os.environ['AILOOT_DOCUMENTS_JSON'])\nPath('request.json').write_text(json.dumps(request,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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "rerank",
        "hints": [
          "Set your actual query and nonempty array of original text documents. Result indices refer to that original array.",
          "The minimum example omits top_n, return_documents, instruct and other optional controls.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "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": {
            "total_token": 4e-08
          }
        },
        "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": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "total token",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "total_token",
                "label": "total token",
                "native_amount_usd_per_unit": "0.00000004",
                "native_quantity": 1,
                "native_unit": "total_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "total_token"
              }
            ]
          }
        ],
        "request_model_id": "bge-reranker-v2-m3",
        "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.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "total_token",
            "label": "total token",
            "native_amount_usd_per_unit": "0.00000004",
            "native_quantity": 1,
            "native_unit": "total_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "total_token"
          }
        ]
      }
    }
  ],
  "model_id": "bge-reranker-v2-m3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "181dc5358b11ad59fe444cd16d43246ead2a33ef9a76d3334e7c17ca58ce8213",
    "input_html_sha256": "b7da039b187e8e29faa7da5a2e609f60bf7e208b187dc3c15e405f464e5854e3",
    "private_audit_sha256": "041ecba1d89eeeb06f01f67c57a208d6c328968d984087c2ae4fbbdadebb7068",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr-ca/bge-reranker-v2-m3/",
    "description": "L’encodeur croisé multilingue de BAAI classe les passages candidats selon une requête. Il lit ensemble chaque paire requête–passage et renvoie un score de pertinence, pour affiner une présélection de recherche sans générer de réponse ni créer de plongements vectoriels de documents.",
    "locale": "fr-ca",
    "md_url": "https://ailoot.ai/models/fr-ca/bge-reranker-v2-m3/index.md",
    "title": "bge-reranker-v2-m3 — Ailoot",
    "url": "https://ailoot.ai/models/fr-ca/bge-reranker-v2-m3/"
  },
  "rawModel": {
    "about": "BGE Reranker v2 M3 est un modèle multilingue de pertinence fondé sur BGE-M3. Il reçoit ensemble une requête et un passage candidat et renvoie un score de leur relation. BAAI positionne cette édition comme un reclasseur multilingue efficace, notamment pour la recherche en chinois et en anglais, lorsqu’une application de recherche doit affiner une liste existante de candidats.\n\n### Pertinence d’une paire requête–passage\n\nUn encodeur croisé traite conjointement les deux textes, ce qui permet à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle de plongement vectoriel, qui encode les textes indépendamment pour une comparaison vectorielle réutilisable. La sortie du reclasseur est un score scalaire pour une paire particulière plutôt qu’un vecteur de document ou une réponse écrite.\n\nUtilisez le modèle après qu’une recherche initiale a sélectionné des passages plausibles. Associez la question à chaque candidat et ordonnez les candidats selon les scores obtenus. Cela concentre la comparaison plus détaillée sur une présélection gérable plutôt que de demander à un encodeur croisé d’inspecter tous les passages d’une grande collection.\n\n### L’édition v2 M3\n\nLe fabricant identifie BGE-M3 comme modèle de base et indique la prise en charge multilingue comme caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace; les variantes fondées sur Gemma et celles avec sélection de couches sont des modèles distincts avec d’autres choix d’implémentation. Le nom M3 ne signifie pas ici que le reclasseur renvoie les plongements denses, clairsemés et multivecteurs du modèle de plongement original.\n\nCette distinction compte lorsque vous choisissez le résultat nécessaire à votre application. Choisissez un modèle de plongement vectoriel pour représenter et rechercher une collection de documents. Choisissez ce reclasseur lorsque vous disposez déjà de textes candidats et devez déterminer quel passage est le plus pertinent pour la requête actuelle.\n\n### Préparer des candidats utiles au classement\n\nFournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Conservez les titres ou les définitions voisines lorsqu’ils déterminent le sens d’un passage. Dans l’exemple Transformers publié, la requête et le passage sont tokenisés ensemble avec troncature et max_length=512. C’est un réglage d’exemple plutôt qu’une limite générale du modèle. Gardez la question et les preuves requises dans le budget choisi pour la paire et vérifiez ce que la troncature supprime. Un résultat qui mentionne le même produit qu’une requête peut néanmoins être sans pertinence s’il traite de la mauvaise opération ou condition; préparez des exemples distinguant ces cas lors de l’évaluation de la qualité de recherche.\n\nPour un assistant documentaire, conservez les identifiants des candidats avec leur texte, attribuez des scores aux paires question–passage et transmettez les passages originaux retenus à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence dépourvu de source. Il s’agit d’un exemple de processus de recherche; le reclasseur ne recherche pas lui-même dans une collection externe et n’écrit pas la réponse.\n\n### Lire et normaliser les scores\n\nLe fabricant renvoie des scores bruts de pertinence; une valeur supérieure indique une correspondance plus étroite. La normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé a une plage pratique, mais cette transformation ne suffit pas à établir une probabilité calibrée que le candidat soit correct.\n\nChoisissez les seuils de classement ou de filtrage à partir de paires requête–passage représentatives de votre charge de travail. Incluez des passages partageant les mêmes mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés autrement. Le seuil choisi devient ainsi significatif pour la collection recherchée.\n\nPour un projet d’API Ailoot, définissez ce que le contexte final doit contenir et combien de candidats peuvent être examinés efficacement. Le résultat utile est un ensemble de preuves mieux ordonné pour l’étape suivante de l’application. Gardez la sortie de pertinence de cette édition distincte des plongements vectoriels de documents, de la prose générée et des commandes de sélection de couches documentées pour d’autres reclasseurs.",
    "alias_of": null,
    "aliases": [],
    "author": "BAAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [],
      "manufacturer_output": []
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "total_token",
            "label": "total token",
            "native_amount_usd_per_unit": "0.00000004",
            "native_quantity": 1,
            "native_unit": "total_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "total_token"
          }
        ],
        "summary": "La tarification complète de la configuration figure dans les détails."
      }
    ],
    "ctx": null,
    "formats": [
      "rerank"
    ],
    "id": "bge-reranker-v2-m3",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Le corps JSON ou l’identifiant canonique explicite du modèle est invalide.",
                "http_status": 400,
                "recovery": "Conservez la réponse et corrigez le champ de demande indiqué.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "La clé API Ailoot est invalide.",
                "http_status": 401,
                "recovery": "Utilisez votre clé API Ailoot autorisée.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Le groupe de la clé n’autorise pas cette méthode.",
                "http_status": 403,
                "recovery": "Conservez les détails d’erreur retournés.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "La méthode sélectionnée ne possède aucune route autorisée.",
                "http_status": 404,
                "recovery": "Conservez les détails d’erreur retournés.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Le tarif accepté ne peut pas obtenir la quantité d’entrée ou la borne dont il a besoin.",
                "http_status": 422,
                "recovery": "Conservez la réponse; utilisez la représentation d’entrée exigée par le tarif accepté.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Le stockage, la route, le tarif de la méthode ou la réservation requis n’est pas disponible.",
                "http_status": 503,
                "recovery": "Conservez la réponse d’origine complète. Une réservation incertaine n’autorise pas une nouvelle soumission.",
                "type": null
              },
              {
                "code": null,
                "condition": "Le résultat d’origine, l’utilisation ou le règlement doit être vérifié.",
                "http_status": 502,
                "recovery": "Conservez l’identifiant réel de demande et la réponse d’origine. Consultez l’enregistrement existant appartenant à votre compte; ne soumettez pas de nouveau la demande de création.",
                "type": "billing_requires_check"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [],
              "unknown": "Conservez le X-Client-Request-ID réel et la réponse complète. Consultez les ressources d’origine appartenant à votre compte et leurs URL exactes de contenu signées; ne soumettez jamais de nouveau une création incertaine."
            },
            "outputs": {
              "all_results": "Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.",
              "family": "rerank",
              "fields": [
                {
                  "description": "Modèle de réponse exact requis par le composant de traitement configuré de la source.",
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": "Indice unique du document d’entrée d’origine.",
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": "Score de pertinence fini.",
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": "Document texte d’origine requis par ce composant configuré de traitement des réponses.",
                  "name": "results[].document",
                  "type": "string"
                },
                {
                  "description": "Nombre natif de jetons fini et non négatif requis par le tarif accepté en vigueur.",
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ],
              "result": "Résultat JSON natif d’origine complet avec le modèle de réponse configuré, les indices de documents d’origine, les scores de pertinence, les chaînes de documents et l’utilisation native de jetons. Conservez chaque résultat réel et chaque champ d’utilisation."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "bge-reranker-v2-m3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "query",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "documents",
                "required": true,
                "type": "array"
              }
            ],
            "request_schema": {
              "properties": {
                "documents": {
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "bge-reranker-v2-m3"
                  ],
                  "type": "string"
                },
                "query": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "documents"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "documents": "${ACTUAL_DOCUMENTS}",
                "model": "bge-reranker-v2-m3",
                "query": "${ACTUAL_QUERY}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Définissez votre requête réelle et un tableau non vide des documents texte d’origine. Les indices des résultats renvoient à ce tableau d’origine."
            ],
            "material_types": [
              "text"
            ],
            "required": [
              "model",
              "documents"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/rerank"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "rerank",
            "fields": [
              {
                "description": "Exact response model required by the configured Source consumer.",
                "name": "model",
                "type": "string"
              },
              {
                "description": "Unique original input document index.",
                "name": "results[].index",
                "type": "integer"
              },
              {
                "description": "Finite relevance score.",
                "name": "results[].relevance_score",
                "type": "number"
              },
              {
                "description": "Original text document required by this configured response consumer.",
                "name": "results[].document",
                "type": "string"
              },
              {
                "description": "Finite nonnegative native token count required by the current accepted tariff.",
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ],
            "result": "Complete original native JSON result with the configured response model, original document indices, relevance scores, document strings and native token usage. Retain every actual result and usage field."
          }
        },
        "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": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "total token",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "total_token",
                "label": "total token",
                "native_amount_usd_per_unit": "0.00000004",
                "native_quantity": 1,
                "native_unit": "total_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "total_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_QUERY:?Set the actual documented input value}\"\nexport AILOOT_QUERY\n: \"${AILOOT_DOCUMENTS_JSON:?Set the actual documented input value}\"\nexport AILOOT_DOCUMENTS_JSON\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'bge-reranker-v2-m3', 'query': '${ACTUAL_QUERY}', 'documents': '${ACTUAL_DOCUMENTS}'}\nrequest['query']=os.environ['AILOOT_QUERY']\nrequest['documents']=json.loads(os.environ['AILOOT_DOCUMENTS_JSON'])\nPath('request.json').write_text(json.dumps(request,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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "rerank",
        "hints": [
          "Set your actual query and nonempty array of original text documents. Result indices refer to that original array.",
          "The minimum example omits top_n, return_documents, instruct and other optional controls.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "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": {
            "total_token": 4e-08
          }
        },
        "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": {
              "quoted_unit": "/ 1K tokens"
            },
            "label": "total token",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "total_token",
                "label": "total token",
                "native_amount_usd_per_unit": "0.00000004",
                "native_quantity": 1,
                "native_unit": "total_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "total_token"
              }
            ]
          }
        ],
        "request_model_id": "bge-reranker-v2-m3",
        "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.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "total_token",
            "label": "total token",
            "native_amount_usd_per_unit": "0.00000004",
            "native_quantity": 1,
            "native_unit": "total_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "total_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "bge-reranker-v2-m3",
        "request_model_id": "bge-reranker-v2-m3",
        "route_label": "Ultra"
      }
    ],
    "name": "bge-reranker-v2-m3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "L’encodeur croisé multilingue de BAAI classe les passages candidats selon une requête. Il lit ensemble chaque paire requête–passage et renvoie un score de pertinence, pour affiner une présélection de recherche sans générer de réponse ni créer de plongements vectoriels de documents."
  },
  "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": "L’encodeur croisé multilingue de BAAI classe les passages candidats selon une requête. Il lit ensemble chaque paire requête–passage et renvoie un score de pertinence, pour affiner une présélection de recherche sans générer de réponse ni créer de plongements vectoriels de documents.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "c1fb41cca4f04ac948780a4b909bd0c0a29edebbd421d26e90a9c0600ca8d1b2",
    "renderer_sha256": "98cb81b9c4ef4923c22e586170e7cdf67056351148a1666fb03dd6a4a26716a3"
  },
  "sourceRevision": "68b821ef495f5d5fd865f2e846a6210b7464523b0ae53bac9fccc20a7cdff2ca"
}
