OpenAI: Text Embedding 3 Large
Le modèle de plongement textuel de plus grande taille de troisième génération d’OpenAI renvoie des vecteurs de 3072 dimensions par défaut, avec une commande du producteur pour des représentations plus courtes. Utilisez-le pour la recherche sémantique, la comparaison multilingue et les processus de contenus liés ou de classification.
- Ailoot Ultra · Embeddings
POST /v1/embeddingsopenai/text-embedding-3-large - Ailoot Ultra · Vectorisation · text-embedding-3-large
POST /v1/embeddingstext-embedding-3-large
À 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-3-large est le modèle de plongement textuel de plus grande taille de troisième génération d’OpenAI pour les tâches en anglais et dans d’autres langues. Il projette les contenus écrits vers un vecteur numérique, en renvoyant 3072 composantes par défaut. Le vecteur représente les relations dans le contenu fourni ; un processus de recherche ou de classification l’utilise pour sélectionner des matériaux ou prendre une autre décision.
Les modèles de troisième génération sont entraînés pour prendre en charge des représentations plus courtes au moyen de la commande dimensions du producteur. Le fabricant donne 1024 dimensions comme exemple lorsqu’un magasin de vecteurs exige cette taille. Un vecteur plus court réduit la quantité de données à stocker et à comparer, tandis que le changement de représentation peut influer sur la qualité de recherche. Choisissez la taille selon les exigences de l’application et utilisez ce même choix pour le corpus et ses requêtes.
Un processus illustratif de recherche documentaire divise les sources en passages porteurs de sens, conserve leurs identifiants et obtient des vecteurs pour chaque passage. Une question est encodée avec le même modèle et les mêmes dimensions, puis comparée aux vecteurs des passages. L’application fournit les filtres, sélectionne les résultats classés et affiche leurs références sources. Un modèle ultérieur de génération textuelle peut élaborer une réponse à partir du matériau retrouvé ; le résultat du modèle de plongement reste constitué de données numériques.
Les autres applications documentées comprennent la recherche de code ou de texte, le regroupement d’enregistrements similaires, les recommandations de contenus liés, la classification, la détection d’anomalies et la mesure de diversité dans une collection. Pour une recommandation, décrivez les objets avec les termes pertinents pour la relation. Pour la classification, comparez aux représentations de catégories ou utilisez les vecteurs comme caractéristiques d’un classificateur. Définissez la règle qui transforme la similarité en résultat nécessaire au produit.
OpenAI indique une entrée maximale de 8192 tokens par texte. L’API de plongement accepte des chaînes ou du texte tokenisé, prend en charge plusieurs entrées et rejette les chaînes vides. Elle impose aussi une limite cumulée de 300 000 tokens pour une requête. Un long document doit être divisé en gardant intacts ses limites porteuses de sens et son contexte, chaque vecteur restant relié à son passage source.
Le producteur documente des vecteurs à virgule flottante comme sortie par défaut et base64 comme encodage alternatif. Le guide recommande la similarité cosinus et indique que les plongements OpenAI sont normalisés à une norme unitaire, ce qui permet un produit scalaire pour la similarité cosinus et des classements équivalents avec la distance euclidienne. Si un vecteur de troisième génération est raccourci manuellement après sa génération, le fabricant demande à l’application de normaliser de nouveau le vecteur raccourci ; utiliser la commande dimensions est la voie recommandée.
Préparez une représentation textuelle cohérente et consignez le modèle, les dimensions et l’identifiant source. Un artefact final utile est un ensemble classé de passages, d’éléments liés ou d’enregistrements regroupés dont la règle de sélection est explicite. Évaluez si le résultat répond à la requête et préservez les éléments sources pour l’étape suivante, plutôt que de traiter la similarité vectorielle comme une vérification des affirmations factuelles d’un enregistrement.
Ailoot Ultra · Embeddings POST /v1/embeddings openai/text-embedding-3-large
openai/text-embedding-3-largeopenai/text-embedding-3-largetext-embedding-3-large
Premiers pas
Le modèle de plongement textuel de plus grande taille de troisième génération d’OpenAI renvoie des vecteurs de 3072 dimensions par défaut, avec une commande du producteur pour des représentations plus courtes. Utilisez-le pour la recherche sémantique, la comparaison multilingue et les processus de contenus liés ou de classification.
- 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-3-large | 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 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 | 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 tokens | Barème tarifaireTarif de base | Coût Entrée · Tokens en entrée $0.00026 / 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": "openai/text-embedding-3-large", "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-3-large',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 openai/text-embedding-3-large, text-embedding-3-large
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
Ailoot Ultra · Vectorisation · text-embedding-3-large POST /v1/embeddings text-embedding-3-large
text-embedding-3-largeopenai/text-embedding-3-largetext-embedding-3-large
Premiers pas
Le modèle de plongement textuel de plus grande taille de troisième génération d’OpenAI renvoie des vecteurs de 3072 dimensions par défaut, avec une commande du producteur pour des représentations plus courtes. Utilisez-le pour la recherche sémantique, la comparaison multilingue et les processus de contenus liés ou de classification.
- Entrées acceptées
- Texte
- Résultats
- embedding
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Vectorisation · text-embedding-3-large 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-3-large | 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 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: 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’ID exact du modèle et les champs obligatoires.
Conservez chaque élément renvoyé 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 tokens | Barème tarifaireTarif de base | Coût Entrée · Tokens en entrée $0.00026 / 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 · Vectorisation · text-embedding-3-large
{
"model": "text-embedding-3-large",
"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-3-large', '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-3-large', '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 · Vectorisation · text-embedding-3-large
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 aux valeurs finies avec son index d’origine. Préservez toutes les dimensions et l’objet usage 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 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 openai/text-embedding-3-large, text-embedding-3-large
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 3 Large
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/embeddings·openai/text-embedding-3-large:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-large:text→embedding- Quels champs la requête utilise-t-elle ?
POST /v1/embeddings·openai/text-embedding-3-large:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-large:model,input,encoding_format,provider- Quelles limites s’appliquent ?
POST /v1/embeddings·openai/text-embedding-3-large:ctx:8192;input.budget.maximum:8192(octets UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-large:ctx:8192;input.budget.maximum:8192(octets UTF8);input.min_items:1