Sentence Transformers: all-mpnet-base-v2
Sentence Transformers all-mpnet-base-v2 convertit des phrases et de courts paragraphes en vecteurs de 768 dimensions pour la recherche d’information, le regroupement et la similarité. La recette publiée utilise une agrégation par moyenne et une normalisation L2, avec une troncature par défaut à 384 sous-unités de mots.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
all-mpnet-base-v2 est un modèle de Sentence Transformers pour représenter des phrases et de courts paragraphes sous forme de vecteurs denses de 768 dimensions. Il a été ajusté à partir du modèle de base MPNet par apprentissage contrastif sur une collection d’un milliard de paires de phrases. Le fabricant identifie la recherche d’information, le regroupement et la similarité entre phrases comme des usages visés.
Encoder une phrase ou un court paragraphe
Préparez le texte à comparer en gardant l’idée principale et les détails qui le distinguent. Pour une collection documentaire interne, une courte section pourrait décrire comment demander le remplacement d’un équipement ou les informations qu’un rapport de maintenance doit contenir. Gardez le titre du document et l’emplacement source disponibles avec le vecteur.
Une requête encodée avec le même modèle peut retrouver des sections liées, même lorsque leur formulation diffère. Examinez ces sections pour trouver l’instruction réelle dont le lecteur a besoin. Pour un processus de similarité, comparez les phrases candidates elles-mêmes après la recherche, particulièrement lorsque l’une contient une exception ou une condition absente de l’autre.
Agrégation par moyenne et normalisation
L’exemple d’encodage de référence calcule la moyenne des représentations contextuelles des tokens avec le masque d’attention, en excluant le remplissage de cette moyenne. Il normalise ensuite les plongements de phrases obtenus en norme L2. Préservez les deux étapes lorsque vous produisez des vecteurs pour une collection et pour les requêtes ultérieures.
Chaque vecteur possède 768 composantes. La similarité cosinus peut comparer ces représentations normalisées, tandis que le texte source fournit les éléments sous-jacents au résultat. Le même nombre de composantes ne rend pas ce modèle compatible avec multi-qa-mpnet-base-dot-v1 : cette édition distincte spécifie une agrégation CLS et des vecteurs non normalisés pour le calcul de scores par produit scalaire.
Troncature par défaut et préparation des passages
Le fabricant indique que les entrées dépassant 384 sous-unités de mots sont tronquées par défaut. Gardez la section pertinente dans cette limite du tokenizer. Pour une longue procédure, découpez selon des frontières de sections porteuses de sens et incluez assez de contexte local pour expliquer à quoi s’applique une étape. Un fragment tel que « Submit within five days » nécessite l’événement ou le processus qui fait commencer le délai.
La procédure d’entraînement limitait les séquences à 128 tokens, ce qui est distinct du réglage d’encodage par défaut publié de 384 sous-unités de mots. Utilisez du matériau représentatif lorsque vous évaluez des paragraphes plus longs ou un vocabulaire propre à votre collection. Le fait que davantage de texte tienne dans l’entrée n’établit pas que chaque détail influencera de manière égale un résultat de recherche.
Recherche, regroupement et comparaison
Pour la recherche, gardez l’association entre vecteur et document afin que les candidats classés puissent renvoyer les sections d’origine. Dans un processus RAG, les sections sélectionnées deviennent du contexte pour l’étape de rédaction de la réponse. Le modèle fournit des représentations numériques ; il ne génère pas de réponse sourcée et ne décide pas quel document fait autorité.
Pour le regroupement, comparez les enregistrements de chaque groupe proposé avant d’attribuer des libellés. Un ensemble de notes de maintenance peut contenir un langage similaire tout en concernant des appareils ou des conditions de défaillance différents. Incluez ces détails distinctifs dans le texte encodé et examinez-les dans le matériau renvoyé, plutôt que de vous appuyer uniquement sur un score.
Cette version exacte all-mpnet-base-v2 est un profil anglophone de plongement de phrases avec ses propres réglages d’agrégation par moyenne, de normalisation et de troncature par défaut. Gardez ces réglages avec la collection indexée et utilisez les vecteurs pour aider à trouver et à comparer les passages sources importants pour la tâche.
Ailoot Ultra · Embeddings POST /v1/embeddings sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2
sentence-transformers/all-mpnet-base-v2Premiers pas
Sentence Transformers all-mpnet-base-v2 convertit des phrases et de courts paragraphes en vecteurs de 768 dimensions pour la recherche d’information, le regroupement et la similarité. La recette publiée utilise une agrégation par moyenne et une normalisation L2, avec une troncature par défaut à 384 sous-unités de mots.
- Entrées acceptées
- Texte · token_ids
- Résultats
- embedding
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Embeddings POST /v1/embeddings
- Entrée
text,token_ids- Sortie
embedding- Format de sortie
- json
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites sentence-transformers/all-mpnet-base-v2 | Par défaut— |
Champinput | Typestring|string[]|integer[]|integer[][] | ExigenceObligatoire | Valeurs et limites Nombre minimal d’éléments: 1 Conditions: Lot homogène non vide. Les identifiants de jetons sont des entiers positifs ou nuls. Budget d’entrée : Maximum: 512 · Unité de texte: octets UTF8 · Unité de tokens: éléments du tableau de tokens | Par défaut— |
Champencoding_format | Typestring | ExigenceFacultatif | Valeurs et limites float | Par défautfloat |
Champdimensions | Typeinteger | ExigenceNon pris en charge | Valeurs et limites Minimum: 1 | Par défaut— |
Champuser | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Le code source autorise ce champ de métadonnées JSON ; sa sémantique exacte en amont dépend du modèle. | Par défaut— |
Champsession_id | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Le code source autorise ce champ de métadonnées JSON ; sa sémantique exacte en amont dépend du modèle. | Par défaut— |
Champtrace | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Le code source autorise ce champ de métadonnées JSON ; sa sémantique exacte en amont dépend du modèle. | Par défaut— |
Champprovider | Typeobject | ExigenceFacultatif | Valeurs et limites Conditions: provider.options est refusé | Par défaut— |
Combinaisons d’éléments d’entrée
text_to_embedding
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, input |
Paramètreinput_shapes | Contratstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Paramètreencoding_format | Contratfloat |
Paramètredimensions_override | Contratfalse |
Paramètremax_input_budget_units | Contrat512 |
Paramètremultimodal_objects | Contratfalse |
Paramètrematerial_types | Contrattext, token_ids |
Cycle de vie : synchronous_json
Conservez tous les indices et toutes les dimensions des vecteurs.
Un nom de modèle multimodal n’autorise pas les objets image sur ce chemin précis.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
| Configuration | Barème tarifaire | Coût |
|---|---|---|
| ConfigurationTarifs de base des tokens | Barème tarifaireTarif de base | Coût Entrée · Tokens en entrée $0.00001 / 1K tokens Sortie · Tokens en sortie $0 / 1K tokens Entrée · Lecture du cache — / 1K tokens Entrée · Écriture dans le cache — / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
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)
Recevoir et enregistrer les résultats
Ailoot Ultra · Embeddings
json
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez chaque vecteur avec son indice. Le nombre de vecteurs doit être égal au nombre d’entrées ; les dimensions doivent être cohérentes.
Si la réponse d’origine doit être vérifiée
Aucun point de terminaison dédié aux tâches d’embedding n’est ajouté.
Champs de la réponse
| Champ | Type |
|---|---|
Champobject | Typestring |
Champmodel | Typestring |
Champdata[].index | Typeinteger |
Champdata[].embedding | Typefinite float[] |
Champusage | Typeobject |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des contenus ou valeur de paramètre non valides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Alias
Alias du modèle
Ailoot Ultra sentence-transformers/all-mpnet-base-v2
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Sentence Transformers: all-mpnet-base-v2
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:text,token_ids→embedding- Quels champs la requête utilise-t-elle ?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:model,input,encoding_format,provider- Quelles limites s’appliquent ?
POST /v1/embeddings·sentence-transformers/all-mpnet-base-v2:input.budget.maximum:512(octets UTF8);input.min_items:1