{
  "aboutHtml": "<p>BGE Reranker v2 M3 est un modèle multilingue de pertinence construit 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 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, permettant à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle d’embeddings, qui encode les textes indépendamment pour des comparaisons vectorielles réutilisables. La sortie du reclasseur est un score scalaire pour une paire précise, 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 au lieu de demander à un encodeur croisé d’inspecter chaque passage d’un grand ensemble.</p><h4>L’édition v2 M3</h4><p>Le concepteur identifie BGE-M3 comme modèle de base et fait de la prise en charge multilingue une caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace ; les variantes fondées sur Gemma et à sélection de couches sont des modèles distincts, avec des choix d’implémentation différents. Le nom M3 ne signifie pas ici que le reclasseur renvoie les embeddings denses, parcimonieux et multivecteurs du modèle d’embeddings original.</p><p>Cette distinction compte pour choisir le résultat nécessaire à votre application. Sélectionnez un modèle d’embeddings pour représenter et parcourir un ensemble de documents. Sélectionnez 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 à classer utilement</h4><p>Fournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Préservez 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. Il s’agit d’un réglage d’exemple plutôt que d’une limite globale du modèle. Gardez la question et les preuves requises dans le budget de paire sélectionné, et vérifiez ce que la troncature supprime. Un résultat mentionnant le même produit qu’une requête peut rester sans pertinence s’il porte sur la mauvaise opération ou condition ; préparez des exemples qui distinguent ces cas pour évaluer la qualité de récupération.</p><p>Pour un assistant documentaire, gardez les identifiants candidats avec leurs textes, attribuez un score aux paires question–passage et transmettez les passages originaux sélectionnés à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence sans sa source. Il s’agit d’un exemple de flux de récupération ; le reclasseur lui-même ne cherche pas dans une collection externe et ne rédige 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 indiquant une correspondance plus forte. Sa normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé possède une plage pratique, mais cette transformation seule n’établit pas 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 des mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés différemment. Cela donne au seuil sélectionné un sens pour l’ensemble parcouru.</p><p>Pour un projet Ailoot API, 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 applicative suivante. Gardez la sortie de pertinence de cette édition séparée des embeddings de documents, de la prose générée et des réglages de sélection de couches documentés pour d’autres reclasseurs.</p>",
  "aboutText": "BGE Reranker v2 M3 est un modèle multilingue de pertinence construit 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 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, permettant à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle d’embeddings, qui encode les textes indépendamment pour des comparaisons vectorielles réutilisables. La sortie du reclasseur est un score scalaire pour une paire précise, 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 au lieu de demander à un encodeur croisé d’inspecter chaque passage d’un grand ensemble.\n\n### L’édition v2 M3\n\nLe concepteur identifie BGE-M3 comme modèle de base et fait de la prise en charge multilingue une caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace ; les variantes fondées sur Gemma et à sélection de couches sont des modèles distincts, avec des choix d’implémentation différents. Le nom M3 ne signifie pas ici que le reclasseur renvoie les embeddings denses, parcimonieux et multivecteurs du modèle d’embeddings original.\n\nCette distinction compte pour choisir le résultat nécessaire à votre application. Sélectionnez un modèle d’embeddings pour représenter et parcourir un ensemble de documents. Sélectionnez 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 à classer utilement\n\nFournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Préservez 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. Il s’agit d’un réglage d’exemple plutôt que d’une limite globale du modèle. Gardez la question et les preuves requises dans le budget de paire sélectionné, et vérifiez ce que la troncature supprime. Un résultat mentionnant le même produit qu’une requête peut rester sans pertinence s’il porte sur la mauvaise opération ou condition ; préparez des exemples qui distinguent ces cas pour évaluer la qualité de récupération.\n\nPour un assistant documentaire, gardez les identifiants candidats avec leurs textes, attribuez un score aux paires question–passage et transmettez les passages originaux sélectionnés à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence sans sa source. Il s’agit d’un exemple de flux de récupération ; le reclasseur lui-même ne cherche pas dans une collection externe et ne rédige pas la réponse.\n\n### Lire et normaliser les scores\n\nLe fabricant renvoie des scores bruts de pertinence, une valeur supérieure indiquant une correspondance plus forte. Sa normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé possède une plage pratique, mais cette transformation seule n’établit pas 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 des mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés différemment. Cela donne au seuil sélectionné un sens pour l’ensemble parcouru.\n\nPour un projet Ailoot API, 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 applicative suivante. Gardez la sortie de pertinence de cette édition séparée des embeddings de documents, de la prose générée et des réglages de sélection de couches documentés pour d’autres reclasseurs.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "08cecdb6dead9831bec162a0e720a371f40819425888fa5e92ae86d74669b8e5",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fr-be",
  "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\">Premiers pas</button><button type=\"button\" data-card-jump=\"methods\">Entrées et méthodes</button><button type=\"button\" data-card-jump=\"pricing\">Tarifs</button><button type=\"button\" data-card-jump=\"examples\">Exemples</button><button type=\"button\" data-card-jump=\"results\">Résultats</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Méthodes API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|rerank|/v1/rerank|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\">Premiers pas</h3><p class=\"mdesc-full\">L’encodeur croisé multilingue de BAAI classe les passages candidats selon une requête. Il lit chaque paire requête–passage ensemble et renvoie un score de pertinence, affinant une présélection de recherche sans générer de réponse ni créer de représentations vectorielles 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 construit 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 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, permettant à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle d’embeddings, qui encode les textes indépendamment pour des comparaisons vectorielles réutilisables. La sortie du reclasseur est un score scalaire pour une paire précise, 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 au lieu de demander à un encodeur croisé d’inspecter chaque passage d’un grand ensemble.</p><h4>L’édition v2 M3</h4><p>Le concepteur identifie BGE-M3 comme modèle de base et fait de la prise en charge multilingue une caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace ; les variantes fondées sur Gemma et à sélection de couches sont des modèles distincts, avec des choix d’implémentation différents. Le nom M3 ne signifie pas ici que le reclasseur renvoie les embeddings denses, parcimonieux et multivecteurs du modèle d’embeddings original.</p><p>Cette distinction compte pour choisir le résultat nécessaire à votre application. Sélectionnez un modèle d’embeddings pour représenter et parcourir un ensemble de documents. Sélectionnez 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 à classer utilement</h4><p>Fournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Préservez 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. Il s’agit d’un réglage d’exemple plutôt que d’une limite globale du modèle. Gardez la question et les preuves requises dans le budget de paire sélectionné, et vérifiez ce que la troncature supprime. Un résultat mentionnant le même produit qu’une requête peut rester sans pertinence s’il porte sur la mauvaise opération ou condition ; préparez des exemples qui distinguent ces cas pour évaluer la qualité de récupération.</p><p>Pour un assistant documentaire, gardez les identifiants candidats avec leurs textes, attribuez un score aux paires question–passage et transmettez les passages originaux sélectionnés à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence sans sa source. Il s’agit d’un exemple de flux de récupération ; le reclasseur lui-même ne cherche pas dans une collection externe et ne rédige 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 indiquant une correspondance plus forte. Sa normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé possède une plage pratique, mais cette transformation seule n’établit pas 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 des mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés différemment. Cela donne au seuil sélectionné un sens pour l’ensemble parcouru.</p><p>Pour un projet Ailoot API, 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 applicative suivante. Gardez la sortie de pertinence de cette édition séparée des embeddings de documents, de la prose générée et des réglages de sélection de couches documentés 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>Renseignez votre requête réelle et un tableau non vide de documents textuels d’origine. Les index des résultats se rapportent à 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 · Tokens en entrée</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Sortie · Tokens en sortie</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>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 tokens</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 tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. <a href=\"/docs/fr-be/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 index des documents d’origine, les scores de pertinence, les chaînes des documents et la consommation native de jetons. Conservez chaque résultat réel et chaque champ de consommation.</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 la valeur réelle X-Client-Request-ID et la réponse complète. Consultez les ressources d’origine dont vous êtes propriétaire et leurs URL de contenu signées exactes ; 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 Source configuré qui exploite cette réponse.</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>Index 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 textuel d’origine requis par le composant configuré qui exploite cette réponse.</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 actuellement accepté.</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’ID 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 indiqué de la requête.</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 de l’erreur renvoyé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 dispose d’aucune route autorisée.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez les détails de l’erreur renvoyé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 permet pas d’obtenir la quantité d’entrée ou la borne requise.</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 requise 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 est indisponible.</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, la consommation ou le règlement d’origine nécessite une vérification.</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Conservez l’ID réel de la requête et la réponse d’origine. Consultez l’enregistrement existant dont vous êtes propriétaire ; ne soumettez pas de nouveau la 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’ID canonique explicite du modèle est invalide.",
                "http_status": 400,
                "recovery": "Conservez la réponse et corrigez le champ indiqué de la requête.",
                "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 de l’erreur renvoyés.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "La méthode sélectionnée ne dispose d’aucune route autorisée.",
                "http_status": 404,
                "recovery": "Conservez les détails de l’erreur renvoyés.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Le tarif accepté ne permet pas d’obtenir la quantité d’entrée ou la borne requise.",
                "http_status": 422,
                "recovery": "Conservez la réponse ; utilisez la représentation d’entrée requise 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 est indisponible.",
                "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, la consommation ou le règlement d’origine nécessite une vérification.",
                "http_status": 502,
                "recovery": "Conservez l’ID réel de la requête et la réponse d’origine. Consultez l’enregistrement existant dont vous êtes propriétaire ; ne soumettez pas de nouveau la 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 la valeur réelle X-Client-Request-ID et la réponse complète. Consultez les ressources d’origine dont vous êtes propriétaire et leurs URL de contenu signées exactes ; 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 Source configuré qui exploite cette réponse.",
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": "Index 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 textuel d’origine requis par le composant configuré qui exploite cette réponse.",
                  "name": "results[].document",
                  "type": "string"
                },
                {
                  "description": "Nombre natif de jetons fini et non négatif requis par le tarif actuellement accepté.",
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ],
              "result": "Résultat JSON natif d’origine complet avec le modèle de réponse configuré, les index des documents d’origine, les scores de pertinence, les chaînes des documents et la consommation native de jetons. Conservez chaque résultat réel et chaque champ de consommation."
            },
            "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": [
              "Renseignez votre requête réelle et un tableau non vide de documents textuels d’origine. Les index des résultats se rapportent à 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": "a811d2b710af03d6d095aab96b43a24150c42e61e01c0c4f01dab1252412a587",
    "input_html_sha256": "db2054d6280a47dd28d76da1fb157c22c3fcf291eb523d78ede895e3c9fd3c43",
    "private_audit_sha256": "a612341ec080133c0efd7ca7acfdbb9c0147ae53def0427beabaf75fa7806b48",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr-be/bge-reranker-v2-m3/",
    "description": "L’encodeur croisé multilingue de BAAI classe les passages candidats selon une requête. Il lit chaque paire requête–passage ensemble et renvoie un score de pertinence, affinant une présélection de recherche sans générer de réponse ni créer de représentations vectorielles de documents.",
    "locale": "fr-be",
    "md_url": "https://ailoot.ai/models/fr-be/bge-reranker-v2-m3/index.md",
    "title": "bge-reranker-v2-m3 — Ailoot",
    "url": "https://ailoot.ai/models/fr-be/bge-reranker-v2-m3/"
  },
  "rawModel": {
    "about": "BGE Reranker v2 M3 est un modèle multilingue de pertinence construit 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 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, permettant à leurs contenus d’interagir avant la production du score de pertinence. Cela diffère d’un modèle d’embeddings, qui encode les textes indépendamment pour des comparaisons vectorielles réutilisables. La sortie du reclasseur est un score scalaire pour une paire précise, 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 au lieu de demander à un encodeur croisé d’inspecter chaque passage d’un grand ensemble.\n\n### L’édition v2 M3\n\nLe concepteur identifie BGE-M3 comme modèle de base et fait de la prise en charge multilingue une caractéristique principale. Dans sa famille de reclasseurs v2, M3 est l’option multilingue efficace ; les variantes fondées sur Gemma et à sélection de couches sont des modèles distincts, avec des choix d’implémentation différents. Le nom M3 ne signifie pas ici que le reclasseur renvoie les embeddings denses, parcimonieux et multivecteurs du modèle d’embeddings original.\n\nCette distinction compte pour choisir le résultat nécessaire à votre application. Sélectionnez un modèle d’embeddings pour représenter et parcourir un ensemble de documents. Sélectionnez 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 à classer utilement\n\nFournissez la question réelle et le texte candidat complet nécessaire à son interprétation. Préservez 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. Il s’agit d’un réglage d’exemple plutôt que d’une limite globale du modèle. Gardez la question et les preuves requises dans le budget de paire sélectionné, et vérifiez ce que la troncature supprime. Un résultat mentionnant le même produit qu’une requête peut rester sans pertinence s’il porte sur la mauvaise opération ou condition ; préparez des exemples qui distinguent ces cas pour évaluer la qualité de récupération.\n\nPour un assistant documentaire, gardez les identifiants candidats avec leurs textes, attribuez un score aux paires question–passage et transmettez les passages originaux sélectionnés à l’étape de réponse. Le modèle de réponse reçoit alors les preuves plutôt qu’un score de pertinence sans sa source. Il s’agit d’un exemple de flux de récupération ; le reclasseur lui-même ne cherche pas dans une collection externe et ne rédige pas la réponse.\n\n### Lire et normaliser les scores\n\nLe fabricant renvoie des scores bruts de pertinence, une valeur supérieure indiquant une correspondance plus forte. Sa normalisation facultative documentée applique une fonction sigmoïde pour placer le score entre 0 et 1. Un score normalisé possède une plage pratique, mais cette transformation seule n’établit pas 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 des mots-clés mais répondant à une autre question, ainsi que des passages pertinents formulés différemment. Cela donne au seuil sélectionné un sens pour l’ensemble parcouru.\n\nPour un projet Ailoot API, 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 applicative suivante. Gardez la sortie de pertinence de cette édition séparée des embeddings de documents, de la prose générée et des réglages de sélection de couches documentés 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’ID canonique explicite du modèle est invalide.",
                "http_status": 400,
                "recovery": "Conservez la réponse et corrigez le champ indiqué de la requête.",
                "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 de l’erreur renvoyés.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "La méthode sélectionnée ne dispose d’aucune route autorisée.",
                "http_status": 404,
                "recovery": "Conservez les détails de l’erreur renvoyés.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Le tarif accepté ne permet pas d’obtenir la quantité d’entrée ou la borne requise.",
                "http_status": 422,
                "recovery": "Conservez la réponse ; utilisez la représentation d’entrée requise 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 est indisponible.",
                "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, la consommation ou le règlement d’origine nécessite une vérification.",
                "http_status": 502,
                "recovery": "Conservez l’ID réel de la requête et la réponse d’origine. Consultez l’enregistrement existant dont vous êtes propriétaire ; ne soumettez pas de nouveau la 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 la valeur réelle X-Client-Request-ID et la réponse complète. Consultez les ressources d’origine dont vous êtes propriétaire et leurs URL de contenu signées exactes ; 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 Source configuré qui exploite cette réponse.",
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": "Index 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 textuel d’origine requis par le composant configuré qui exploite cette réponse.",
                  "name": "results[].document",
                  "type": "string"
                },
                {
                  "description": "Nombre natif de jetons fini et non négatif requis par le tarif actuellement accepté.",
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ],
              "result": "Résultat JSON natif d’origine complet avec le modèle de réponse configuré, les index des documents d’origine, les scores de pertinence, les chaînes des documents et la consommation native de jetons. Conservez chaque résultat réel et chaque champ de consommation."
            },
            "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": [
              "Renseignez votre requête réelle et un tableau non vide de documents textuels d’origine. Les index des résultats se rapportent à 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 chaque paire requête–passage ensemble et renvoie un score de pertinence, affinant une présélection de recherche sans générer de réponse ni créer de représentations vectorielles 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 chaque paire requête–passage ensemble et renvoie un score de pertinence, affinant une présélection de recherche sans générer de réponse ni créer de représentations vectorielles de documents.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e87fc20f57e9758835e4988584b989143b5dc7bc55b1d67b529939175c0dd5d0",
    "renderer_sha256": "9d578ff8df69ef70403308c9943a1179a11b94114c10b333bf1c012005d4a7f4"
  },
  "sourceRevision": "d074ccda91dffbdc864b6ae66156f9606a868cbcb9b6fde7f742bf29d3734fbc"
}
