Sentence Transformers: all-MiniLM-L12-v2
Sentence Transformers all-MiniLM-L12-v2 encode des phrases et de courts paragraphes en vecteurs de 384 dimensions pour la recherche, la similarité et le regroupement. Sa recette de référence utilise une agrégation par moyenne et une normalisation, avec une troncature par défaut à 256 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-MiniLM-L12-v2 est un encodeur de phrases et de courts paragraphes de Sentence Transformers. Il produit un vecteur dense de 384 dimensions par texte pour la recherche sémantique, la recherche d’information, le regroupement et la similarité entre phrases. Le modèle utilise l’architecture MiniLM-L12-H384-uncased et a été ajusté par apprentissage contrastif sur une collection d’un milliard de paires de phrases.
Encoder l’unité à retrouver
Utilisez une phrase ou un court paragraphe exprimant une idée utile. Pour une collection de descriptions produit, gardez la fonctionnalité et la condition qui distinguent l’article : « The adapter connects a wired headset to a USB-C port » est plus informatif que « Audio accessory ». Stockez l’identifiant de l’enregistrement et la description d’origine avec son vecteur.
Une requête de recherche peut ensuite être comparée aux descriptions encodées. Examinez les candidats renvoyés pour vérifier les exigences exactes, telles que le type de connecteur ou la compatibilité avec l’appareil, avant de présenter un choix définitif. Le vecteur représente le sens du texte ; l’application de recherche environnante retrouve les enregistrements correspondants.
Agrégation par moyenne et vecteurs normalisés
L’exemple d’encodage publié calcule la moyenne des représentations des tokens avec le masque d’attention, afin que les positions de remplissage ne contribuent pas à la moyenne. Il applique ensuite une normalisation L2. Ces étapes font partie de la recette de référence pour obtenir le vecteur de phrase ; elles ne constituent pas une instruction de prendre un token arbitraire du transformer sous-jacent.
Gardez une configuration cohérente de modèle, d’agrégation et de normalisation entre les textes indexés et les nouvelles requêtes. Les représentations obtenues de 384 composantes peuvent être comparées par similarité cosinus. Conservez une trace de cette configuration avec la collection ; un autre encodeur de 384 dimensions ne devient pas compatible du seul fait que ses vecteurs ont la même longueur.
Longueur d’entrée par défaut et périmètre d’entraînement
Le fabricant spécifie une troncature par défaut au-delà de 256 sous-unités de mots. Il s’agit d’une limite du tokenizer, plutôt que d’un nombre de mots ordinaires ou de caractères. Pour un enregistrement plus long, choisissez des sections courtes et cohérentes et préservez le titre ou le détail d’identification nécessaire à l’interprétation de chacune.
La procédure d’entraînement du modèle utilisait des séquences pouvant atteindre 128 tokens. Ce réglage d’entraînement est distinct du réglage par défaut publié de 256 sous-unités de mots au moment de l’encodage. Un passage qui tient dans la limite par défaut peut néanmoins différer sensiblement des phrases courtes utilisées à l’entraînement ; évaluez donc les descriptions longues ou spécialisées à partir d’exemples représentatifs.
Processus de similarité et de regroupement
Pour un ensemble de messages d’assistance, les plongements peuvent fournir des entrées numériques à une étape de regroupement. Vérifiez plusieurs messages de chaque groupe proposé, ainsi que ceux proches de sa frontière, avant d’attribuer un libellé lisible par une personne. Pour la vérification de contenus en double, retrouvez des enregistrements similaires et comparez leur formulation réelle ; deux passages peuvent traiter du même sujet tout en donnant des instructions différentes.
Cette édition exacte L12-v2 est un profil anglophone de plongement de phrases. Elle est distincte d’all-MiniLM-L6-v2 et des versions paraphrase-MiniLM. Des noms de famille partagés ne transfèrent pas leur configuration de séquence ni leur recette d’agrégation. Utilisez ses vecteurs denses compacts avec les enregistrements sources et une évaluation propre à la tâche, plutôt que de traiter une valeur de similarité comme une réponse vérifiée ou une décision éditoriale définitive.
Ailoot Ultra · Embeddings POST /v1/embeddings sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2
sentence-transformers/all-minilm-l12-v2Premiers pas
Sentence Transformers all-MiniLM-L12-v2 encode des phrases et de courts paragraphes en vecteurs de 384 dimensions pour la recherche, la similarité et le regroupement. Sa recette de référence utilise une agrégation par moyenne et une normalisation, avec une troncature par défaut à 256 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-minilm-l12-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 jetons | 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: La 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: La 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: La 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-minilm-l12-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-minilm-l12-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-minilm-l12-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-MiniLM-L12-v2
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:text,token_ids→embedding- Quels champs la requête utilise-t-elle ?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:model,input,encoding_format,provider- Quelles limites s’appliquent ?
POST /v1/embeddings·sentence-transformers/all-minilm-l12-v2:input.budget.maximum:512(octets UTF8);input.min_items:1