OpenAI: Text Embedding Ada 002
Un modèle de plongement textuel d’OpenAI qui renvoie un vecteur numérique de 1536 dimensions. Utilisez ces représentations pour la recherche sémantique, les recommandations de contenus liés, le regroupement, la classification ou la détection d’enregistrements textuels inhabituels.
- Ailoot Ultra · Embeddings
POST /v1/embeddingsopenai/text-embedding-ada-002 - Ailoot Ultra · Plongements vectoriels · text-embedding-ada-002
POST /v1/embeddingstext-embedding-ada-002
À 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.
text-embedding-ada-002 est le modèle de plongement textuel d’OpenAI pour représenter des contenus écrits sous forme de vecteur numérique. Sa sortie contient 1536 composantes. Le fabricant réunit les rôles de similarité textuelle, de recherche documentaire et de requêtes, et de recherche de code dans une même représentation. Le résultat est constitué de données pour une comparaison ou un autre algorithme, plutôt que d’une réponse générée au texte encodé.
Pour la recherche sémantique, préparez des passages documentaires porteurs de sens et conservez leurs identifiants sources. Un processus illustratif encode chaque passage et la question de l’utilisateur avec le même modèle, compare les vecteurs et renvoie les passages sources pertinents. L’application détermine la règle de recherche, les filtres et la présentation. Une étape ultérieure de génération textuelle peut utiliser les matériaux retrouvés pour élaborer une réponse, tandis que le modèle de plongement fournit la représentation numérique.
Les autres usages documentés comprennent le regroupement d’enregistrements similaires, la recommandation de contenus liés, la classification de textes et l’identification de valeurs atypiques. Pour une recommandation, comparez les descriptions des objets dont la relation importe. Pour la classification, le guide décrit la comparaison avec des représentations de catégories ou l’utilisation des vecteurs comme caractéristiques d’un classificateur. Pour la détection d’anomalies, le résultat pertinent est un enregistrement qui diffère de la collection environnante, interprété selon la tâche du produit.
OpenAI indique une entrée maximale de 8192 tokens pour ce modèle. L’API de plongement du producteur accepte des chaînes de texte ou des entrées tokenisées, autorise plusieurs entrées dans une même requête et rejette les chaînes vides. Sa limite cumulée est de 300 000 tokens sur une seule requête, en plus de la limite par entrée. Divisez les documents plus longs en passages utiles en préservant les titres, les définitions et la référence au matériau d’origine.
La sortie est un vecteur de valeurs à virgule flottante ; le producteur documente aussi base64 comme un encodage de transport alternatif. Le paramètre de réduction de dimension d’OpenAI concerne les modèles de plongement de troisième génération et les suivants ; le résultat documenté de 1536 dimensions du modèle Ada reste donc distinct de cette commande. Stockez l’identité du modèle et le vecteur avec l’enregistrement source afin que les comparaisons ultérieures utilisent une représentation cohérente.
Le guide de plongement recommande la similarité cosinus et indique que les plongements OpenAI sont normalisés à une norme unitaire. Pour ces vecteurs, un produit scalaire peut calculer la similarité cosinus et la distance euclidienne donne le même classement. Un score de similarité fait partie de la logique de recherche ou de classification de l’application, plutôt que d’une décision catégorielle fournie automatiquement par le modèle.
Définissez les champs sources qui deviennent le texte d’entrée et la manière de diviser les passages. Un résultat illustratif est un ensemble classé de passages documentaires ou d’enregistrements liés, chacun relié à sa source d’origine et à la règle utilisée pour la sélection. Gardez une préparation cohérente et évaluez si le matériau renvoyé répond à la question réelle. Cela rend la sortie numérique utile à l’étape suivante de recherche, de recommandation ou d’analyse.
Ailoot Ultra · Embeddings POST /v1/embeddings openai/text-embedding-ada-002
openai/text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Pour commencer
Un modèle de plongement textuel d’OpenAI qui renvoie un vecteur numérique de 1536 dimensions. Utilisez ces représentations pour la recherche sémantique, les recommandations de contenus liés, le regroupement, la classification ou la détection d’enregistrements textuels inhabituels.
- 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- Contexte
- 8 192 tokens
- Format de sortie
- json
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites openai/text-embedding-ada-002 | 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: 8 192 · Unité de texte: octets UTF8 · Unité de jetons: é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: 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 | Contrat8192 |
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
- Tarif standard Lorsque le mode rapide est sélectionné
- Mode Flex
- Tarif standard Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Tarif standard 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 jetons | Barème tarifaireTarif de base | Coût Entrée · Jetons en entrée $0.0002 / 1K jetons Sortie · Jetons en sortie $0 / 1K jetons Entrée · Lecture du cache — / 1K jetons Entrée · Écriture dans le cache — / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
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": "openai/text-embedding-ada-002", "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='openai/text-embedding-ada-002',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 éléments fournis ou valeur de paramètre invalides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Alias
Alias du modèle
Ailoot Ultra openai/text-embedding-ada-002, text-embedding-ada-002
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
Ailoot Ultra · Plongements vectoriels · text-embedding-ada-002 POST /v1/embeddings text-embedding-ada-002
text-embedding-ada-002openai/text-embedding-ada-002text-embedding-ada-002
Pour commencer
Un modèle de plongement textuel d’OpenAI qui renvoie un vecteur numérique de 1536 dimensions. Utilisez ces représentations pour la recherche sémantique, les recommandations de contenus liés, le regroupement, la classification ou la détection d’enregistrements textuels inhabituels.
- Entrées acceptées
- Texte
- Résultats
- embedding
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Plongements vectoriels · text-embedding-ada-002 POST /v1/embeddings
- Entrée
text- Sortie
embedding- Contexte
- 8 192 tokens
- Format de sortie
- json
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites text-embedding-ada-002 | 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: 8 192 · Unité de texte: octets UTF8 · Unité de jetons: é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: Métadonnées JSON facultatives; la sémantique exacte en amont dépend du modèle sélectionné. | Par défaut— |
Champsession_id | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Métadonnées JSON facultatives; la sémantique exacte en amont dépend du modèle sélectionné. | Par défaut— |
Champtrace | Typejson_value | ExigenceFacultatif | Valeurs et limites Conditions: Métadonnées JSON facultatives; la sémantique exacte en amont dépend du modèle sélectionné. | 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 | Contrat8192 |
Paramètremultimodal_objects | Contratfalse |
Paramètrematerial_types | Contrattext |
Paramètretext_file_material | ContratLisez le document UTF-8 réel et placez son texte dans l’entrée indiquée ou dans la chaîne de contenu du message. |
Cycle de vie : synchronous_json
Envoyez l’identifiant exact du modèle et les champs requis.
Conservez chaque élément retourné et ses identifiants d’origine.
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
- Tarif standard Lorsque le mode rapide est sélectionné
- Mode Flex
- Tarif standard Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Tarif standard 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 jetons | Barème tarifaireTarif de base | Coût Entrée · Jetons en entrée $0.0002 / 1K jetons Sortie · Jetons en sortie $0 / 1K jetons Entrée · Lecture du cache — / 1K jetons Entrée · Écriture dans le cache — / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
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 · Plongements vectoriels · text-embedding-ada-002
{
"model": "text-embedding-ada-002",
"input": [
"First document",
"Second document"
],
"encoding_format": "float"
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-ada-002', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
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
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'text-embedding-ada-002', 'input': ['First document', 'Second document'], 'encoding_format': 'float'}
payload['input'] = [text]
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/embeddings', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
for vector in result.get('data', []):
print('Vector', vector.get('index'), json.dumps(vector.get('embedding')))
Recevoir et enregistrer les résultats
Ailoot Ultra · Plongements vectoriels · text-embedding-ada-002
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 fini avec son indice d’origine. Préservez toutes les dimensions et l’objet d’utilisation complet.
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 éléments fournis ou valeur de paramètre invalides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Alias
Alias du modèle
Ailoot Ultra openai/text-embedding-ada-002, text-embedding-ada-002
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · OpenAI: Text Embedding Ada 002
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/embeddings·openai/text-embedding-ada-002:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-ada-002:text→embedding- Quels champs la requête utilise-t-elle ?
POST /v1/embeddings·openai/text-embedding-ada-002:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-ada-002:model,input,encoding_format,provider- Quelles limites s’appliquent ?
POST /v1/embeddings·openai/text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(octets UTF8);input.min_items:1POST /v1/embeddings·text-embedding-ada-002:ctx:8192;input.budget.maximum:8192(octets UTF8);input.min_items:1