VoyageAI by MongoDB: voyage-4
voyage-4 gera embeddings de texto para recuperação de uso geral e multilingue, com um espaço vetorial partilhado em toda a família Voyage 4. Suporta entradas de 32 000 tokens, saídas selecionáveis de 256–2048 dimensões e papéis query/document para pesquisa e RAG.
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-4 é o modelo de embeddings de texto de dimensão intermédia da Voyage AI na família Voyage 4. Converte o texto de consultas e documentos em vetores numéricos para recuperação de uso geral e multilingue. A capacidade que define a família é um espaço de embeddings partilhado: voyage-4, voyage-4-large, voyage-4-lite e voyage-4-nano produzem representações compatíveis, permitindo que os lados da consulta e do documento de uma tarefa de pesquisa utilizem modelos diferentes dessa família.
Espaço partilhado e recuperação assimétrica
O fabricante chama recuperação assimétrica à utilização de modelos diferentes para consulta e corpus. Um padrão documentado é preparar o corpus com voyage-4-large e pesquisá-lo utilizando embeddings de consulta voyage-4. Os embeddings do corpus são gerados uma vez ou quando o seu material de origem muda, enquanto os vetores de consulta são criados à medida que chegam pesquisas. O espaço partilhado permite alterar a escolha de modelo do lado da consulta dentro da família sem exigir novos embeddings do corpus apenas por causa dessa troca.
Mantenha a dimensão de saída e a representação compatíveis entre os vetores comparados. A declaração de espaço partilhado diz respeito aos modelos textuais Voyage 4 com esses nomes; não fica estabelecida apenas por dois modelos sem relação devolverem arrays com o mesmo comprimento. Uma tarefa prática pode, por isso, utilizar voyage-4 nos dois lados da pesquisa ou utilizar os seus vetores de consulta com um índice documental voyage-4-large existente quando as respetivas definições de representação coincidem.
Papéis de consulta e documento
Para recuperação, a Voyage recomenda identificar o texto de entrada como consulta ou documento. A opção de papel de entrada fornece a instrução de recuperação correspondente antes da vetorização. Prepare as passagens do corpus como documentos e a formulação de pesquisa do utilizador como consulta, conservando o texto real de origem e os identificadores junto de cada vetor armazenado.
Por exemplo, uma coleção de pesquisa de conhecimento pode indexar instruções técnicas e explicações de produtos. Uma consulta sobre o que acontece após uma importação falhada deve devolver a passagem de origem que descreve esse comportamento. Preserve os títulos, as condições relevantes e a localização de origem com a passagem, para que o resultado de pesquisa possa ser examinado ou utilizado por uma etapa posterior de resposta RAG. O embedding é a representação numérica de recuperação; a passagem subjacente é a evidência utilizada nessa etapa posterior.
Dimensões e tipos de dados de saída
A janela de contexto documentada por texto é de 32 000 tokens. As dimensões selecionáveis são 256, 512, 1024 e 2048, com 1024 como predefinição. A aprendizagem Matryoshka fornece estes tamanhos de representação aninhados. A saída pode utilizar vírgula flutuante de 32 bits, inteiros de 8 bits com ou sem sinal ou valores binários compactados, possibilitados pela preparação da família com consideração da quantização.
Com saída binária compactada, cada byte devolvido armazena oito bits do embedding, pelo que o comprimento da lista de bytes é um oitavo da dimensão selecionada. A contagem de bytes e a dimensão do embedding têm significados diferentes. Escolha a representação que o seu índice de pesquisa consegue interpretar e examine a relevância dos candidatos para as perguntas e línguas realmente utilizadas pela coleção antes de selecionar uma configuração comprimida.
Comprimento de entrada, lotes e truncamento
O guia atual de embeddings de texto do fabricante permite até 1000 cadeias e 320 000 tokens totais num pedido voyage-4. O limite de lote é separado da janela de 32 000 tokens para cada entrada. O truncamento está ativado por predefinição: o texto demasiado longo é encurtado para caber. Se o truncamento estiver desativado, um elemento demasiado longo produz um erro.
Para um relatório ou transcrição longos, prepare deliberadamente passagens que contenham respostas, em vez de depender de um corte no limite de entrada. Mantenha cada passagem ligada ao seu documento principal e à versão de origem. As entradas comuns de embeddings voyage-4 são textos individuais; o processamento contextualizado de grupos de fragmentos pertence aos modelos de embeddings contextuais documentados separadamente.
Utilize o resultado da recuperação
Guarde os vetores com o texto das passagens e identificadores estáveis de origem, compare cada vetor de consulta com os vetores documentais compatíveis e devolva passagens candidatas. A publicação da família avalia recuperação em material que inclui documentos técnicos, conversas, documentos longos, código, direito, finanças e texto da Web. Um reranker separado pode refinar os candidatos e uma etapa posterior de resposta pode utilizar o seu texto. Avalie essas passagens devolvidas em relação à tarefa; a compatibilidade do espaço partilhado permite a combinação de modelos, enquanto a utilidade de um resultado continua a depender do material de origem e da pergunta.
Ailoot Ultra · Embeddings POST /v1/embeddings voyageai/voyage-4
voyageai/voyage-4Introdução
voyage-4 gera embeddings de texto para recuperação de uso geral e multilingue, com um espaço vetorial partilhado em toda a família Voyage 4. Suporta entradas de 32 000 tokens, saídas selecionáveis de 256–2048 dimensões e papéis query/document para pesquisa e RAG.
- 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-4 | 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.00012 / 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-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)
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-4
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · VoyageAI by MongoDB: voyage-4
- Que entradas e resultados estão disponíveis?
POST /v1/embeddings·voyageai/voyage-4:text,token_ids→embedding- Que campos utiliza o pedido?
POST /v1/embeddings·voyageai/voyage-4:model,input,encoding_format,provider- Que limites se aplicam?
POST /v1/embeddings·voyageai/voyage-4:ctx:32000;input.budget.maximum:32000(bytes UTF8);input.min_items:1