{
  "aboutHtml": "<p>BGE Reranker v2 M3 on BGE-M3:n pohjalle rakennettu monikielinen relevanssimalli. Se vastaanottaa yhdessä kyselyn ja ehdokastekstikatkelman sekä palauttaa pistearvon niiden suhteelle. BAAI asemoi tämän version tehokkaaksi monikieliseksi uudelleenjärjestelijäksi muun muassa kiinan- ja englanninkieliseen tiedonhakuun, kun hakusovelluksen täytyy tarkentaa olemassa olevaa ehdokasluetteloa.</p><h4>Relevanssi kyselyn ja katkelman parista</h4><p>Ristiinkooderi käsittelee molemmat tekstit yhdessä, jolloin niiden sisällöt voivat vaikuttaa toisiinsa ennen relevanssipisteen tuottamista. Tämä eroaa upotusmallista, joka koodaa tekstit erikseen uudelleenkäytettävää vektorivertailua varten. Uudelleenjärjestelijä tuottaa tietyn parin skalaarisen pistearvon, ei asiakirjavektoria tai kirjallista vastausta.</p><p>Käytä mallia sen jälkeen, kun ensimmäinen haku on valinnut mahdollisesti sopivat katkelmat. Yhdistä kysymys jokaiseen ehdokkaaseen ja järjestä ehdokkaat saatujen pisteiden perusteella. Näin yksityiskohtaisempi vertailu kohdistuu hallittavaan ehdokasjoukkoon sen sijaan, että ristiinkooderia pyydettäisiin tutkimaan suuren kokoelman kaikki katkelmat.</p><h4>v2 M3 -versio</h4><p>Valmistaja nimeää BGE-M3:n pohjamalliksi ja monikielisen tuen keskeiseksi ominaisuudeksi. Sen v2-uudelleenjärjestelijäperheessä M3 on tehokas monikielinen vaihtoehto; Gemma-pohjaiset ja kerrosvalintaa käyttävät variantit ovat eri malleja, joissa on erilaiset toteutusvalinnat. M3-nimi ei tässä tarkoita, että uudelleenjärjestelijä palauttaisi alkuperäisen upotusmallin tiheitä, harvoja ja monivektoriupotuksia.</p><p>Tämä ero on merkityksellinen, kun valitset sovelluksen tarvitsemaa tulosta. Valitse upotusmalli asiakirjakokoelman esittämiseen ja hakuun. Valitse tämä uudelleenjärjestelijä, kun sinulla on jo ehdokastekstit ja sinun on ratkaistava, mikä katkelma on nykyisen kyselyn kannalta olennaisin.</p><h4>Hyödyllisesti järjestettävien ehdokkaiden valmistelu</h4><p>Anna varsinainen kysymys ja sen tulkinnassa tarvittava ehdokasteksti kokonaisuudessaan. Säilytä otsikot tai lähellä olevat määritelmät, jos ne määräävät katkelman merkityksen. Julkaistussa Transformers-esimerkissä kysely ja katkelma tokenisoidaan yhdessä käyttäen katkaisua ja asetusta max_length=512. Se on esimerkkiasetus, ei koko mallin yleinen raja. Pidä kysymys ja tarvittava näyttö valitun paribudjetin sisällä ja tarkista, mitä katkaisu poistaa. Tulos, joka mainitsee saman tuotteen kuin kysely, voi silti olla epäolennainen, jos se koskee väärää toimintoa tai ehtoa; valmistele hakulaadun arviointiin esimerkkejä, jotka erottavat nämä tapaukset.</p><p>Säilytä asiakirja-avustajassa ehdokkaiden tunnisteet tekstien rinnalla, pisteytä kysymys–katkelma-parit ja välitä valitut alkuperäiskatkelmat vastausvaiheeseen. Vastauksen tuottava malli saa silloin näytön eikä lähteetöntä relevanssipistettä. Tämä on havainnollistava tiedonhakutyönkulku; uudelleenjärjestelijä itse ei hae ulkoisesta kokoelmasta eikä kirjoita vastausta.</p><h4>Pisteiden tulkinta ja normalisointi</h4><p>Valmistaja palauttaa raakoja relevanssipisteitä, joissa suurempi arvo merkitsee läheisempää vastaavuutta. Dokumentoitu valinnainen normalisointi käyttää sigmoidifunktiota pisteen sijoittamiseksi välille 0–1. Normalisoidun pisteen vaihteluväli on kätevä, mutta pelkkä muunnos ei osoita kalibroitua todennäköisyyttä sille, että ehdokas on oikea.</p><p>Valitse järjestys- tai suodatuskynnykset työkuormaasi edustavilla kysely–katkelma-pareilla. Ota mukaan katkelmia, joissa on samoja avainsanoja mutta jotka vastaavat eri kysymykseen, sekä relevantteja katkelmia, joiden sanamuoto on erilainen. Näin valittu kynnys on merkityksellinen haettavassa kokoelmassa.</p><p>Määrittele Ailoot API -projektissa, mitä lopullisen kontekstin pitää sisältää ja kuinka monta ehdokasta voidaan tutkia tehokkaasti. Hyödyllinen tulos on paremmin järjestetty näyttöjoukko sovelluksen seuraavaa vaihetta varten. Pidä tämän version relevanssituloste erillään asiakirjaupotuksista, tuotetusta proosasta ja muiden uudelleenjärjestelijöiden dokumentoiduista kerrosvalinnan ohjaimista.</p>",
  "aboutText": "BGE Reranker v2 M3 on BGE-M3:n pohjalle rakennettu monikielinen relevanssimalli. Se vastaanottaa yhdessä kyselyn ja ehdokastekstikatkelman sekä palauttaa pistearvon niiden suhteelle. BAAI asemoi tämän version tehokkaaksi monikieliseksi uudelleenjärjestelijäksi muun muassa kiinan- ja englanninkieliseen tiedonhakuun, kun hakusovelluksen täytyy tarkentaa olemassa olevaa ehdokasluetteloa.\n\n### Relevanssi kyselyn ja katkelman parista\n\nRistiinkooderi käsittelee molemmat tekstit yhdessä, jolloin niiden sisällöt voivat vaikuttaa toisiinsa ennen relevanssipisteen tuottamista. Tämä eroaa upotusmallista, joka koodaa tekstit erikseen uudelleenkäytettävää vektorivertailua varten. Uudelleenjärjestelijä tuottaa tietyn parin skalaarisen pistearvon, ei asiakirjavektoria tai kirjallista vastausta.\n\nKäytä mallia sen jälkeen, kun ensimmäinen haku on valinnut mahdollisesti sopivat katkelmat. Yhdistä kysymys jokaiseen ehdokkaaseen ja järjestä ehdokkaat saatujen pisteiden perusteella. Näin yksityiskohtaisempi vertailu kohdistuu hallittavaan ehdokasjoukkoon sen sijaan, että ristiinkooderia pyydettäisiin tutkimaan suuren kokoelman kaikki katkelmat.\n\n### v2 M3 -versio\n\nValmistaja nimeää BGE-M3:n pohjamalliksi ja monikielisen tuen keskeiseksi ominaisuudeksi. Sen v2-uudelleenjärjestelijäperheessä M3 on tehokas monikielinen vaihtoehto; Gemma-pohjaiset ja kerrosvalintaa käyttävät variantit ovat eri malleja, joissa on erilaiset toteutusvalinnat. M3-nimi ei tässä tarkoita, että uudelleenjärjestelijä palauttaisi alkuperäisen upotusmallin tiheitä, harvoja ja monivektoriupotuksia.\n\nTämä ero on merkityksellinen, kun valitset sovelluksen tarvitsemaa tulosta. Valitse upotusmalli asiakirjakokoelman esittämiseen ja hakuun. Valitse tämä uudelleenjärjestelijä, kun sinulla on jo ehdokastekstit ja sinun on ratkaistava, mikä katkelma on nykyisen kyselyn kannalta olennaisin.\n\n### Hyödyllisesti järjestettävien ehdokkaiden valmistelu\n\nAnna varsinainen kysymys ja sen tulkinnassa tarvittava ehdokasteksti kokonaisuudessaan. Säilytä otsikot tai lähellä olevat määritelmät, jos ne määräävät katkelman merkityksen. Julkaistussa Transformers-esimerkissä kysely ja katkelma tokenisoidaan yhdessä käyttäen katkaisua ja asetusta max_length=512. Se on esimerkkiasetus, ei koko mallin yleinen raja. Pidä kysymys ja tarvittava näyttö valitun paribudjetin sisällä ja tarkista, mitä katkaisu poistaa. Tulos, joka mainitsee saman tuotteen kuin kysely, voi silti olla epäolennainen, jos se koskee väärää toimintoa tai ehtoa; valmistele hakulaadun arviointiin esimerkkejä, jotka erottavat nämä tapaukset.\n\nSäilytä asiakirja-avustajassa ehdokkaiden tunnisteet tekstien rinnalla, pisteytä kysymys–katkelma-parit ja välitä valitut alkuperäiskatkelmat vastausvaiheeseen. Vastauksen tuottava malli saa silloin näytön eikä lähteetöntä relevanssipistettä. Tämä on havainnollistava tiedonhakutyönkulku; uudelleenjärjestelijä itse ei hae ulkoisesta kokoelmasta eikä kirjoita vastausta.\n\n### Pisteiden tulkinta ja normalisointi\n\nValmistaja palauttaa raakoja relevanssipisteitä, joissa suurempi arvo merkitsee läheisempää vastaavuutta. Dokumentoitu valinnainen normalisointi käyttää sigmoidifunktiota pisteen sijoittamiseksi välille 0–1. Normalisoidun pisteen vaihteluväli on kätevä, mutta pelkkä muunnos ei osoita kalibroitua todennäköisyyttä sille, että ehdokas on oikea.\n\nValitse järjestys- tai suodatuskynnykset työkuormaasi edustavilla kysely–katkelma-pareilla. Ota mukaan katkelmia, joissa on samoja avainsanoja mutta jotka vastaavat eri kysymykseen, sekä relevantteja katkelmia, joiden sanamuoto on erilainen. Näin valittu kynnys on merkityksellinen haettavassa kokoelmassa.\n\nMäärittele Ailoot API -projektissa, mitä lopullisen kontekstin pitää sisältää ja kuinka monta ehdokasta voidaan tutkia tehokkaasti. Hyödyllinen tulos on paremmin järjestetty näyttöjoukko sovelluksen seuraavaa vaihetta varten. Pidä tämän version relevanssituloste erillään asiakirjaupotuksista, tuotetusta proosasta ja muiden uudelleenjärjestelijöiden dokumentoiduista kerrosvalinnan ohjaimista.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "4dad27c1654dcdca7e6a63f16fd639be2f88bc1d89d537bd12fece89b96e62ad",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fi",
  "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=\"Sulje\">×</button></div><div class=\"idline\"><span>BAAI /</span><code>bge-reranker-v2-m3</code><button type=\"button\" id=\"copy-id\">Kopioi ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Mallikortin osiot\"><button type=\"button\" data-card-jump=\"overview\">Aloitus</button><button type=\"button\" data-card-jump=\"methods\">Syötteet &amp; menetelmät</button><button type=\"button\" data-card-jump=\"pricing\">Hinnoittelu</button><button type=\"button\" data-card-jump=\"examples\">Esimerkit</button><button type=\"button\" data-card-jump=\"results\">Tulokset</button><button type=\"button\" data-card-jump=\"aliases\">Aliakset</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-menetelmät\"><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\">Uudelleenjärjestys</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\">Aloitus</h3><p class=\"mdesc-full\">BAAI:n monikielinen ristienkooderi järjestää tekstijaksoehdokkaat kyselyn perusteella. Se lukee kunkin kysely–tekstijaksoparin yhdessä ja palauttaa relevanssipisteen. Näin se tarkentaa haun ehdokaslistaa tuottamatta vastausta tai luomatta asiakirjaupotuksia.</p><dl class=\"card-io\" data-card-io><div><dt>Hyväksytyt syötteet</dt><dd>Teksti</dd></div><div><dt>Tulokset</dt><dd>Järjestetyt tulokset</dd></div></dl><details class=\"card-about\"><summary>Tietoa mallista</summary><p class=\"note-s\" data-model-method-boundary>Tämä kuvaus kattaa mallin ominaisuudet. Ailootissa saatavilla olevat syötteet, tulosteet ja asetukset luetellaan alla valitulle menetelmälle.</p><div class=\"mabout\" id=\"m-about\"><p>BGE Reranker v2 M3 on BGE-M3:n pohjalle rakennettu monikielinen relevanssimalli. Se vastaanottaa yhdessä kyselyn ja ehdokastekstikatkelman sekä palauttaa pistearvon niiden suhteelle. BAAI asemoi tämän version tehokkaaksi monikieliseksi uudelleenjärjestelijäksi muun muassa kiinan- ja englanninkieliseen tiedonhakuun, kun hakusovelluksen täytyy tarkentaa olemassa olevaa ehdokasluetteloa.</p><h4>Relevanssi kyselyn ja katkelman parista</h4><p>Ristiinkooderi käsittelee molemmat tekstit yhdessä, jolloin niiden sisällöt voivat vaikuttaa toisiinsa ennen relevanssipisteen tuottamista. Tämä eroaa upotusmallista, joka koodaa tekstit erikseen uudelleenkäytettävää vektorivertailua varten. Uudelleenjärjestelijä tuottaa tietyn parin skalaarisen pistearvon, ei asiakirjavektoria tai kirjallista vastausta.</p><p>Käytä mallia sen jälkeen, kun ensimmäinen haku on valinnut mahdollisesti sopivat katkelmat. Yhdistä kysymys jokaiseen ehdokkaaseen ja järjestä ehdokkaat saatujen pisteiden perusteella. Näin yksityiskohtaisempi vertailu kohdistuu hallittavaan ehdokasjoukkoon sen sijaan, että ristiinkooderia pyydettäisiin tutkimaan suuren kokoelman kaikki katkelmat.</p><h4>v2 M3 -versio</h4><p>Valmistaja nimeää BGE-M3:n pohjamalliksi ja monikielisen tuen keskeiseksi ominaisuudeksi. Sen v2-uudelleenjärjestelijäperheessä M3 on tehokas monikielinen vaihtoehto; Gemma-pohjaiset ja kerrosvalintaa käyttävät variantit ovat eri malleja, joissa on erilaiset toteutusvalinnat. M3-nimi ei tässä tarkoita, että uudelleenjärjestelijä palauttaisi alkuperäisen upotusmallin tiheitä, harvoja ja monivektoriupotuksia.</p><p>Tämä ero on merkityksellinen, kun valitset sovelluksen tarvitsemaa tulosta. Valitse upotusmalli asiakirjakokoelman esittämiseen ja hakuun. Valitse tämä uudelleenjärjestelijä, kun sinulla on jo ehdokastekstit ja sinun on ratkaistava, mikä katkelma on nykyisen kyselyn kannalta olennaisin.</p><h4>Hyödyllisesti järjestettävien ehdokkaiden valmistelu</h4><p>Anna varsinainen kysymys ja sen tulkinnassa tarvittava ehdokasteksti kokonaisuudessaan. Säilytä otsikot tai lähellä olevat määritelmät, jos ne määräävät katkelman merkityksen. Julkaistussa Transformers-esimerkissä kysely ja katkelma tokenisoidaan yhdessä käyttäen katkaisua ja asetusta max_length=512. Se on esimerkkiasetus, ei koko mallin yleinen raja. Pidä kysymys ja tarvittava näyttö valitun paribudjetin sisällä ja tarkista, mitä katkaisu poistaa. Tulos, joka mainitsee saman tuotteen kuin kysely, voi silti olla epäolennainen, jos se koskee väärää toimintoa tai ehtoa; valmistele hakulaadun arviointiin esimerkkejä, jotka erottavat nämä tapaukset.</p><p>Säilytä asiakirja-avustajassa ehdokkaiden tunnisteet tekstien rinnalla, pisteytä kysymys–katkelma-parit ja välitä valitut alkuperäiskatkelmat vastausvaiheeseen. Vastauksen tuottava malli saa silloin näytön eikä lähteetöntä relevanssipistettä. Tämä on havainnollistava tiedonhakutyönkulku; uudelleenjärjestelijä itse ei hae ulkoisesta kokoelmasta eikä kirjoita vastausta.</p><h4>Pisteiden tulkinta ja normalisointi</h4><p>Valmistaja palauttaa raakoja relevanssipisteitä, joissa suurempi arvo merkitsee läheisempää vastaavuutta. Dokumentoitu valinnainen normalisointi käyttää sigmoidifunktiota pisteen sijoittamiseksi välille 0–1. Normalisoidun pisteen vaihteluväli on kätevä, mutta pelkkä muunnos ei osoita kalibroitua todennäköisyyttä sille, että ehdokas on oikea.</p><p>Valitse järjestys- tai suodatuskynnykset työkuormaasi edustavilla kysely–katkelma-pareilla. Ota mukaan katkelmia, joissa on samoja avainsanoja mutta jotka vastaavat eri kysymykseen, sekä relevantteja katkelmia, joiden sanamuoto on erilainen. Näin valittu kynnys on merkityksellinen haettavassa kokoelmassa.</p><p>Määrittele Ailoot API -projektissa, mitä lopullisen kontekstin pitää sisältää ja kuinka monta ehdokasta voidaan tutkia tehokkaasti. Hyödyllinen tulos on paremmin järjestetty näyttöjoukko sovelluksen seuraavaa vaihetta varten. Pidä tämän version relevanssituloste erillään asiakirjaupotuksista, tuotetusta proosasta ja muiden uudelleenjärjestelijöiden dokumentoiduista kerrosvalinnan ohjaimista.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Saatavilla Ailootissa · syötteet &amp; menetelmät</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Uudelleenjärjestys</b> <code>POST /v1/rerank</code></summary><dl class=\"method-capabilities\"><div><dt>Syötetyypit</dt><dd><code>text</code></dd></div><div><dt>Tulostyypit</dt><dd><code>rerank</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Vaatimus</th><th>Arvot &amp; rajat</th><th>Oletus</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span><div>bge-reranker-v2-m3</div></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">query</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>string</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Valinnainen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">documents</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span><code>array</code></td><td data-cell-label=\"Vaatimus\"><span class=\"card-cell-label\">Vaatimus</span>Pakollinen</td><td data-cell-label=\"Arvot &amp; rajat\"><span class=\"card-cell-label\">Arvot &amp; rajat</span></td><td data-cell-label=\"Oletus\" data-default=\"unspecified\"><span class=\"card-cell-label\">Oletus</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Menetelmän parametrit ja elinkaari</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametri</th><th>Sopimus</th></tr></thead><tbody><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>content_type</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>application/json</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>required</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>model, documents</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_types</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>text</td></tr><tr><th data-cell-label=\"Parametri\" scope=\"row\"><span class=\"card-cell-label\">Parametri</span><code>material_conditions</code></th><td data-cell-label=\"Sopimus\"><span class=\"card-cell-label\">Sopimus</span>Anna todellinen hakukyselysi ja ei-tyhjä taulukko alkuperäisistä tekstiasiakirjoista. Tulosten indeksit viittaavat tähän alkuperäiseen taulukkoon.</td></tr></tbody></table></div><p>Elinkaari: <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\">Hinnoittelu</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Hintatiedot eivät lisää pyyntövalintoja. Tuetut parametrit on lueteltu valitulle menetelmälle.</p><dl data-price-conditions><dt>Nopea tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun nopea tila on valittu</span></dd><dt>Flex-tila</dt><dd>Ei määritetty <span class=\"note-s\">Kun flex-tila on valittu</span></dd><dt>Päättelyn enimmäisteho</dt><dd>Ei määritetty <span class=\"note-s\">Kun päättelyn enimmäistehoon sovelletaan default-oletussäätöä</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-hinnat</h4><h4>Hinnat asetusten mukaan</h4><p class=\"note-s\">Kohdista kukin veloitus näytettyihin ehtoihin. Käytä yhtä hintaa kutakin vaihtoehtoisten asetusten ryhmää kohden.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Asetukset</th><th>Hinnasto</th><th>Laskutusyksikkö</th><th>Veloitus</th></tr></thead><tbody><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>Tokenien perushinnat</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>Perushinta</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>—</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · Syötetokenit</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Tuloste · Tulostokenit</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistin luku</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div><div><span>Syöte · Välimuistiin kirjoitus, 1 tunti</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenia</span></div></td></tr><tr><th data-cell-label=\"Asetukset\" scope=\"row\"><span class=\"card-cell-label\">Asetukset</span>kokonaistoken</th><td data-cell-label=\"Hinnasto\"><span class=\"card-cell-label\">Hinnasto</span>—</td><td data-cell-label=\"Laskutusyksikkö\"><span class=\"card-cell-label\">Laskutusyksikkö</span>/ 1K tokenia</td><td data-cell-label=\"Veloitus\"><span class=\"card-cell-label\">Veloitus</span><div><span>Syöte · kokonaistoken</span> <b>$0.00004</b> <span class=\"price-unit\">/ 1K tokenia</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot varaa arvioidun summan ennen pyyntöä. Tuloksen jälkeen lopullinen veloitus toteutetaan mitatun käytön perusteella. Suoratoiston veloituksessa käytetään lopullista käyttötietuetta. <a href=\"/docs/fi/billing/reserve/\">Varauksen ja lopullisen veloituksen toiminta →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esimerkkipyynnöt</h3><h4>Ailoot Ultra · Uudelleenjärjestys</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Koodivaihtoehdot\"><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\">Käytä todellista syötettä ja säilytä koko tulos</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopioi koodi\"><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\">Vastaanota ja tallenna tulokset</h3><h4>Ailoot Ultra · Uudelleenjärjestys</h4><p class=\"note-s\">Koko alkuperäinen natiivi JSON-tulos, joka sisältää määritetyn vastausmallin, alkuperäisten asiakirjojen indeksit, osuvuusarvot, asiakirjamerkkijonot ja natiivit tokenien käyttötiedot. Säilytä jokainen todellinen tulos- ja käyttötietokenttä.</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>Säilytä kaikki valmistuneet tulokset</h5><p class=\"note-s\">Säilytä jokainen kokonainen palautettu vastaus, tiedosto ja sisällön osa.</p><p class=\"note-s\">Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jos alkuperäinen vastaus on tarkistettava</h5><p class=\"note-s\">Säilytä todellinen X-Client-Request-ID ja koko vastaus. Lue alkuperäisiä käyttäjälle kuuluvia aineistoja ja niiden täsmällisiä allekirjoitettuja sisällön URL-osoitteita; älä koskaan lähetä epävarmaa luontipyyntöä uudelleen.</p></div><details class=\"card-about\" data-output-fields><summary>Vastauksen kentät</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Kenttä</th><th>Tyyppi</th><th>Merkitys</th></tr></thead><tbody><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Määritetyn lähdetoteutuksen vastauskäsittelijän edellyttämä täsmällinen vastausmalli.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">results[].index</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>integer</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Alkuperäisen syöteasiakirjan yksilöllinen indeksi.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">results[].relevance_score</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>number</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Äärellinen osuvuusarvo.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">results[].document</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>string</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Tämän määritetyn vastauskäsittelijän edellyttämä alkuperäinen tekstiasiakirja.</td></tr><tr><th data-cell-label=\"Kenttä\" scope=\"row\"><span class=\"card-cell-label\">Kenttä</span><code class=\"card-field-name\">usage.total_tokens</code></th><td data-cell-label=\"Tyyppi\" data-field-type><span class=\"card-cell-label\">Tyyppi</span>integer</td><td data-cell-label=\"Merkitys\"><span class=\"card-cell-label\">Merkitys</span>Nykyisen hyväksytyn hinnaston edellyttämä äärellinen, ei-negatiivinen natiivi tokenimäärä.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Virheet ja seuraavat vaiheet</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Vastaus</th><th>Ehto</th><th>Seuraava vaihe</th></tr></thead><tbody><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>JSON-sisältö tai nimenomainen kanoninen mallin tunniste on virheellinen.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä vastaus ja korjaa ilmoitettu pyyntökenttä.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Ailoot API -avain on virheellinen.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Käytä käyttöön oikeutettua Ailoot API -avaintasi.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>403 · <code>permission_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Avaimen ryhmällä ei ole käyttöoikeutta tähän menetelmään.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä palautetut virheen lisätiedot.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Valitulla menetelmällä ei ole käyttöön hyväksyttyä reittiä.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä palautetut virheen lisätiedot.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Hyväksytyn hinnaston edellyttämää syötemäärää tai sen rajaa ei saada selville.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä vastaus; käytä hyväksytyn hinnaston edellyttämää syötteen esitysmuotoa.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>503 · <code></code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Vaadittu tallennustila, reitti, menetelmän hinta tai katevaraus ei ole saatavilla.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä koko alkuperäinen vastaus. Epävarma katevaraus ei oikeuta uudelleenlähetykseen.</td></tr><tr><th data-cell-label=\"Vastaus\" scope=\"row\"><span class=\"card-cell-label\">Vastaus</span>502 · <code>billing_requires_check</code></th><td data-cell-label=\"Ehto\"><span class=\"card-cell-label\">Ehto</span>Alkuperäinen tulos, käyttötiedot tai veloituksen lopullinen kirjaus on tarkistettava.</td><td data-cell-label=\"Seuraava vaihe\"><span class=\"card-cell-label\">Seuraava vaihe</span>Säilytä todellinen pyynnön tunniste ja alkuperäinen vastaus. Lue olemassa olevaa käyttäjälle kuuluvaa tietuetta; älä lähetä luontipyyntöä uudelleen.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliakset</h3><h4>Mallin aliakset</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>Menetelmäpolkujen aliakset</h4><p class=\"note-s\">Käytä yllä näytettyjä menetelmäpolkuja.</p><h4>Liittyvät kutsujan ID:t</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": "JSON-sisältö tai nimenomainen kanoninen mallin tunniste on virheellinen.",
                "http_status": 400,
                "recovery": "Säilytä vastaus ja korjaa ilmoitettu pyyntökenttä.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API -avain on virheellinen.",
                "http_status": 401,
                "recovery": "Käytä käyttöön oikeutettua Ailoot API -avaintasi.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Avaimen ryhmällä ei ole käyttöoikeutta tähän menetelmään.",
                "http_status": 403,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Valitulla menetelmällä ei ole käyttöön hyväksyttyä reittiä.",
                "http_status": 404,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Hyväksytyn hinnaston edellyttämää syötemäärää tai sen rajaa ei saada selville.",
                "http_status": 422,
                "recovery": "Säilytä vastaus; käytä hyväksytyn hinnaston edellyttämää syötteen esitysmuotoa.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vaadittu tallennustila, reitti, menetelmän hinta tai katevaraus ei ole saatavilla.",
                "http_status": 503,
                "recovery": "Säilytä koko alkuperäinen vastaus. Epävarma katevaraus ei oikeuta uudelleenlähetykseen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Alkuperäinen tulos, käyttötiedot tai veloituksen lopullinen kirjaus on tarkistettava.",
                "http_status": 502,
                "recovery": "Säilytä todellinen pyynnön tunniste ja alkuperäinen vastaus. Lue olemassa olevaa käyttäjälle kuuluvaa tietuetta; älä lähetä luontipyyntöä uudelleen.",
                "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": "Säilytä todellinen X-Client-Request-ID ja koko vastaus. Lue alkuperäisiä käyttäjälle kuuluvia aineistoja ja niiden täsmällisiä allekirjoitettuja sisällön URL-osoitteita; älä koskaan lähetä epävarmaa luontipyyntöä uudelleen."
            },
            "outputs": {
              "all_results": "Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.",
              "family": "rerank",
              "fields": [
                {
                  "description": "Määritetyn lähdetoteutuksen vastauskäsittelijän edellyttämä täsmällinen vastausmalli.",
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": "Alkuperäisen syöteasiakirjan yksilöllinen indeksi.",
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": "Äärellinen osuvuusarvo.",
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": "Tämän määritetyn vastauskäsittelijän edellyttämä alkuperäinen tekstiasiakirja.",
                  "name": "results[].document",
                  "type": "string"
                },
                {
                  "description": "Nykyisen hyväksytyn hinnaston edellyttämä äärellinen, ei-negatiivinen natiivi tokenimäärä.",
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ],
              "result": "Koko alkuperäinen natiivi JSON-tulos, joka sisältää määritetyn vastausmallin, alkuperäisten asiakirjojen indeksit, osuvuusarvot, asiakirjamerkkijonot ja natiivit tokenien käyttötiedot. Säilytä jokainen todellinen tulos- ja käyttötietokenttä."
            },
            "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": [
              "Anna todellinen hakukyselysi ja ei-tyhjä taulukko alkuperäisistä tekstiasiakirjoista. Tulosten indeksit viittaavat tähän alkuperäiseen taulukkoon."
            ],
            "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": "Uudelleenjärjestys",
        "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": "3ad096dc3a0ac97a7cf328771f8742e570d4644c4aa1eb5c926ae4e112015dce",
    "input_html_sha256": "e4d856a648660fb244c5948e080f72c4843880c6525037b720c6de531d6653f5",
    "private_audit_sha256": "89513377db4143da121ce1e70bc7acf263af1dd03d14e708a41305192f41820d",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fi/bge-reranker-v2-m3/",
    "description": "BAAI:n monikielinen ristienkooderi järjestää tekstijaksoehdokkaat kyselyn perusteella. Se lukee kunkin kysely–tekstijaksoparin yhdessä ja palauttaa relevanssipisteen. Näin se tarkentaa haun ehdokaslistaa tuottamatta vastausta tai luomatta asiakirjaupotuksia.",
    "locale": "fi",
    "md_url": "https://ailoot.ai/models/fi/bge-reranker-v2-m3/index.md",
    "title": "bge-reranker-v2-m3 — Ailoot",
    "url": "https://ailoot.ai/models/fi/bge-reranker-v2-m3/"
  },
  "rawModel": {
    "about": "BGE Reranker v2 M3 on BGE-M3:n pohjalle rakennettu monikielinen relevanssimalli. Se vastaanottaa yhdessä kyselyn ja ehdokastekstikatkelman sekä palauttaa pistearvon niiden suhteelle. BAAI asemoi tämän version tehokkaaksi monikieliseksi uudelleenjärjestelijäksi muun muassa kiinan- ja englanninkieliseen tiedonhakuun, kun hakusovelluksen täytyy tarkentaa olemassa olevaa ehdokasluetteloa.\n\n### Relevanssi kyselyn ja katkelman parista\n\nRistiinkooderi käsittelee molemmat tekstit yhdessä, jolloin niiden sisällöt voivat vaikuttaa toisiinsa ennen relevanssipisteen tuottamista. Tämä eroaa upotusmallista, joka koodaa tekstit erikseen uudelleenkäytettävää vektorivertailua varten. Uudelleenjärjestelijä tuottaa tietyn parin skalaarisen pistearvon, ei asiakirjavektoria tai kirjallista vastausta.\n\nKäytä mallia sen jälkeen, kun ensimmäinen haku on valinnut mahdollisesti sopivat katkelmat. Yhdistä kysymys jokaiseen ehdokkaaseen ja järjestä ehdokkaat saatujen pisteiden perusteella. Näin yksityiskohtaisempi vertailu kohdistuu hallittavaan ehdokasjoukkoon sen sijaan, että ristiinkooderia pyydettäisiin tutkimaan suuren kokoelman kaikki katkelmat.\n\n### v2 M3 -versio\n\nValmistaja nimeää BGE-M3:n pohjamalliksi ja monikielisen tuen keskeiseksi ominaisuudeksi. Sen v2-uudelleenjärjestelijäperheessä M3 on tehokas monikielinen vaihtoehto; Gemma-pohjaiset ja kerrosvalintaa käyttävät variantit ovat eri malleja, joissa on erilaiset toteutusvalinnat. M3-nimi ei tässä tarkoita, että uudelleenjärjestelijä palauttaisi alkuperäisen upotusmallin tiheitä, harvoja ja monivektoriupotuksia.\n\nTämä ero on merkityksellinen, kun valitset sovelluksen tarvitsemaa tulosta. Valitse upotusmalli asiakirjakokoelman esittämiseen ja hakuun. Valitse tämä uudelleenjärjestelijä, kun sinulla on jo ehdokastekstit ja sinun on ratkaistava, mikä katkelma on nykyisen kyselyn kannalta olennaisin.\n\n### Hyödyllisesti järjestettävien ehdokkaiden valmistelu\n\nAnna varsinainen kysymys ja sen tulkinnassa tarvittava ehdokasteksti kokonaisuudessaan. Säilytä otsikot tai lähellä olevat määritelmät, jos ne määräävät katkelman merkityksen. Julkaistussa Transformers-esimerkissä kysely ja katkelma tokenisoidaan yhdessä käyttäen katkaisua ja asetusta max_length=512. Se on esimerkkiasetus, ei koko mallin yleinen raja. Pidä kysymys ja tarvittava näyttö valitun paribudjetin sisällä ja tarkista, mitä katkaisu poistaa. Tulos, joka mainitsee saman tuotteen kuin kysely, voi silti olla epäolennainen, jos se koskee väärää toimintoa tai ehtoa; valmistele hakulaadun arviointiin esimerkkejä, jotka erottavat nämä tapaukset.\n\nSäilytä asiakirja-avustajassa ehdokkaiden tunnisteet tekstien rinnalla, pisteytä kysymys–katkelma-parit ja välitä valitut alkuperäiskatkelmat vastausvaiheeseen. Vastauksen tuottava malli saa silloin näytön eikä lähteetöntä relevanssipistettä. Tämä on havainnollistava tiedonhakutyönkulku; uudelleenjärjestelijä itse ei hae ulkoisesta kokoelmasta eikä kirjoita vastausta.\n\n### Pisteiden tulkinta ja normalisointi\n\nValmistaja palauttaa raakoja relevanssipisteitä, joissa suurempi arvo merkitsee läheisempää vastaavuutta. Dokumentoitu valinnainen normalisointi käyttää sigmoidifunktiota pisteen sijoittamiseksi välille 0–1. Normalisoidun pisteen vaihteluväli on kätevä, mutta pelkkä muunnos ei osoita kalibroitua todennäköisyyttä sille, että ehdokas on oikea.\n\nValitse järjestys- tai suodatuskynnykset työkuormaasi edustavilla kysely–katkelma-pareilla. Ota mukaan katkelmia, joissa on samoja avainsanoja mutta jotka vastaavat eri kysymykseen, sekä relevantteja katkelmia, joiden sanamuoto on erilainen. Näin valittu kynnys on merkityksellinen haettavassa kokoelmassa.\n\nMäärittele Ailoot API -projektissa, mitä lopullisen kontekstin pitää sisältää ja kuinka monta ehdokasta voidaan tutkia tehokkaasti. Hyödyllinen tulos on paremmin järjestetty näyttöjoukko sovelluksen seuraavaa vaihetta varten. Pidä tämän version relevanssituloste erillään asiakirjaupotuksista, tuotetusta proosasta ja muiden uudelleenjärjestelijöiden dokumentoiduista kerrosvalinnan ohjaimista.",
    "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": "Konfiguraation täydet hintatiedot lisätiedoissa."
      }
    ],
    "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": "JSON-sisältö tai nimenomainen kanoninen mallin tunniste on virheellinen.",
                "http_status": 400,
                "recovery": "Säilytä vastaus ja korjaa ilmoitettu pyyntökenttä.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API -avain on virheellinen.",
                "http_status": 401,
                "recovery": "Käytä käyttöön oikeutettua Ailoot API -avaintasi.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Avaimen ryhmällä ei ole käyttöoikeutta tähän menetelmään.",
                "http_status": 403,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Valitulla menetelmällä ei ole käyttöön hyväksyttyä reittiä.",
                "http_status": 404,
                "recovery": "Säilytä palautetut virheen lisätiedot.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Hyväksytyn hinnaston edellyttämää syötemäärää tai sen rajaa ei saada selville.",
                "http_status": 422,
                "recovery": "Säilytä vastaus; käytä hyväksytyn hinnaston edellyttämää syötteen esitysmuotoa.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vaadittu tallennustila, reitti, menetelmän hinta tai katevaraus ei ole saatavilla.",
                "http_status": 503,
                "recovery": "Säilytä koko alkuperäinen vastaus. Epävarma katevaraus ei oikeuta uudelleenlähetykseen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Alkuperäinen tulos, käyttötiedot tai veloituksen lopullinen kirjaus on tarkistettava.",
                "http_status": 502,
                "recovery": "Säilytä todellinen pyynnön tunniste ja alkuperäinen vastaus. Lue olemassa olevaa käyttäjälle kuuluvaa tietuetta; älä lähetä luontipyyntöä uudelleen.",
                "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": "Säilytä todellinen X-Client-Request-ID ja koko vastaus. Lue alkuperäisiä käyttäjälle kuuluvia aineistoja ja niiden täsmällisiä allekirjoitettuja sisällön URL-osoitteita; älä koskaan lähetä epävarmaa luontipyyntöä uudelleen."
            },
            "outputs": {
              "all_results": "Säilytä koko vastaus ja otsakkeet, jokainen todellinen tuloste, alkuperäiset palautetut tunnisteet ja kaikki käyttötietokentät. Selvitä alkuperäisen operaation tila lähettämättä luontipyyntöä uudelleen.",
              "family": "rerank",
              "fields": [
                {
                  "description": "Määritetyn lähdetoteutuksen vastauskäsittelijän edellyttämä täsmällinen vastausmalli.",
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": "Alkuperäisen syöteasiakirjan yksilöllinen indeksi.",
                  "name": "results[].index",
                  "type": "integer"
                },
                {
                  "description": "Äärellinen osuvuusarvo.",
                  "name": "results[].relevance_score",
                  "type": "number"
                },
                {
                  "description": "Tämän määritetyn vastauskäsittelijän edellyttämä alkuperäinen tekstiasiakirja.",
                  "name": "results[].document",
                  "type": "string"
                },
                {
                  "description": "Nykyisen hyväksytyn hinnaston edellyttämä äärellinen, ei-negatiivinen natiivi tokenimäärä.",
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ],
              "result": "Koko alkuperäinen natiivi JSON-tulos, joka sisältää määritetyn vastausmallin, alkuperäisten asiakirjojen indeksit, osuvuusarvot, asiakirjamerkkijonot ja natiivit tokenien käyttötiedot. Säilytä jokainen todellinen tulos- ja käyttötietokenttä."
            },
            "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": [
              "Anna todellinen hakukyselysi ja ei-tyhjä taulukko alkuperäisistä tekstiasiakirjoista. Tulosten indeksit viittaavat tähän alkuperäiseen taulukkoon."
            ],
            "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": "Uudelleenjärjestys",
        "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": "BAAI:n monikielinen ristienkooderi järjestää tekstijaksoehdokkaat kyselyn perusteella. Se lukee kunkin kysely–tekstijaksoparin yhdessä ja palauttaa relevanssipisteen. Näin se tarkentaa haun ehdokaslistaa tuottamatta vastausta tai luomatta asiakirjaupotuksia."
  },
  "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": "BAAI:n monikielinen ristienkooderi järjestää tekstijaksoehdokkaat kyselyn perusteella. Se lukee kunkin kysely–tekstijaksoparin yhdessä ja palauttaa relevanssipisteen. Näin se tarkentaa haun ehdokaslistaa tuottamatta vastausta tai luomatta asiakirjaupotuksia.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "adbf5c87821d474f6e72c5b5b274a044e896852b82d2a4e553d70338c89efae2",
    "renderer_sha256": "303a59603e2bc29ba8fda690e95fd32cec68de223d92e26054a88babff801dd7"
  },
  "sourceRevision": "41bbab4b376857f6faea824d63a39b777dcc21bb92a7905beb525798c550ea9c"
}
