VoyageAI by MongoDB: voyage-4
voyage-4 genera embeddings de texto para recuperación de uso general y multilingüe, con un espacio vectorial compartido en la familia Voyage 4. Admite entradas de 32,000 tokens, salidas seleccionables de 256–2048 dimensiones y roles query/document para búsqueda y RAG.
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.
voyage-4 es el modelo de embeddings de texto de tamaño intermedio de Voyage AI en la familia Voyage 4. Convierte el texto de consultas y documentos en vectores numéricos para recuperación de uso general y multilingüe. La capacidad que define la familia es un espacio compartido de embeddings: voyage-4, voyage-4-large, voyage-4-lite y voyage-4-nano producen representaciones compatibles, lo que permite que los lados de consulta y documento de una tarea de búsqueda utilicen modelos distintos de esa familia.
Espacio compartido y recuperación asimétrica
El fabricante denomina recuperación asimétrica al uso de modelos diferentes de consulta y corpus. Un patrón documentado consiste en preparar el corpus con voyage-4-large y buscar en él utilizando embeddings de consulta voyage-4. Los embeddings del corpus se generan una vez o cuando cambia su material de origen, mientras que los vectores de consulta se crean conforme llegan búsquedas. El espacio compartido permite cambiar la elección de modelo del lado de consulta dentro de la familia sin exigir generar otra vez los embeddings del corpus solo por ese cambio.
Mantén compatibles la dimensión de salida y la representación de los vectores comparados. La declaración de espacio compartido se refiere a los modelos textuales Voyage 4 con esos nombres; no queda establecida simplemente porque dos modelos sin relación devuelvan arrays de igual longitud. Por tanto, una tarea práctica puede utilizar voyage-4 en ambos lados de la búsqueda o utilizar sus vectores de consulta con un índice documental voyage-4-large existente cuando coincidan sus ajustes de representación.
Roles de consulta y documento
Para recuperación, Voyage recomienda identificar el texto de entrada como consulta o documento. La opción de rol de entrada aporta la instrucción de recuperación correspondiente antes de vectorizar. Prepara los pasajes del corpus como documentos y la formulación de búsqueda del usuario como consulta, conservando el texto real de origen y los identificadores junto a cada vector almacenado.
Por ejemplo, una colección de búsqueda de conocimiento puede indexar instrucciones técnicas y explicaciones de productos. Una consulta sobre lo que ocurre después de una importación fallida debe devolver el pasaje de origen que describe ese comportamiento. Conserva los encabezados, las condiciones pertinentes y la ubicación de origen junto al pasaje para que el resultado de búsqueda pueda examinarse o utilizarse en una etapa posterior de respuesta RAG. El embedding es la representación numérica de recuperación; el pasaje subyacente es la evidencia utilizada en esa etapa posterior.
Dimensiones y tipos de datos de salida
La ventana de contexto documentada por texto es de 32,000 tokens. Las dimensiones seleccionables son 256, 512, 1024 y 2048, con 1024 como valor predeterminado. El aprendizaje Matryoshka aporta estos tamaños anidados de representación. La salida puede utilizar punto flotante de 32 bits, enteros de 8 bits con o sin signo o valores binarios empaquetados, gracias a la preparación de la familia que tiene en cuenta la cuantización.
Con salida binaria empaquetada, cada byte devuelto guarda ocho bits de embedding, por lo que la longitud de la lista de bytes es un octavo de la dimensión elegida. La cantidad de bytes y la dimensión del embedding tienen significados diferentes. Elige la representación que pueda interpretar tu índice de búsqueda y examina la relevancia de los candidatos para las preguntas e idiomas realmente utilizados por la colección antes de seleccionar una configuración comprimida.
Longitud de entrada, lotes y truncamiento
La guía actual de embeddings de texto del fabricante permite hasta 1000 cadenas y 320,000 tokens totales en una solicitud voyage-4. El límite de lote es independiente de la ventana de 32,000 tokens para cada entrada. El truncamiento está activado por defecto: el texto demasiado largo se acorta para que quepa. Si el truncamiento se desactiva, un elemento demasiado largo produce un error.
Para un informe o transcripción largos, prepara deliberadamente pasajes que contengan respuestas, en lugar de depender de un corte en el límite de entrada. Mantén cada pasaje vinculado a su documento principal y versión de origen. Las entradas ordinarias de embeddings voyage-4 son textos individuales; el procesamiento contextualizado de grupos de fragmentos pertenece a los modelos documentados por separado de embeddings contextuales.
Utiliza el resultado de recuperación
Guarda los vectores junto con el texto de pasaje e identificadores estables de origen, compara cada vector de consulta con los vectores documentales compatibles y devuelve pasajes candidatos. La publicación de la familia evalúa recuperación entre material que incluye documentos técnicos, conversaciones, documentos largos, código, derecho, finanzas y texto web. Un reranker separado puede refinar candidatos y una etapa posterior de respuesta puede utilizar sus textos. Evalúa esos pasajes devueltos frente a la tarea; la compatibilidad de espacio compartido permite combinar los modelos, mientras que la utilidad de un resultado sigue dependiendo del material de origen y la pregunta.
Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4Inicio
voyage-4 genera embeddings de texto para recuperación de uso general y multilingüe, con un espacio vectorial compartido en la familia Voyage 4. Admite entradas de 32,000 tokens, salidas seleccionables de 256–2048 dimensiones y roles query/document para búsqueda y RAG.
- 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
- 32,000 tokens
- Formato de salida
- json
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites voyageai/voyage-4 | 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: 32,000 · 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 | Contrato32000 |
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.00012 / 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": "voyageai/voyage-4", "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='voyageai/voyage-4',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 voyageai/voyage-4
Alias de rutas de métodos
Usa las rutas de método indicadas arriba.
ID de modelo relacionados
FAQ · VoyageAI by MongoDB: voyage-4
- ¿Qué entradas y resultados están disponibles?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- ¿Qué campos utiliza la solicitud?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- ¿Qué límites se aplican?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(bytes UTF8);input.min_items:1