OpenAI: Text Embedding 3 Small
El modelo pequeño de embeddings textuales de tercera generación de OpenAI devuelve vectores de 1536 dimensiones por defecto y admite representaciones más cortas. Utiliza la salida numérica para búsqueda semántica, recuperación de código, agrupación, recomendaciones y clasificación.
- Ailoot Ultra · Representaciones vectoriales
POST /v1/embeddingsopenai/text-embedding-3-small - Ailoot Ultra · Vectores de representación · text-embedding-3-small
POST /v1/embeddingstext-embedding-3-small
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
text-embedding-3-small es el modelo más pequeño de embeddings textuales de tercera generación de OpenAI. Convierte material escrito en vectores numéricos con 1536 componentes por defecto. Esos vectores miden relaciones entre textos para otro paso de búsqueda o análisis; el modelo no genera una respuesta conversacional a la entrada.
Al igual que el modelo más grande de tercera generación, admite el control dimensions del productor para embeddings más cortos. El entrenamiento está diseñado para conservar información que representa conceptos en un vector acortado, y la elección del tamaño afecta a la calidad y las necesidades de recursos de la aplicación. Mantén coherentes el modelo y las dimensiones elegidas entre los registros y consultas que se comparan.
Una aplicación práctica es la búsqueda de código. La guía del fabricante describe la representación de funciones de origen como texto y la generación de sus embeddings, seguida de la generación del embedding de una consulta en lenguaje natural con el mismo modelo y la comparación de los vectores resultantes. Un resultado ilustrativo es un conjunto ordenado de funciones pertinentes vinculadas a sus ubicaciones de origen. Para búsqueda documental, el artefacto equivalente es un conjunto de pasajes cuyo texto y referencias originales siguen disponibles para el lector o el siguiente modelo.
Otros usos documentados incluyen agrupación, recomendaciones de contenido relacionado, clasificación, detección de valores atípicos y medición de diversidad. Un flujo específico de mensajes puede agrupar solicitudes similares o compararlas con descripciones de categorías. La aplicación define cómo un resultado de similaridad se convierte en una categoría, recomendación o elemento de revisión; el embedding por sí mismo sigue siendo un conjunto de datos numéricos.
OpenAI especifica una entrada máxima de 8192 tokens por texto. Su API de embeddings acepta cadenas o entrada tokenizada y varias entradas en una solicitud, rechaza cadenas vacías y aplica un límite agregado de 300,000 tokens. Prepara material largo como pasajes significativos y conserva los títulos o definiciones necesarios para interpretarlos. Utiliza un conjunto coherente de campos de origen, en lugar de generar embeddings de distintos tipos de registros con reglas de preparación sin relación.
El productor devuelve vectores float por defecto y también documenta codificación base64. La guía afirma que los embeddings de OpenAI están normalizados a longitud unitaria y recomienda similaridad del coseno; un producto escalar puede calcularla y la distancia euclidiana da la misma ordenación. Si un embedding de tercera generación se acorta manualmente después de devolverlo, normaliza de nuevo ese vector acortado como describe la guía. El control dimensions evita que el truncamiento manual sea el paso ordinario de preparación.
Registra la identidad del modelo, las dimensiones y el enlace de origen junto con cada vector. Un artefacto posterior útil es una lista ordenada, una colección agrupada o un conjunto de características de clasificación conectados al texto que los produjo. Comprueba si el material seleccionado respalda realmente la tarea y mantén los hechos ausentes separados de la relación semántica. El siguiente paso puede utilizar después la representación para un flujo específico de recuperación o decisión.
Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings openai/text-embedding-3-small
openai/text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Inicio
El modelo pequeño de embeddings textuales de tercera generación de OpenAI devuelve vectores de 1536 dimensiones por defecto y admite representaciones más cortas. Utiliza la salida numérica para búsqueda semántica, recuperación de código, agrupación, recomendaciones y clasificación.
- Entradas aceptadas
- Texto · token_ids
- Resultados
- embedding
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings
- Entrada
text,token_ids- Salida
embedding- Contexto
- 8,192 tokens
- Formato de salida
- json
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites openai/text-embedding-3-small | Predeterminado— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 Condiciones: Lote homogéneo no vacío. Los ID de tokens son números enteros no negativos. Presupuesto de entrada: Máximo: 8,192 · Unidad de texto: bytes UTF8 · Unidad de tokens: elementos de un arreglo de tokens | Predeterminado— |
Campoencoding_format | Tipostring | RequisitoOpcional | Valores y límites float | Predeterminadofloat |
Campodimensions | Tipointeger | RequisitoNo compatible | Valores y límites Mínimo: 1 | Predeterminado— |
Campouser | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo. | Predeterminado— |
Camposession_id | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo. | Predeterminado— |
Campotrace | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo. | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites Condiciones: provider.options rechazado | Predeterminado— |
Combinaciones de materiales de entrada
text_to_embedding
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, input |
Parámetroinput_shapes | Contratostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parámetroencoding_format | Contratofloat |
Parámetrodimensions_override | Contratofalse |
Parámetromax_input_budget_units | Contrato8192 |
Parámetromultimodal_objects | Contratofalse |
Parámetromaterial_types | Contratotext, token_ids |
Ciclo de vida: synchronous_json
Conserva todos los índices y dimensiones de los vectores.
El nombre de un modelo multimodal no habilita objetos de imagen en esta ruta exacta.
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Tarifa estándar Cuando se selecciona el modo fast
- Modo flex
- Tarifa estándar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Tarifa estándar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.00004 / 1K tokens Salida · Tokens de salida $0 / 1K tokens Entrada · Lectura de caché — / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Representaciones vectoriales
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-small", "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-small',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Recibir y guardar resultados
Ailoot Ultra · Representaciones vectoriales
json
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva cada vector con su índice. La cantidad de vectores debe ser igual a la cantidad de entradas; las dimensiones deben ser consistentes.
Si es necesario revisar la respuesta original
No se incorpora ningún endpoint de tareas de embeddings.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
Ailoot Ultra · Vectores de representación · text-embedding-3-small POST /v1/embeddings text-embedding-3-small
text-embedding-3-smallopenai/text-embedding-3-smalltext-embedding-3-small
Inicio
El modelo pequeño de embeddings textuales de tercera generación de OpenAI devuelve vectores de 1536 dimensiones por defecto y admite representaciones más cortas. Utiliza la salida numérica para búsqueda semántica, recuperación de código, agrupación, recomendaciones y clasificación.
- Entradas aceptadas
- Texto
- Resultados
- embedding
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Vectores de representación · text-embedding-3-small POST /v1/embeddings
- Entrada
text- Salida
embedding- Contexto
- 8,192 tokens
- Formato de salida
- json
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites text-embedding-3-small | Predeterminado— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 Condiciones: Lote homogéneo no vacío. Los ID de tokens son números enteros no negativos. Presupuesto de entrada: Máximo: 8,192 · Unidad de texto: bytes UTF8 · Unidad de tokens: elementos de un arreglo de tokens | Predeterminado— |
Campoencoding_format | Tipostring | RequisitoOpcional | Valores y límites float | Predeterminadofloat |
Campodimensions | Tipointeger | RequisitoNo compatible | Valores y límites Mínimo: 1 | Predeterminado— |
Campouser | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: Metadatos JSON opcionales; la semántica exacta del proveedor depende del modelo seleccionado. | Predeterminado— |
Camposession_id | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: Metadatos JSON opcionales; la semántica exacta del proveedor depende del modelo seleccionado. | Predeterminado— |
Campotrace | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: Metadatos JSON opcionales; la semántica exacta del proveedor depende del modelo seleccionado. | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites Condiciones: provider.options rechazado | Predeterminado— |
Combinaciones de materiales de entrada
text_to_embedding
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, input |
Parámetroinput_shapes | Contratostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parámetroencoding_format | Contratofloat |
Parámetrodimensions_override | Contratofalse |
Parámetromax_input_budget_units | Contrato8192 |
Parámetromultimodal_objects | Contratofalse |
Parámetromaterial_types | Contratotext |
Parámetrotext_file_material | ContratoLee el documento real en UTF-8 y coloca su texto en el campo input indicado o en la cadena de contenido del mensaje. |
Ciclo de vida: synchronous_json
Envía el ID exacto del modelo y los campos obligatorios.
Conserva cada elemento devuelto y sus identificadores originales.
Tarifas
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Tarifa estándar Cuando se selecciona el modo fast
- Modo flex
- Tarifa estándar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Tarifa estándar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.00004 / 1K tokens Salida · Tokens de salida $0 / 1K tokens Entrada · Lectura de caché — / 1K tokens Entrada · Escritura en caché — / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Vectores de representación · text-embedding-3-small
{
"model": "text-embedding-3-small",
"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-small', '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-small', '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')))
Recibir y guardar resultados
Ailoot Ultra · Vectores de representación · text-embedding-3-small
json
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva cada vector finito con su índice original. Conserva todas las dimensiones y el objeto de uso completo.
Si es necesario revisar la respuesta original
No se incorpora ningún endpoint de tareas de embeddings.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra openai/text-embedding-3-small, text-embedding-3-small
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · OpenAI: Text Embedding 3 Small
- ¿Qué entradas y resultados están disponibles?
POST /v1/embeddings·openai/text-embedding-3-small:text,token_ids→embeddingPOST /v1/embeddings·text-embedding-3-small:text→embedding- ¿Qué campos utiliza la solicitud?
POST /v1/embeddings·openai/text-embedding-3-small:model,input,encoding_format,providerPOST /v1/embeddings·text-embedding-3-small:model,input,encoding_format,provider- ¿Qué límites se aplican?
POST /v1/embeddings·openai/text-embedding-3-small:ctx:8192;input.budget.maximum:8192(bytes UTF8);input.min_items:1POST /v1/embeddings·text-embedding-3-small:ctx:8192;input.budget.maximum:8192(bytes UTF8);input.min_items:1