Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 kodiert Fragen und Passagen in 768-dimensionale Vektoren für die semantische Suche. Das Modell nutzt CLS-Pooling und nicht normalisierte Embeddings, die für die Bewertung per Skalarprodukt ausgelegt sind, bei einem Eingabelimit von 512 Wortteilen.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
multi-qa-mpnet-base-dot-v1 ist ein Sentence-Transformers-Modell, das Textpassagen zu einer Frage oder Suchanfrage abruft. Für das Training wurden rund 215 Millionen Frage-Antwort-Paare verwendet. Jede Eingabe wird zu einem 768-dimensionalen dichten Vektor; CLS-Pooling und die Bewertung per Skalarprodukt definieren genau diese Edition.
Frage und Kandidatenpassagen vorbereiten
Formulieren Sie die Anfrage als Informationsbedarf und bereiten Sie die Korpuseinträge als lesbare Textpassagen vor. Beispielsweise lässt sich eine Frage zur Änderung einer Lieferadresse mit einzelnen Absätzen zu Adressänderungen, Bestellstornierung und Sendungsverfolgung vergleichen. Behalten Sie die relevanten Bedingungen in der Passage zur Adressänderung bei, einschließlich der Angabe, ob die Bestellung bereits versandt wurde.
Kodieren Sie Anfrage und Passagen mit genau diesem Modell. Das veröffentlichte Beispiel tut dies direkt, ohne Query- oder Dokument-Präfix, und sortiert die Passagen nach ihren Skalarprodukt-Werten. Halten Sie jeden Vektor mit seiner ursprünglichen Passage und Dokumentkennung verbunden, damit das gerankte Ergebnis das tatsächlich indexierte Material anzeigen kann.
CLS-Pooling und die Skalarprodukt-Edition
Das Referenzrezept des Modells verwendet die Repräsentation des ersten Tokens, bekannt als CLS-Pooling. Die technische Tabelle gibt ausdrücklich an, dass die Embeddings nicht normalisiert sind, und nennt das Skalarprodukt als geeignete Bewertungsfunktion. Behalten Sie dieses Rezept bei der Einrichtung der Sammlung und auf der Anfrageseite bei.
Eine L2-Normalisierung dieser Vektoren verändert ihre Bewertungsgeometrie. Das normalisierte Profil all-mpnet-base-v2 folgt einem anderen Rezept und ist ein eigenständiger Checkpoint, obwohl es ebenfalls zur MPNet-Familie gehört und 768 Komponenten ausgibt. Bewahren Sie die genaue Edition und die Vergleichsfunktion zusammen mit der gespeicherten Sammlung auf, statt sie allein anhand der Vektorlänge zu wählen.
Längenlimit und längere Passagen
Das angegebene Eingabelimit beträgt 512 Wortteile; längerer Text wird abgeschnitten. Der Hersteller weist außerdem darauf hin, dass die Trainingseingaben nur 250 Wortteile erreichten und längerer Text möglicherweise weniger gut funktioniert. Die vom Tokenizer akzeptierte Länge und der Hinweis zur Trainingslänge beschreiben somit unterschiedliche praktische Grenzen.
Bereiten Sie für einen umfangreichen Hilfeartikel kurze Abschnitte vor, die konkrete Fragen beantworten. Behalten Sie eine Überschrift bei, wenn sie das Thema kennzeichnet, und halten Sie eine Regel mit der Ausnahme zusammen, die für ihr richtiges Verständnis nötig ist. Eine einzelne Eingabe mit der gesamten Seite kann späteres Material durch Abschneiden verlieren, während ein zu kleines Fragment die Bedingung verlieren kann, die es nützlich macht.
Das Ranking für Abruf und RAG nutzen
Die dichten Vektoren unterstützen eine erste Abrufstufe. Geben Sie die am höchsten bewerteten Kandidatenpassagen mit ihren Quellenverweisen zurück und prüfen Sie dann, ob sie die eigentliche Frage beantworten. In einem RAG-Workflow übergeben Sie diese Passagen als Quellmaterial an die Stufe, die die Antwort formuliert; der Abruf selbst verfasst keine Antwort.
Verwenden Sie repräsentative Fragen mit bekannten relevanten Passagen, um die Anzahl der Ergebnisse festzulegen und das Ranking zu bewerten. Nehmen Sie Beispiele mit ähnlichem Vokabular, aber unterschiedlicher Absicht auf, etwa das Ändern einer Adresse gegenüber dem Anzeigen der aktuellen Adresse. Interpretieren Sie Werte relativ zu den Kandidaten unter demselben Modell und derselben Bewertungseinstellung, nicht als kalibrierte Wahrscheinlichkeiten für Korrektheit.
Das nützliche Ergebnis dieses Checkpoints ist ein Embedding-Raum für Fragen und Passagen zur semantischen Suche. Seine nicht normalisierten Vektoren, das CLS-Pooling, die Bewertung per Skalarprodukt und der veröffentlichte Hinweis zu langen Eingaben sind die Details, die bei der Vorbereitung und Nutzung der Ergebnisse zu bewahren sind.
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 kodiert Fragen und Passagen in 768-dimensionale Vektoren für die semantische Suche. Das Modell nutzt CLS-Pooling und nicht normalisierte Embeddings, die für die Bewertung per Skalarprodukt ausgelegt sind, bei einem Eingabelimit von 512 Wortteilen.
- Zulässige Eingaben
- Text · token_ids
- Ergebnisse
- embedding
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Eingabetypen
text,token_ids- Ausgabetypen
embedding- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits sentence-transformers/multi-qa-mpnet-base-dot-v1 | Standard— |
Feldinput | Typstring|string[]|integer[]|integer[][] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 Bedingungen: Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen. Eingabebudget: Maximum: 512 · Texteinheit: UTF8-Bytes · Tokeneinheit: Elemente des Token-Arrays | Standard— |
Feldencoding_format | Typstring | AnforderungOptional | Werte und Limits float | Standardfloat |
Felddimensions | Typinteger | AnforderungNicht unterstützt | Werte und Limits Minimum: 1 | Standard— |
Felduser | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldsession_id | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldtrace | Typjson_value | AnforderungOptional | Werte und Limits Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch. | Standard— |
Feldprovider | Typobject | AnforderungOptional | Werte und Limits Bedingungen: provider.options abgelehnt | Standard— |
Kombinationen von Eingabematerialien
text_to_embedding
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, input |
Parameterinput_shapes | Vertragstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Vertragfloat |
Parameterdimensions_override | Vertragfalse |
Parametermax_input_budget_units | Vertrag512 |
Parametermultimodal_objects | Vertragfalse |
Parametermaterial_types | Vertragtext, token_ids |
Lebenszyklus: synchronous_json
Jeden Vektorindex und jede Dimension beibehalten.
Ein multimodaler Modellname erlaubt auf genau diesem Pfad keine Bildobjekte.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.00001 / 1K Token Ausgabe · Ausgabetoken $0 / 1K Token Eingabe · Cache-Lesen — / 1K Token Eingabe · Cache-Schreiben — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
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)
Ergebnisse abrufen und speichern
Ailoot Ultra · Embeddings
json
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Jeden Vektor mit seinem Index beibehalten. Die Anzahl der Vektoren muss der Anzahl der Eingaben entsprechen; die Dimensionen müssen konsistent sein.
Wenn die ursprüngliche Antwort geprüft werden muss
Es wird kein Endpunkt für Embedding-Aufträge eingeführt.
Antwortfelder
| Feld | Typ |
|---|---|
Feldobject | Typstring |
Feldmodel | Typstring |
Felddata[].index | Typinteger |
Felddata[].embedding | Typfinite float[] |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra sentence-transformers/multi-qa-mpnet-base-dot-v1
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- Welche Felder verwendet die Anfrage?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- Welche Grenzen gelten?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(UTF8-Bytes);input.min_items:1