Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 koder spørgsmål og passager til 768-dimensionale vektorer til semantisk søgning. Den bruger CLS-pooling og unormaliserede embeddings designet til prikproduktscoring med en inputgrænse på 512 orddele.
Om modellen
Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.
multi-qa-mpnet-base-dot-v1 er en Sentence Transformers-model designet til at genfinde tekstpassager til et spørgsmål eller en forespørgsel. Træningen brugte cirka 215 millioner spørgsmål–svar-par. Hvert input bliver til en tæt vektor med 768 dimensioner, og CLS-pooling og prikproduktscoring definerer denne præcise udgave.
Forbered et spørgsmål og kandidatpassager
Skriv forespørgslen som informationsbehovet, og forbered korpusposter som læsbare tekstpassager. Et spørgsmål om ændring af en leveringsadresse kan eksempelvis sammenlignes med særskilte afsnit om adresseændringer, ordreannullering og leveringssporing. Bevar de relevante betingelser i passagen om adresseændring, herunder om ordren allerede er afsendt.
Kod forespørgslen og passagerne med samme model. Det offentliggjorte eksempel gør dette direkte uden et query/document-præfiks og sorterer passagerne efter deres prikproduktscorer. Hold hver vektor knyttet til sin oprindelige passage og dokumentidentifikator, så det rangerede resultat kan vise det materiale, der faktisk blev indekseret.
CLS-pooling og prikproduktudgaven
Modellens referenceopskrift tager repræsentationen af den første token, kendt som CLS-pooling. Den tekniske tabel siger udtrykkeligt, at embeddings ikke er normaliserede, og angiver prikprodukt som den passende scoringsfunktion. Bevar opskriften ved opsætning af samlingen og forespørgselssiden.
L2-normalisering af disse vektorer ændrer deres scoringsgeometri. Den normaliserede all-mpnet-base-v2-profil bruger en anden opskrift og er et særskilt checkpoint, selv om den deler MPNet-familien og et output på 768 komponenter. Gem den præcise udgave og sammenligningsfunktion sammen med den lagrede samling frem for at vælge dem alene ud fra vektorlængden.
Længdegrænse og længere passager
Den angivne inputgrænse er 512 orddele; længere tekst afkortes. Producenten bemærker også, at træningsinput kun nåede 250 orddele, og at længere tekst kan fungere mindre godt. Den accepterede tokenizerlængde og forbeholdet om træningslængde beskriver derfor forskellige praktiske grænser.
Ved en stor hjælpeartikel skal du forberede korte afsnit, som besvarer bestemte spørgsmål. Bevar en overskrift, når den identificerer emnet, og hold en regel sammen med den undtagelse, der er nødvendig for at læse den korrekt. Et enkelt helsideinput kan miste senere materiale gennem afkortning, mens et for lille fragment kan miste den betingelse, der gør det nyttigt.
Brug rangeringen til genfinding og RAG
De tætte vektorer understøtter et første genfindingstrin. Returnér de højest scorede kandidatpassager med deres kildehenvisninger, og undersøg derefter, om de adresserer det faktiske spørgsmål. I en RAG-arbejdsgang skal passagerne indsendes som kildemateriale til svarskrivningstrinnet; selve genfindingen formulerer ikke svaret.
Brug repræsentative spørgsmål med kendte relevante passager til at vælge antallet af resultater og vurdere rangeringen. Medtag eksempler med lignende ordforråd, men forskellig hensigt, såsom at ændre en adresse frem for at se den aktuelle adresse. Fortolk scorer relativt til kandidater under samme model og scoringsopsætning frem for som kalibrerede sandsynligheder for korrekthed.
Dette checkpoints nyttige output er et embeddingrum for spørgsmål og passager til semantisk søgning. De unormaliserede vektorer, CLS-pooling, prikproduktscoren og det offentliggjorte forbehold om lange input er de detaljer, der skal bevares ved forberedelse og brug af resultater.
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 koder spørgsmål og passager til 768-dimensionale vektorer til semantisk søgning. Den bruger CLS-pooling og unormaliserede embeddings designet til prikproduktscoring med en inputgrænse på 512 orddele.
- Accepterede input
- Tekst · token_ids
- Resultater
- embedding
Tilgængelig i Ailoot · input og metoder
Ailoot Ultra · Embeddings POST /v1/embeddings
- Inputtyper
text,token_ids- Outputtyper
embedding- Outputformat
- json
| Felt | Type | Krav | Værdier og grænser | Standard |
|---|---|---|---|---|
Feltmodel | Typestring | KravPåkrævet | Værdier og grænser sentence-transformers/multi-qa-mpnet-base-dot-v1 | Standard— |
Feltinput | Typestring|string[]|integer[]|integer[][] | KravPåkrævet | Værdier og grænser Minimumsantal elementer: 1 Betingelser: Ikke-tom batch med ensartede elementer. Token-ID’er er ikke-negative heltal. Inputbudget: Maksimum: 512 · Tekstenhed: UTF8-bytes · Tokenenhed: elementer i et tokenarray | Standard— |
Feltencoding_format | Typestring | KravValgfrit | Værdier og grænser float | Standardfloat |
Feltdimensions | Typeinteger | KravIkke understøttet | Værdier og grænser Minimum: 1 | Standard— |
Feltuser | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Feltsession_id | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Felttrace | Typejson_value | KravValgfrit | Værdier og grænser Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen. | Standard— |
Feltprovider | Typeobject | KravValgfrit | Værdier og grænser Betingelser: provider.options afvist | Standard— |
Kombinationer af inputmaterialer
text_to_embedding
Metodeparametre og livscyklus
| Parameter | Kontrakt |
|---|---|
Parametercontent_type | Kontraktapplication/json |
Parameterrequired | Kontraktmodel, input |
Parameterinput_shapes | Kontraktstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Kontraktfloat |
Parameterdimensions_override | Kontraktfalse |
Parametermax_input_budget_units | Kontrakt512 |
Parametermultimodal_objects | Kontraktfalse |
Parametermaterial_types | Kontrakttext, token_ids |
Livscyklus: synchronous_json
Gem hver vektors indeks og dimension.
Et multimodalt modelnavn giver ikke adgang til at bruge billedobjekter på denne præcise sti.
Priser
Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.
- Hurtig tilstand
- Ikke angivet Når hurtig tilstand er valgt
- flex-tilstand
- Ikke angivet Når flex-tilstanden er valgt
- Maksimal ræsonneringsindsats
- Ikke angivet Når default-justeringen anvendes ved maksimal ræsonneringsindsats
Ailoot-takster
Priser efter konfiguration
| Konfiguration | Takstplan | Beløb |
|---|---|---|
| KonfigurationGrundtakster for tokens | TakstplanGrundtakst | Beløb Input · Inputtokens $0.00001 / 1K tokens Output · Outputtokens $0 / 1K tokens Input · Cachelæsning — / 1K tokens Input · Cacheskrivning — / 1K tokens Input · Cacheskrivning, 1 time — / 1K tokens |
Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. Sådan fungerer reservation og afregning →
Eksempelanmodninger
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)
Hent og gem resultater
Ailoot Ultra · Embeddings
json
Behold alle færdige resultater
Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.
Gem hver vektor med dens indeks. Antallet af vektorer skal svare til antallet af input; dimensionerne skal være ensartede.
Hvis det oprindelige svar skal kontrolleres
Der indføres intet endpoint til embedding-job.
Svarfelter
| Felt | Type |
|---|---|
Feltobject | Typestring |
Feltmodel | Typestring |
Feltdata[].index | Typeinteger |
Feltdata[].embedding | Typefinite float[] |
Feltusage | Typeobject |
Fejl og næste trin
| Svar | Betingelse | Næste trin |
|---|---|---|
Svar400 · invalid_request_error | BetingelseUgyldige obligatoriske felter, materialerepræsentation eller parameterværdi | Næste trinRet de angivne felter før en ny oprettelsesanmodning. |
Aliaser
Modelaliaser
Ailoot Ultra sentence-transformers/multi-qa-mpnet-base-dot-v1
Aliaser for metodestier
Brug metodestierne vist ovenfor.
Relaterede kalder-ID’er
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- Hvilke input og resultater er tilgængelige?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- Hvilke felter bruger anmodningen?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- Hvilke grænser gælder?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(UTF8-bytes);input.min_items:1