Crea incrustaciones vectoriales para entradas multimodales que consisten en texto, imágenes o una combinación de ambos.
Este punto final acepta entradas que pueden contener texto e imágenes en cualquier combinación y devuelve sus representaciones vectoriales.
Cuerpo
Requerido
-
Una lista de entradas multimodales que se vectorizarán.
Una sola entrada en la lista es un diccionario que contiene una única clave
"content", cuyo valor representa una secuencia de texto e imágenes.- El valor de
"content"es una lista de diccionarios, cada uno de los cuales representa un fragmento de texto o imagen. Los diccionarios tienen cuatro claves posibles: - Tipo: Especifica el tipo de contenido. Los valores permitidos
textson,image_urlimage_base64o. - texto: Solo
typeestá presente cuandotextes. El valor debe ser una cadena de texto. - image_base:64 Solo está presente
typecuandoimage_base64es. El valor debe ser una64imagen codificada en Base con el formato de URL dedata:[<mediatype>];base64,<data>datos.mediatypesLos valores actualmente admitidosimage/pngimage/jpegson:,,image/webpimage/gify. - image_url: Solo está presente
typecuandoimage_urles. El valor debe ser una URL que enlace a la imagen. Admitimos imágenes PNG, JPEG, WEBP y GIF. - Nota: Solo una de las claves,
image_base64image_urlo, debe estar presente en cada diccionario para los datos de imagen. Se requiere coherencia en cada solicitud, lo que significa que cada solicitud debe usarimage_base64oimage_urlexclusivamente para imágenes, no ambas.
Ejemplo de carga útil donde
inputscontiene una imagen como URL:La lista
inputscontiene una única entrada, que consta de un fragmento de texto y una imagen (que se proporciona a través de una URL).{ "inputs": [ { "content": [ { "type": "text", "text": "This is a banana." }, { "type": "image_url", "image_url": "https://raw.githubusercontent.com/voyage-ai/voyage-multimodal-3/refs/heads/main/images/banana.jpg" } ] } ], "model": "voyage-multimodal-3.5" }Ejemplo de carga útil donde
inputscontiene una imagen Base64:A continuación se muestra un ejemplo equivalente al anterior, donde el contenido de la imagen es una imagen Base64 en lugar de una URL. (Las imágenes Base64 pueden ser extensas, por lo que el ejemplo solo muestra una versión abreviada).
{ "inputs": [ { "content": [ { "type": "text", "text": "This is a banana." }, { "type": "image_base64", "image_base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA..." } ] } ], "model": "voyage-multimodal-3.5" }Las siguientes restricciones se aplican a la lista
inputs:- La lista no debe contener más de 1000 entradas.
- Cada imagen no debe contener más de 16 millones de píxeles ni tener un tamaño mayor a 20 MB.
- Dado que cada 560 píxeles de una imagen se cuentan como un token, cada entrada en la lista no debe exceder 32,000 tokens, y la cantidad total de tokens en todas las entradas no debe exceder 320,000.
Al menos
1pero no más de1000elementos. - El valor de
-
El modelo de incrustación multimodal que se utilizará. Modelo recomendado:
voyage-multimodal-3.5.Los valores son
voyage-multimodal-3.5ovoyage-multimodal-3. -
Tipo de entrada. El valor predeterminado es
null. Otras opciones:query,document.- Cuando
input_typeesnull, el modelo de incrustación convierte directamente losinputsen vectores numéricos. Para fines de recuperación o búsqueda, cuando una "consulta", que en este caso puede ser texto o imagen, busca información relevante en una colección de datos denominada "documentos", especifique si susinputsson consultas o documentos estableciendoinput_typeenqueryodocument, respectivamente. En estos casos, Voyage antepone automáticamente una solicitud a susinputsantes de vectorizarlos, creando vectores más adecuados para las tareas de recuperación o búsqueda. Dado que las entradas pueden ser multimodales, las "consultas" y los "documentos" pueden ser texto, imágenes o una combinación de ambas modalidades. Las incrustaciones generadas con y sin el argumentoinput_typeson compatibles. - Para mayor transparencia, se anteponen las siguientes indicaciones a su entrada:
queryPara, el mensaje es "Represente la consulta para recuperar documentos de respaldo: ".documentPara, el mensaje es "Representar el documento para su recuperación: ".
Los valores
queryson,documento nulo. - Cuando
-
Si se deben truncar las entradas para que quepan dentro de la longitud del contexto. Se establece por defecto en
true.- Si es
true, las entradas con exceso de longitud se truncan para ajustarse a la longitud del contexto antes de que el modelo de incrustación las vectorice. Si el truncamiento ocurre en medio de una imagen, se descarta toda la imagen. - Si es
false, se produce un error si alguna entrada excede la longitud del contexto.
El valor predeterminado es
true. - Si es
-
Formato en el que se codifican las incrustaciones. El valor predeterminado es
null.- Si
null, los embeddings se representan como una lista de números de punto flotante. - Si es
base64, las incrustaciones se representan como una matriz NumPy codificada en Base64de puntos flotantes de precisión simple.
Los valores son
base64o nulos. - Si
curl \
--request POST 'https://ai.mongodb.com/v1/multimodalembeddings' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"inputs":[{"content":[{"type":"text","text":"string"}]}],"model":"voyage-multimodal-3.5","input_type":"query","truncation":true,"output_encoding":"base64"}'
{
"inputs": [
{
"content": [
{
"type": "text",
"text": "string"
}
]
}
],
"model": "voyage-multimodal-3.5",
"input_type": "query",
"truncation": true,
"output_encoding": "base64"
}
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
42.0
],
"index": 42
}
],
"model": "string",
"usage": {
"text_tokens": 42,
"image_pixels": 42,
"total_tokens": 42
}
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}
{
"detail": "string"
}