Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 kóduje otázky a pasáže do 768-rozmerných vektorov na sémantické vyhľadávanie. Používa CLS pooling a nenormalizované embeddingy navrhnuté na skórovanie skalárnym súčinom, s limitom vstupu 512 podslovných jednotiek.
O modeli
Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.
multi-qa-mpnet-base-dot-v1 je model Sentence Transformers navrhnutý na vyhľadávanie textových pasáží pre otázku alebo dopyt. Pri trénovaní použil približne 215 miliónov dvojíc otázka–odpoveď. Každý vstup sa mení na 768-rozmerný hustý vektor, pričom túto konkrétnu edíciu určujú CLS pooling a skórovanie skalárnym súčinom.
Pripravte otázku a kandidátske pasáže
Dopyt napíšte ako informačnú potrebu a položky korpusu pripravte ako čitateľné textové pasáže. Napríklad otázku o zmene doručovacej adresy možno porovnať so samostatnými odsekmi o zmene adresy, zrušení objednávky a sledovaní doručenia. V pasáži o zmene adresy zachovajte príslušné podmienky vrátane toho, či už bola objednávka odoslaná.
Dopyt a pasáže zakódujte týmto istým modelom. Zverejnený príklad to robí priamo, bez prefixu dopytu alebo dokumentu, a pasáže triedi podľa skóre skalárneho súčinu. Každý vektor ponechajte pripojený k pôvodnej pasáži a identifikátoru dokumentu, aby zoradený výsledok mohol ukázať materiál, ktorý bol skutočne indexovaný.
CLS pooling a edícia so skalárnym súčinom
Referenčný postup modelu preberá reprezentáciu prvého tokenu, čo sa označuje ako CLS pooling. Jeho technická tabuľka výslovne uvádza, že embeddingy nie sú normalizované, a ako vhodnú skórovaciu funkciu uvádza skalárny súčin. Tento postup zachovajte pri nastavovaní kolekcie aj strany dopytu.
Normalizácia L2 týchto vektorov mení geometriu ich skórovania. Normalizovaný profil all-mpnet-base-v2 používa iný postup a je samostatným kontrolným bodom, hoci zdieľa rodinu MPNet a výstup so 768 zložkami. Presnú edíciu a porovnávaciu funkciu uchovajte s uloženou kolekciou namiesto ich výberu iba podľa dĺžky vektora.
Limit dĺžky a dlhšie pasáže
Uvedený limit vstupu je 512 podslovných jednotiek; dlhší text sa skracuje. Výrobca tiež upozorňuje, že trénovacie vstupy dosahovali iba 250 podslovných jednotiek a dlhší text môže fungovať horšie. Prijímaná dĺžka tokenizéra a upozornenie na dĺžku pri trénovaní preto opisujú rozdielne praktické hranice.
Pri rozsiahlom článku pomoci pripravte krátke časti, ktoré odpovedajú na konkrétne otázky. Nadpis zachovajte tam, kde určuje tému, a pravidlo ponechajte s výnimkou potrebnou na správne čítanie. Jeden celostránkový vstup môže skracovaním stratiť neskorší materiál, zatiaľ čo príliš malý fragment môže stratiť podmienku, ktorá ho robí užitočným.
Používajte poradie pri vyhľadávaní a RAG
Husté vektory podporujú prvú fázu vyhľadávania. Vráťte kandidátske pasáže s najvyšším skóre spolu s odkazmi na zdroje a potom preskúmajte, či sa venujú skutočnej otázke. V pracovnom postupe RAG poskytnite tieto pasáže fáze písania odpovede ako zdrojový materiál; samotné vyhľadávanie odpoveď neskladá.
Na výber počtu výsledkov a posúdenie poradia používajte reprezentatívne otázky so známymi relevantnými pasážami. Zahrňte príklady s podobným slovníkom, ale odlišným zámerom, napríklad zmenu adresy oproti zobrazeniu aktuálnej adresy. Skóre interpretujte relatívne ku kandidátom pri rovnakom modeli a nastavení skórovania, nie ako kalibrované pravdepodobnosti správnosti.
Užitočným výstupom tohto kontrolného bodu je priestor embeddingov otázok a pasáží na sémantické vyhľadávanie. Jeho nenormalizované vektory, CLS pooling, skóre skalárneho súčinu a zverejnené upozornenie na dlhé vstupy sú detaily, ktoré treba zachovať pri príprave a používaní výsledkov.
Ailoot Ultra · Embeddingy 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 768-rozmerných vektorov na sémantické vyhľadávanie. Používa CLS pooling a nenormalizované embeddingy navrhnuté na skórovanie skalárnym súčinom, s limitom vstupu 512 podslovných jednotiek.
- Povolené vstupy
- Text · token_ids
- Výsledky
- embedding
Dostupné v Ailoot · vstupy a metódy
Ailoot Ultra · Embeddingy POST /v1/embeddings
- Vstup
text,token_ids- Výstup
embedding- Výstupný formát
- json
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity sentence-transformers/multi-qa-mpnet-base-dot-v1 | Predvolené— |
Poleinput | Typstring|string[]|integer[]|integer[][] | PožiadavkaPovinné | Hodnoty a limity Minimálny počet položiek: 1 Podmienky: Neprázdna homogénna dávka. ID tokenov sú nezáporné celé čísla. Vstupný rozpočet: Maximum: 512 · Textová jednotka: bajty UTF8 · Jednotka tokenov: prvky poľa tokenov | Predvolené— |
Poleencoding_format | Typstring | PožiadavkaVoliteľné | Hodnoty a limity float | Predvolenéfloat |
Poledimensions | Typinteger | PožiadavkaNepodporované | Hodnoty a limity Minimum: 1 | Predvolené— |
Poleuser | Typjson_value | PožiadavkaVoliteľné | Hodnoty a limity Podmienky: Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu. | Predvolené— |
Polesession_id | Typjson_value | PožiadavkaVoliteľné | Hodnoty a limity Podmienky: Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu. | Predvolené— |
Poletrace | Typjson_value | PožiadavkaVoliteľné | Hodnoty a limity Podmienky: Zdroj povoľuje toto pole metadát vo formáte JSON; presný význam na strane dodávateľa sa líši podľa modelu. | Predvolené— |
Poleprovider | Typobject | PožiadavkaVoliteľné | Hodnoty a limity Podmienky: provider.options sa odmieta | Predvolené— |
Kombinácie vstupných podkladov
text_to_embedding
Parametre a životný cyklus metódy
| Parameter | Špecifikácia |
|---|---|
Parametercontent_type | Špecifikáciaapplication/json |
Parameterrequired | Špecifikáciamodel, input |
Parameterinput_shapes | Špecifikáciastring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Špecifikáciafloat |
Parameterdimensions_override | Špecifikáciafalse |
Parametermax_input_budget_units | Špecifikácia512 |
Parametermultimodal_objects | Špecifikáciafalse |
Parametermaterial_types | Špecifikáciatext, token_ids |
Životný cyklus: synchronous_json
Uchovajte každý index a rozmer vektora.
Názov multimodálneho modelu neznamená, že na tejto konkrétnej trase možno použiť objekty obrázkov.
Cenník
Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.
- Rýchly režim
- Neuvedené Keď je zvolený rýchly režim
- Režim Flex
- Neuvedené Keď je zvolený režim flex
- Maximálna úroveň uvažovania
- Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)
Sadzby Ailoot
Ceny podľa konfigurácie
| Konfigurácia | Sadzobník | Poplatok |
|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Poplatok Vstup · Vstupné tokeny $0.00001 / 1K tokenov Výstup · Výstupné tokeny $0 / 1K tokenov Vstup · Čítanie cache — / 1K tokenov Vstup · Zápis do cache — / 1K tokenov Vstup · Zápis do cache, 1 hod — / 1K tokenov |
Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →
Príklady požiadaviek
Ailoot Ultra · Embeddingy
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)
Prijať a uložiť výsledky
Ailoot Ultra · Embeddingy
json
Uchovať všetky dokončené výsledky
Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.
Uchovajte každý vektor spolu s jeho indexom. Počet vektorov sa musí rovnať počtu vstupov; rozmery musia byť konzistentné.
Ak treba overiť pôvodnú odpoveď
Nezavádza sa žiadny koncový bod pre úlohy tvorby embeddingov.
Polia odpovede
| Pole | Typ |
|---|---|
Poleobject | Typstring |
Polemodel | Typstring |
Poledata[].index | Typinteger |
Poledata[].embedding | Typfinite float[] |
Poleusage | Typobject |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametra | Ďalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia. |
Aliasy
Aliasy modelov
Ailoot Ultra sentence-transformers/multi-qa-mpnet-base-dot-v1
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- Aké vstupy a výsledky sú dostupné?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- Aké polia používa požiadavka?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- Aké limity platia?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(bajty UTF8);input.min_items:1