VoyageAI by MongoDB: voyage-multimodal-3.5
Voyage AI voyage-multimodal-3.5 gera embeddings de texto, imagens e fotogramas de vídeo num espaço de recuperação partilhado. Trata conteúdo intercalado, como capturas de páginas de documentos, tabelas e cenas, com entradas de 32 000 tokens e uma representação predefinida de 1024 dimensões.
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
voyage-multimodal-3.5 é o modelo de embeddings da Voyage AI para recuperação entre texto, imagens e vídeo. Processa texto e conteúdo visual intercalados através de um único codificador transformer, representando uma entrada multimodal completa num espaço vetorial partilhado. A edição 3.5 acrescenta suporte explícito para fotogramas de vídeo e dimensões flexíveis de embeddings.
Preserve a relação entre texto e elementos visuais
Prepare uma página ou secção de documento no formato que preserve a sua informação visual útil. Um diapositivo com um gráfico e uma explicação curta pode ser representado pela imagem do diapositivo e pelo texto que o acompanha na mesma entrada ordenada. Numa coleção baseada em PDF, a entrada visual documentada é uma captura de página ou outra representação em imagem do documento.
Para um gráfico de relatório, conserve o título, os rótulos dos eixos e a legenda na imagem. Acrescente texto explicativo quando este fornece o contexto necessário para interpretar o elemento visual. Guarde o número da página e o identificador da fonte junto do vetor resultante, para que um candidato recuperado possa abrir a página relevante em vez de devolver apenas o nome de um documento.
O formato de entrada do fabricante suporta sequências de texto, imagens e vídeos. Os formatos de imagem publicados são PNG, JPEG, WebP e GIF, com MP4 para vídeo. O conteúdo visual pode ser representado através de URLs ou dados Base64 na receita documentada; mantenha um estilo de representação consistente dentro de um pedido.
Recupere uma cena em vez de um vídeo longo inteiro
O modelo representa vídeo como uma sequência ordenada de fotogramas. O fabricante recomenda dividir um vídeo longo em cenas relacionadas, alinhando os limites das cenas com os carimbos temporais disponíveis na transcrição e conservando o texto de transcrição correspondente. Uma resolução menor ou uma taxa de fotogramas reduzida podem ajudar uma cena semanticamente contínua a caber no seu orçamento de contexto.
Numa coleção de vídeos de formação, uma consulta pode pedir a cena que demonstra o ajuste de um controlo específico. Associe cada cena indexada ao seu intervalo temporal. Devolva a cena correspondente e examine os fotogramas ou o excerto original para verificar a ação real, em vez de tratar o vetor recuperado como descrição escrita de tudo o que existe na gravação.
O texto da transcrição pode contribuir quando preparado como parte da entrada multimodal. O embedding dos fotogramas de vídeo, por si só, não fornece uma transcrição de fala.
Contexto e limites de preparação
O comprimento de contexto indicado é de 32 000 tokens por entrada. A Voyage conta cada 560 píxeis de imagem e cada 1120 píxeis de vídeo como um token no seu cálculo publicado, pelo que o conteúdo visual partilha esse orçamento com o texto. Os limites documentados também incluem 16 milhões de píxeis e 20 MB por imagem, e 20 MB por vídeo. Uma lista contém no máximo 1000 entradas e 320 000 tokens combinados.
A definição de truncamento predefinida corta uma entrada demasiado longa; se esse limite cair dentro de uma imagem, a imagem inteira é descartada. Preparar páginas ou cenas completas dentro do orçamento preserva, por isso, um conteúdo de entrada mais previsível. A definição alternativa documentada rejeita entradas demasiado longas em vez de as truncar.
Dimensões dos vetores e papéis de recuperação
A dimensão de saída predefinida é 1024, estando também documentadas dimensões de 256, 512 e 2048 para esta edição. O anúncio descreve embeddings Matryoshka e representações de vírgula flutuante, de 8 bits com ou sem sinal e binárias. Conserve a dimensão e a representação escolhidas com o índice.
A receita de recuperação da Voyage distingue entradas de consulta e de documento. Uma consulta pode ser texto ou uma imagem, e os documentos indexados podem combinar texto e elementos visuais. Um vetor representa cada sequência de entrada completa; guarde a sua associação à página, imagem ou cena de origem, para que o resultado ordenado continue a poder ser examinado.
Utilize a fonte visual devolvida
Uma etapa de recuperação pode localizar uma página de relatório, tabela, diapositivo ou cena relevante para a consulta. A etapa de redação da resposta ou de análise lê depois esse material de origem. Para uma tabela, examine os cabeçalhos e valores reais antes de utilizar um resultado; para uma cena, examine os fotogramas relevantes e o texto associado.
A diferença substancial em relação a voyage-multimodal-3 é o suporte explícito da edição 3.5 para vídeo e as escolhas adicionais de representação. Estas são capacidades de embeddings para localizar material de origem, com vetores numéricos como saída, em vez de imagens, vídeo ou uma resposta narrativa gerados.
Ailoot Ultra · Embeddings POST /v1/embeddings voyageai/voyage-multimodal-3.5
voyageai/voyage-multimodal-3.5
voyageai/voyage-multimodal-3.5Introdução
Voyage AI voyage-multimodal-3.5 gera embeddings de texto, imagens e fotogramas de vídeo num espaço de recuperação partilhado. Trata conteúdo intercalado, como capturas de páginas de documentos, tabelas e cenas, com entradas de 32 000 tokens e uma representação predefinida de 1024 dimensões.
- Entradas aceites
- Texto · token_ids
- Resultados
- embedding
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Embeddings POST /v1/embeddings
- Entrada
text,token_ids- Saída
embedding- Contexto
- 32 000 tokens
- Formato de saída
- json
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites voyageai/voyage-multimodal-3.5 | Predefinição— |
Campoinput | Tipostring|string[]|integer[]|integer[][] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 Condições: Lote homogéneo não vazio. Os IDs de tokens são números inteiros não negativos. Orçamento de entrada: Máximo: 32 000 · Unidade de texto: bytes UTF8 · Unidade de tokens: elementos do array de tokens | Predefinição— |
Campoencoding_format | Tipostring | RequisitoOpcional | Valores e limites float | Predefiniçãofloat |
Campodimensions | Tipointeger | RequisitoNão suportado | Valores e limites Mínimo: 1 | Predefinição— |
Campouser | Tipojson_value | RequisitoOpcional | Valores e limites Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo. | Predefinição— |
Camposession_id | Tipojson_value | RequisitoOpcional | Valores e limites Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo. | Predefinição— |
Campotrace | Tipojson_value | RequisitoOpcional | Valores e limites Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo. | Predefinição— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores e limites Condições: provider.options rejeitado | Predefinição— |
Combinações de materiais de entrada
text_to_embedding
Parâmetros e ciclo de vida do método
| 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
Guarde o índice e a dimensão de cada vetor.
O nome do modelo multimodal não permite objetos de imagem neste caminho exato.
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Tarifa normal Quando o modo rápido está selecionado
- Modo flex
- Tarifa normal Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Tarifa normal Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
| Configuração | Tabela de tarifas | Custo |
|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Custo Entrada · Tokens de entrada $0.00024 / 1K tokens Saída · Tokens de saída $0 / 1K tokens Entrada · Leitura da cache — / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · Embeddings
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-multimodal-3.5", "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-multimodal-3.5',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Receber e guardar os resultados
Ailoot Ultra · Embeddings
json
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Guarde cada vetor com o respetivo índice. O número de vetores tem de ser igual ao número de entradas; as dimensões têm de ser consistentes.
Se for necessário verificar a resposta original
Não é introduzido nenhum endpoint de tarefas de embeddings.
Campos da resposta
| Campo | Tipo |
|---|---|
Campoobject | Tipostring |
Campomodel | Tipostring |
Campodata[].index | Tipointeger |
Campodata[].embedding | Tipofinite float[] |
Campousage | Tipoobject |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra voyageai/voyage-multimodal-3.5
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · VoyageAI by MongoDB: voyage-multimodal-3.5
- Que entradas e resultados estão disponíveis?
POST /v1/embeddings·voyageai/voyage-multimodal-3.5:text,token_ids→embedding- Que campos utiliza o pedido?
POST /v1/embeddings·voyageai/voyage-multimodal-3.5:model,input,encoding_format,provider- Que limites se aplicam?
POST /v1/embeddings·voyageai/voyage-multimodal-3.5:ctx:32000;input.budget.maximum:32000(bytes UTF8);input.min_items:1