Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 kodar frågor och passager till 768-dimensionella vektorer för semantisk sökning. Den använder CLS-poolning och onormaliserade inbäddningar utformade för skalärproduktspoäng, med en indatagräns på 512 orddelar.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
multi-qa-mpnet-base-dot-v1 är en Sentence Transformers-modell utformad för att hämta textpassager för en fråga eller sökfråga. Träningen använde ungefär 215 miljoner fråga–svar-par. Varje indatatext blir en tät vektor med 768 dimensioner, där CLS-poolning och skalärproduktspoängsättning definierar denna exakta utgåva.
Förbered en fråga och kandidatpassager
Skriv frågan som informationsbehovet och förbered korpusposter som läsbara textpassager. Till exempel kan en fråga om att ändra en leveransadress jämföras med separata stycken om adressändringar, orderavbokning och leveransspårning. Behåll de relevanta villkoren i passagen om adressändring, inklusive om beställningen redan har skickats.
Koda frågan och passagerna med samma modell. Det publicerade exemplet gör detta direkt utan ett query/document-prefix och sorterar passagerna efter deras skalärproduktspoäng. Håll varje vektor kopplad till dess ursprungliga passage och dokumentidentifierare så att det rangordnade resultatet kan visa materialet som faktiskt indexerades.
CLS-poolning och skalärproduktsutgåvan
Modellens referensrecept tar representationen av första token, vilket kallas CLS-poolning. Dess tekniska tabell anger uttryckligen att inbäddningarna inte är normaliserade och listar skalärprodukt som lämplig poängfunktion. Bevara receptet när samlingen och frågesidan ställs in.
L2-normalisering av dessa vektorer ändrar deras poänggeometri. Den normaliserade all-mpnet-base-v2-profilen använder ett annat recept och är en separat checkpoint, trots den gemensamma MPNet-familjen och ett resultat på 768 komponenter. Behåll den exakta utgåvan och jämförelsefunktionen tillsammans med den lagrade samlingen i stället för att välja dem enbart från vektorlängden.
Längdgräns och längre passager
Den angivna indatagränsen är 512 orddelar; längre text kapas. Tillverkaren påpekar också att träningsindata bara nådde 250 orddelar och att längre text kan fungera sämre. Den accepterade tokeniserarlängden och förbehållet om träningslängd beskriver därför olika praktiska gränser.
För en stor hjälpartikel förbereder du korta avsnitt som besvarar specifika frågor. Behåll en rubrik när den identifierar ämnet och håll en regel tillsammans med undantaget som behövs för att läsa den korrekt. En hel sida som ett enda indataobjekt kan förlora senare material genom kapning, medan ett för litet fragment kan förlora villkoret som gör det användbart.
Använd rangordningen för sökning och RAG
De täta vektorerna stöder ett första söksteg. Returnera kandidatpassagerna med högst poäng tillsammans med deras källhänvisningar och granska sedan om de besvarar den faktiska frågan. I ett RAG-arbetsflöde ger du dessa passager till svarsskrivningssteget som källmaterial; sökningen skriver inte svaret själv.
Använd representativa frågor med kända relevanta passager för att välja resultatantalet och bedöma rangordningen. Inkludera exempel med liknande ordförråd men olika avsikt, som att ändra en adress jämfört med att visa den aktuella adressen. Tolka poängen relativt till kandidater under samma modell och poänginställningar, inte som kalibrerade sannolikheter för korrekthet.
Det användbara resultatet från denna checkpoint är ett inbäddningsrum för frågor och passager för semantisk sökning. Dess onormaliserade vektorer, CLS-poolning, skalärproduktspoäng och publicerade förbehåll om långa indata är detaljerna att bevara när resultat förbereds och används.
Ailoot Ultra · Embeddings 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-v1Start
Sentence Transformers multi-qa-mpnet-base-dot-v1 kodar frågor och passager till 768-dimensionella vektorer för semantisk sökning. Den använder CLS-poolning och onormaliserade inbäddningar utformade för skalärproduktspoäng, med en indatagräns på 512 orddelar.
- Godkända indata
- Text · token_ids
- Resultat
- embedding
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Embeddings POST /v1/embeddings
- Indatatyper
text,token_ids- Utdatatyper
embedding- Utdataformat
- json
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser sentence-transformers/multi-qa-mpnet-base-dot-v1 | Standard— |
Fältinput | Typstring|string[]|integer[]|integer[][] | KravObligatoriskt | Värden & gränser Minsta antal objekt: 1 Villkor: En homogen batch som inte är tom. Token-ID:n är heltal som är större än eller lika med noll. Indatabudget: Maximum: 512 · Textenhet: UTF8-byte · Tokenenhet: element i en tokenarray | Standard— |
Fältencoding_format | Typstring | KravValfritt | Värden & gränser float | Standardfloat |
Fältdimensions | Typinteger | KravStöds inte | Värden & gränser Minimum: 1 | Standard— |
Fältuser | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fältsession_id | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fälttrace | Typjson_value | KravValfritt | Värden & gränser Villkor: Källan tillåter detta JSON-metadatafält; den exakta innebörden hos leverantören beror på modellen. | Standard— |
Fältprovider | Typobject | KravValfritt | Värden & gränser Villkor: provider.options avvisades | Standard— |
Kombinationer av indatamaterial
text_to_embedding
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, input |
Parameterinput_shapes | Avtalstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Avtalfloat |
Parameterdimensions_override | Avtalfalse |
Parametermax_input_budget_units | Avtal512 |
Parametermultimodal_objects | Avtalfalse |
Parametermaterial_types | Avtaltext, token_ids |
Livscykel: synchronous_json
Behåll varje vektorindex och dimension.
Att modellen har ett multimodalt namn innebär inte att bildobjekt tillåts på just denna anropsväg.
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
| Konfiguration | Prislista | Avgift |
|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken $0.00001 / 1K token Utdata · Utdatatoken $0 / 1K token Indata · Cacheläsning — / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Embeddings
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)
Ta emot och spara resultat
Ailoot Ultra · Embeddings
json
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll varje vektor tillsammans med dess index. Antalet vektorer måste vara lika med antalet indataobjekt; dimensionerna måste vara konsekventa.
Om det ursprungliga svaret behöver kontrolleras
Ingen endpoint för inbäddningsjobb införs.
Svarsfält
| Fält | Typ |
|---|---|
Fältobject | Typstring |
Fältmodel | Typstring |
Fältdata[].index | Typinteger |
Fältdata[].embedding | Typfinite float[] |
Fältusage | Typobject |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Alias
Modellalias
Ailoot Ultra sentence-transformers/multi-qa-mpnet-base-dot-v1
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- Vilka indata och resultat finns?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- Vilka fält använder begäran?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- Vilka gränser gäller?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(UTF8-byte);input.min_items:1