Sentence Transformers: all-mpnet-base-v2
Sentence Transformers all-mpnet-base-v2 wandelt Sätze und kurze Absätze in 768-dimensionale Vektoren für Abruf, Clustering und Ähnlichkeitsvergleiche um. Das veröffentlichte Rezept nutzt Mean-Pooling und L2-Normalisierung; standardmässig wird bei 384 Wortteilen abgeschnitten.
Ü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.
all-mpnet-base-v2 ist ein Sentence-Transformers-Modell, das Sätze und kurze Absätze als 768-dimensionale dichte Vektoren darstellt. Es wurde ausgehend vom MPNet-Basismodell mit kontrastivem Lernen auf einer Satzsammlung mit einer Milliarde Paaren feinabgestimmt. Als vorgesehene Einsatzzwecke nennt der Hersteller Informationsabruf, Clustering und Satzähnlichkeit.
Einen Satz oder kurzen Absatz kodieren
Bereiten Sie den zu vergleichenden Text vor und behalten Sie dabei die Hauptaussage und ihre unterscheidenden Details bei. In einer internen Dokumentensammlung kann ein kurzer Abschnitt beispielsweise beschreiben, wie ein Geräteaustausch beantragt wird oder welche Angaben ein Wartungsbericht enthalten muss. Halten Sie den Dokumenttitel und die Fundstelle in der Quelle neben dem Vektor verfügbar.
Eine mit demselben Modell eingebettete Anfrage kann verwandte Abschnitte auch dann abrufen, wenn sie anders formuliert sind. Prüfen Sie diese Abschnitte auf die konkrete Anweisung, die der Leser benötigt. Vergleichen Sie in einem Ähnlichkeits-Workflow nach dem Abruf die Kandidatensätze selbst, insbesondere wenn einer eine Ausnahme oder Bedingung enthält, die im anderen fehlt.
Mean-Pooling und Normalisierung
Das Referenzbeispiel zur Kodierung mittelt die kontextuellen Token-Repräsentationen mithilfe der Attention-Maske und schliesst Padding aus dem Mittelwert aus. Anschliessend werden die resultierenden Satz-Embeddings L2-normalisiert. Behalten Sie beide Schritte bei, wenn Sie Vektoren für eine Sammlung und für spätere Anfragen erzeugen.
Jeder Vektor hat 768 Komponenten. Die Kosinus-Ähnlichkeit kann diese normalisierten Repräsentationen vergleichen, während der Quelltext den Beleg für ein Ergebnis liefert. Die gleiche Komponentenzahl macht dieses Modell nicht kompatibel mit multi-qa-mpnet-base-dot-v1: Diese eigenständige Edition legt CLS-Pooling und nicht normalisierte Vektoren für die Bewertung per Skalarprodukt fest.
Standardmässiges Abschneiden und Vorbereitung von Passagen
Der Hersteller gibt an, dass Eingaben über 384 Wortteile hinaus standardmässig abgeschnitten werden. Halten Sie den relevanten Abschnitt innerhalb dieser Tokenizer-Grenze. Teilen Sie ein langes Verfahren an sinnvollen Abschnittsgrenzen und nehmen Sie genug lokalen Kontext auf, um zu erklären, worauf sich ein Schritt bezieht. Ein Fragment wie «Innerhalb von fünf Tagen einreichen» braucht das Ereignis oder den Vorgang, mit dem die Frist beginnt.
Das Trainingsverfahren begrenzte die Sequenzen auf 128 Token; das ist unabhängig vom veröffentlichten Kodierungsstandard von 384 Wortteilen. Nutzen Sie repräsentatives Material, wenn Sie längere Absätze oder sammlungsspezifisches Vokabular bewerten. Dass mehr Text in die Eingabe passt, bedeutet nicht, dass jedes Detail ein Abrufergebnis gleichermassen beeinflusst.
Abruf, Gruppierung und Vergleich
Behalten Sie für die Suche die Zuordnung zwischen Vektor und Dokument bei, damit gerankte Kandidaten die ursprünglichen Abschnitte zurückgeben können. In einem RAG-Workflow werden ausgewählte Abschnitte zum Kontext für die Stufe, die die Antwort formuliert. Das Modell liefert numerische Repräsentationen; es erzeugt keine Antwort mit Quellenangaben und entscheidet nicht, welches Dokument massgeblich ist.
Vergleichen Sie beim Clustering die Datensätze in jeder vorgeschlagenen Gruppe, bevor Sie Bezeichnungen vergeben. Eine Reihe von Wartungsnotizen kann ähnliche Formulierungen enthalten und sich dennoch auf unterschiedliche Geräte oder Fehlerbedingungen beziehen. Nehmen Sie diese unterscheidenden Details in den kodierten Text auf und prüfen Sie sie im zurückgegebenen Material, statt sich allein auf einen Wert zu verlassen.
Genau dieser Checkpoint all-mpnet-base-v2 ist ein englischsprachiges Satz-Embedding-Profil mit eigenen Einstellungen für Mean-Pooling, Normalisierung und standardmässiges Abschneiden. Bewahren Sie diese Einstellungen zusammen mit der indexierten Sammlung auf und nutzen Sie die Vektoren als Hilfsmittel, um die für die Aufgabe relevanten Quellpassagen zu finden und zu vergleichen.
Ailoot Ultra · Embeddings POST /v1/embeddings sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2Einstieg
Sentence Transformers all-mpnet-base-v2 wandelt Sätze und kurze Absätze in 768-dimensionale Vektoren für Abruf, Clustering und Ähnlichkeitsvergleiche um. Das veröffentlichte Rezept nutzt Mean-Pooling und L2-Normalisierung; standardmässig wird bei 384 Wortteilen abgeschnitten.
- Zulässige Eingaben
- Text · token_ids
- Ergebnisse
- embedding
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Embeddings POST /v1/embeddings
- Eingabe
text,token_ids- Ausgabe
embedding- Ausgabeformat
- json
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits sentence-transformers/all-mpnet-base-v2 | 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 Tokens Ausgabe · Ausgabetoken $0 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
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 abschliessenden 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/all-mpnet-base-v2", "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/all-mpnet-base-v2',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/all-mpnet-base-v2
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Sentence Transformers: all-mpnet-base-v2
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:text,token_ids→embedding- Welche Felder verwendet die Anfrage?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:model,input,encoding_format,provider- Welche Grenzen gelten?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:input.budget.maximum:512(UTF8-Bytes);input.min_items:1