Cria incorporações vetoriais para entradas multimodais consistindo em texto, imagens ou uma combinação de ambos.
Esse endpoint aceita entradas que podem conter texto e imagens em qualquer combinação e retorna suas representações vetoriais.
corpo, corpo
Obrigatório
-
Uma lista de entradas multimodais a serem vetorizadas.
Uma única entrada na lista é um dicionário contendo uma única chave
"content", cujo valor representa uma sequência de texto e imagens.- O valor de
"content"é uma lista de dicionários, cada um representando um único fragmento de texto ou imagem. Os dicionários têm quatro chaves possíveis: - tipo: especifica o tipo da parte do conteúdo. Os valores permitidos
textsão,image_urlimage_base64ou. - texto: somente presente
typequandotexté. O valor deve ser uma string de texto. - 64imagem_base: somente presente
typequandoimage_base64é. O valor deve ser uma64imagem codificada em Base no formato de URL dedata:[<mediatype>];base64,<data>dados. Os atualmente suportadosmediatypessão:,,image/pngimage/jpegimage/webpimage/gife. - image_url: presente apenas
typequandoimage_urlé. O valor deve ser um URL com link para a imagem. Aceitamos imagens PNG, Jpeg, WEBP e Gif. - Nota: Somente uma das chaves,
image_base64image_urlou, deve estar presente em cada dicionário para dados de imagem. É necessária consistência em uma solicitação, o que significa que cada solicitação deve usarimage_base64ouimage_urlexclusivamente para imagens, não ambos.
Exemplo de carga útil em que
inputscontém uma imagem como URL:A lista
inputscontém uma única entrada, que consiste em um texto e uma imagem (que é fornecida por meio de um 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" }Exemplo de carga útil em que
inputscontém uma imagem de base64:Abaixo está um exemplo equivalente ao acima, onde o conteúdo da imagem é uma imagem Base64 em vez de um URL. (As imagens base64 podem ser longas, então o exemplo mostra somente uma versão reduzida.)
{ "inputs": [ { "content": [ { "type": "text", "text": "This is a banana." }, { "type": "image_base64", "image_base64": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA..." } ] } ], "model": "voyage-multimodal-3" }As seguintes restrições se aplicam à lista
inputs:- A lista não deve conter mais de 1000 entradas.
- Cada imagem não deve conter mais de 16 milhões de pixels ou ser maior que 20 MB de tamanho.
- Com cada 560 pixels de uma imagem sendo contados como um token, cada entrada na lista não deve exceder 32,000 tokens e o número total de tokens em todas as entradas não deve exceder 320,000.
Pelo menos
1, mas não mais de1000elementos. - O valor de
-
O modelo de integração multimodal a ser usado. Atualmente, apenas
voyage-multimodal-3é suportado.O valor é
voyage-multimodal-3. -
Tipo de entrada. Padrão é
null. Outras opções:query,document.- Quando
input_typeénull, o modelo de incorporação converte diretamente oinputsem vetores numéricos. Para fins de recuperação ou pesquisa, onde uma " query ", que pode ser texto ou imagem nesse caso, pesquisa informações relevantes em uma coleção de dados conhecida como "documentos", especifique se seusinputssão queries ou documentos configurandoinput_typeaqueryoudocument, respectivamente. Nesses casos, o Voyage acrescenta automaticamente um prompt ao seuinputsantes de vetorizá-los, criando vetores mais personalizados para tarefas de recuperação ou pesquisa. Como as entradas podem ser multimodais, "queries" e "documentos" podem ser texto, imagens ou um intercalação de ambas as formas. As incorporações geradas com e sem o argumentoinput_typesão compatíveis. - Para maior clareza, os seguintes prompts são anexados à sua entrada:
queryPara, o prompt é "Representar a query para recuperar documentos de suporte: ".documentPara, o prompt é "Representar o documento para recuperação: ".
Os valores
querysão,documentou nulo. - Quando
-
Se devem truncar as entradas para caber dentro do comprimento do contexto. Padrão é
true.- Se
true, as entradas de comprimento excedente são truncadas para caber no comprimento do contexto antes da vetorização pelo modelo de incorporação. Se o truncamento ocorrer no meio de uma imagem, toda a imagem será descartada. - Se
false, ocorrerá um erro se qualquer entrada exceder o comprimento do contexto.
O valor padrão é
true. - Se
-
Formato em que as incorporações são codificadas. Padrão é
null.- Se
null, as incorporações serão representadas como uma lista de números de ponto flutuante. - Se
base64, as incorporações são representadas como uma array NumPy codificada em Base64de flutuações de precisão única.
Os valores são
base64ou nulo. - Se
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","input_type":"query","truncation":true,"output_encoding":"base64"}'
{
"inputs": [
{
"content": [
{
"type": "text",
"text": "string"
}
]
}
],
"model": "voyage-multimodal-3",
"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"
}