Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 kóduje otázky a pasáže do vektorů se 768 rozměry pro sémantické vyhledávání. Používá agregaci CLS a nenormalizované reprezentace určené pro skórování skalárním součinem s limitem vstupu 512 částí slov.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
multi-qa-mpnet-base-dot-v1 je model Sentence Transformers navržený k vyhledávání textových pasáží pro otázku nebo dotaz. Při trénování bylo použito přibližně 215 milionů dvojic otázka–odpověď. Každý vstup se převádí na hustý vektor se 768 rozměry, přičemž tuto přesnou edici definují agregace CLS a skórování skalárním součinem.
Připravte otázku a kandidátní pasáže
Napište dotaz jako informační potřebu a položky korpusu připravte jako čitelné textové pasáže. Otázku na změnu doručovací adresy lze například porovnat se samostatnými odstavci o změnách adresy, zrušení objednávky a sledování doručení. V pasáži o změně adresy zachovejte příslušné podmínky, včetně toho, zda byla objednávka již odeslána.
Kódujte dotaz i pasáže tímto stejným modelem. Publikovaný příklad to dělá přímo, bez prefixu query/document, a řadí pasáže podle skóre skalárního součinu. Uchovejte každý vektor spojený s původní pasáží a identifikátorem dokumentu, aby seřazený výsledek mohl ukázat skutečně indexovaný materiál.
Agregace CLS a edice se skalárním součinem
Referenční postup modelu bere reprezentaci prvního tokenu, což se označuje jako agregace CLS. Technická tabulka výslovně uvádí, že reprezentace nejsou normalizované, a jako vhodnou funkci pro výpočet skóre uvádí skalární součin. Při přípravě kolekce i strany dotazů tento postup zachovejte.
Normalizace těchto vektorů metodou L2 mění geometrii jejich skórování. Normalizovaný profil all-mpnet-base-v2 používá jiný postup a je samostatným checkpointem, přestože sdílí rodinu MPNet a výstup se 768 složkami. Uchovejte přesnou edici a porovnávací funkci s uloženou kolekcí, místo jejich volby pouze podle délky vektoru.
Délkový limit a delší pasáže
Uváděný limit vstupu je 512 částí slov; delší text se zkracuje. Výrobce také upozorňuje, že trénovací vstupy dosahovaly pouze 250 částí slov a delší text může fungovat hůře. Délka vstupu přijímaná tokenizérem a upozornění na délku při trénování tedy popisují různé praktické hranice.
U velkého článku nápovědy připravte krátké sekce odpovídající na konkrétní otázky. Zachovejte nadpis, pokud určuje téma, a pravidlo s výjimkou potřebnou ke správnému čtení. Jediný celostránkový vstup může zkrácením ztratit pozdější materiál, zatímco příliš malý fragment může ztratit podmínku, která jej činí užitečným.
Použijte pořadí ve vyhledávání a RAG
Husté vektory podporují první vyhledávací fázi. Vraťte kandidátní pasáže s nejvyšším skóre a zdrojovými odkazy a poté zkoumejte, zda odpovídají na skutečnou otázku. V postupu RAG dodejte tyto pasáže fázi psaní odpovědi jako zdrojový materiál; samotné vyhledávání odpověď nesestavuje.
Pomocí reprezentativních otázek se známými relevantními pasážemi volte počet výsledků a posuzujte jejich pořadí. Zahrňte příklady s podobnou slovní zásobou, ale odlišným záměrem, například úpravu adresy proti zobrazení aktuální adresy. Skóre interpretujte relativně vůči kandidátům se stejným modelem a nastavením skórování, nikoli jako kalibrované pravděpodobnosti správnosti.
Užitečným výstupem tohoto checkpointu je prostor reprezentací otázek a pasáží pro sémantické vyhledávání. Jeho nenormalizované vektory, agregace CLS, skóre skalárního součinu a publikované upozornění na dlouhé vstupy jsou podrobnosti, které je třeba zachovat při přípravě a použití výsledků.
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1Úvod
Sentence Transformers multi-qa-mpnet-base-dot-v1 kóduje otázky a pasáže do vektorů se 768 rozměry pro sémantické vyhledávání. Používá agregaci CLS a nenormalizované reprezentace určené pro skórování skalárním součinem s limitem vstupu 512 částí slov.
- Přijímané vstupy
- Text · token_ids
- Výsledky
- embedding
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Vektorové reprezentace POST /v1/embeddings
- Vstup
text,token_ids- Výstup
embedding- Výstupní formát
- json
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity sentence-transformers/multi-qa-mpnet-base-dot-v1 | Výchozí— |
Poleinput | Typstring|string[]|integer[]|integer[][] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 Podmínky: Neprázdná homogenní dávka. ID tokenů jsou nezáporná celá čísla. Rozpočet vstupu: Maximum: 512 · Jednotka textu: bajty UTF8 · Jednotka tokenů: prvky pole tokenů | Výchozí— |
Poleencoding_format | Typstring | PožadavekVolitelné | Hodnoty a limity float | Výchozífloat |
Poledimensions | Typinteger | PožadavekNepodporováno | Hodnoty a limity Minimum: 1 | Výchozí— |
Poleuser | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Polesession_id | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poletrace | Typjson_value | PožadavekVolitelné | Hodnoty a limity Podmínky: Zdroj povoluje toto pole metadat JSON; jeho přesný význam u poskytovatele závisí na konkrétním modelu. | Výchozí— |
Poleprovider | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: Parametr provider.options byl odmítnut | Výchozí— |
Kombinace vstupních materiálů
text_to_embedding
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, input |
Parametrinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parametrencoding_format | Kontraktfloat |
Parametrdimensions_override | Kontraktfalse |
Parametrmax_input_budget_units | Kontrakt512 |
Parametrmultimodal_objects | Kontraktfalse |
Parametrmaterial_types | Kontrakttext, token_ids |
Životní cyklus: synchronous_json
Uchovejte index i rozměr každého vektoru.
Multimodální název modelu neznamená, že tato konkrétní cesta přijímá obrazové objekty.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.00001 / 1K tokenů Výstup · Výstupní tokeny $0 / 1K tokenů Vstup · Čtení z mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Vektorové reprezentace
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "sentence-transformers/multi-qa-mpnet-base-dot-v1", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='sentence-transformers/multi-qa-mpnet-base-dot-v1',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Přijímání a ukládání výsledků
Ailoot Ultra · Vektorové reprezentace
json
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Uchovejte každý vektor spolu s jeho indexem. Počet vektorů musí odpovídat počtu vstupů; jejich rozměr musí být jednotný.
Pokud je nutné ověřit původní odpověď
Samostatný endpoint úloh pro embeddingy se nezavádí.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra sentence-transformers/multi-qa-mpnet-base-dot-v1
Aliasy cest metod
Použijte cesty metod uvedené výše.
Související ID modelů
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- Jaká pole požadavek používá?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- Jaké limity platí?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(bajty UTF8);input.min_items:1