Sentence Transformers: multi-qa-mpnet-base-dot-v1
Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica preguntas y pasajes en vectores de 768 dimensiones para búsqueda semántica. Utiliza CLS pooling y embeddings sin normalizar diseñados para puntuación por producto escalar, con un límite de entrada de 512 fragmentos de palabra.
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.
multi-qa-mpnet-base-dot-v1 es un modelo de Sentence Transformers diseñado para recuperar pasajes de texto para una pregunta o consulta. Su entrenamiento utilizó aproximadamente 215 millones de pares de pregunta y respuesta. Cada entrada se convierte en un vector denso de 768 dimensiones, con CLS pooling y puntuación por producto escalar como rasgos que definen esta edición exacta.
Prepara una pregunta y pasajes candidatos
Escribe la consulta como la necesidad de información y prepara las entradas del corpus como pasajes de texto legibles. Por ejemplo, una pregunta sobre cambiar una dirección de entrega puede compararse con párrafos separados que cubran cambios de dirección, cancelación de pedidos y seguimiento de entregas. Mantén las condiciones pertinentes en el pasaje de cambio de dirección, incluido si el pedido ya se ha enviado.
Codifica la consulta y los pasajes con este mismo modelo. El ejemplo publicado lo hace directamente, sin un prefijo de consulta/documento, y ordena los pasajes por sus puntuaciones de producto escalar. Mantén cada vector unido a su pasaje original y al identificador del documento, para que el resultado ordenado pueda mostrar el material que realmente se indexó.
CLS pooling y la edición de producto escalar
La receta de referencia del modelo toma la representación del primer token, conocida como CLS pooling. Su tabla técnica afirma expresamente que los embeddings no están normalizados y enumera el producto escalar como función de puntuación adecuada. Conserva esa receta al configurar la colección y el lado de la consulta.
Normalizar estos vectores con L2 cambia su geometría de puntuación. El perfil normalizado all-mpnet-base-v2 utiliza una receta diferente y es un checkpoint separado, aunque comparta la familia MPNet y una salida de 768 componentes. Mantén la edición exacta y la función de comparación junto con la colección almacenada, en lugar de elegirlas solo a partir de la longitud del vector.
Límite de longitud y pasajes más largos
El límite de entrada indicado es de 512 fragmentos de palabra, o word pieces; el texto más largo se trunca. El fabricante también señala que las entradas de entrenamiento solo alcanzaban 250 fragmentos de palabra y que el texto más largo puede funcionar peor. La longitud aceptada por el tokenizador y la advertencia sobre longitud de entrenamiento describen, por tanto, límites prácticos distintos.
Para un artículo de ayuda extenso, prepara secciones cortas que respondan a preguntas específicas. Conserva un encabezado cuando identifique el tema y mantén una regla junto con la excepción necesaria para leerla correctamente. Una sola entrada de página completa puede perder material posterior por truncamiento, mientras que un fragmento demasiado pequeño puede perder la condición que lo hace útil.
Utiliza la ordenación en recuperación y RAG
Los vectores densos permiten una primera etapa de recuperación. Devuelve los pasajes candidatos con mayor puntuación junto con sus referencias de origen y después examina si abordan la pregunta real. En un flujo RAG, proporciona esos pasajes a la etapa de redacción de respuestas como material de origen; la recuperación por sí misma no redacta la respuesta.
Utiliza preguntas representativas con pasajes pertinentes conocidos para elegir la cantidad de resultados y evaluar la ordenación. Incluye ejemplos con vocabulario similar pero intención distinta, como modificar una dirección frente a consultar la dirección actual. Interpreta las puntuaciones respecto a los candidatos bajo el mismo modelo y configuración de puntuación, en lugar de como probabilidades calibradas de corrección.
La salida útil de este checkpoint es un espacio de embeddings de preguntas y pasajes para búsqueda semántica. Sus vectores sin normalizar, CLS pooling, puntuación por producto escalar y advertencia publicada sobre entradas largas son los detalles que se deben conservar al preparar y utilizar resultados.
Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1
sentence-transformers/multi-qa-mpnet-base-dot-v1Primeros pasos
Sentence Transformers multi-qa-mpnet-base-dot-v1 codifica preguntas y pasajes en vectores de 768 dimensiones para búsqueda semántica. Utiliza CLS pooling y embeddings sin normalizar diseñados para puntuación por producto escalar, con un límite de entrada de 512 fragmentos de palabra.
- Entradas aceptadas
- Texto · token_ids
- Resultados
- embedding
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings
- Tipos de entrada
text,token_ids- Tipos de salida
embedding- Formato de salida
- json
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites sentence-transformers/multi-qa-mpnet-base-dot-v1 | 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: 512 · Unidad de texto: bytes UTF8 · Unidad de tokens: elementos de un array 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: Source permite este campo de metadatos JSON; su semántica exacta en el proveedor depende de cada modelo. | Predeterminado— |
Camposession_id | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: Source permite este campo de metadatos JSON; su semántica exacta en el proveedor depende de cada modelo. | Predeterminado— |
Campotrace | Tipojson_value | RequisitoOpcional | Valores y límites Condiciones: Source permite este campo de metadatos JSON; su semántica exacta en el proveedor depende de cada modelo. | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites Condiciones: provider.options se rechaza | 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 | Contrato512 |
Parámetromultimodal_objects | Contratofalse |
Parámetromaterial_types | Contratotext, token_ids |
Ciclo de vida: synchronous_json
Conserva todos los índices y dimensiones de los vectores.
Que el modelo tenga un nombre multimodal no permite enviar objetos de imagen por esta ruta concreta.
Planes
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (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.00001 / 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 importe 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": "sentence-transformers/multi-qa-mpnet-base-dot-v1", "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/multi-qa-mpnet-base-dot-v1',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. El número de vectores debe coincidir con el número de entradas; las dimensiones deben ser coherentes.
Si es necesario revisar la respuesta original
No se introduce ningún endpoint de trabajos 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 sentence-transformers/multi-qa-mpnet-base-dot-v1
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · Sentence Transformers: multi-qa-mpnet-base-dot-v1
- ¿Qué entradas y resultados están disponibles?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:text,token_ids→embedding- ¿Qué campos utiliza la solicitud?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:model,input,encoding_format,provider- ¿Qué límites se aplican?
POST /v1/embeddings·sentence-transformers/multi-qa-mpnet-base-dot-v1:input.budget.maximum:512(bytes UTF8);input.min_items:1