modelos

VoyageAI by MongoDB: voyage-code-4

Markdown · JSON

VoyageAI by MongoDB: voyage-code-4

Voyage AI voyage-code-4 é um modelo de embeddings de código para encontrar código-fonte relevante a partir de perguntas, descrições de problemas e objetivos de agentes de programação. Suporta entradas de 32 000 tokens e dimensões de 256, 512, 1024 ou 2048, com representações de vírgula flutuante e quantizadas.

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-code-4 é o modelo de embeddings da Voyage AI especializado em código para pesquisa em repositórios e recuperação para agentes de programação. Foi concebido para ajudar a localizar código-fonte relevante quando o ponto de partida é uma pergunta, um sintoma ou uma descrição de tarefa, em vez de um identificador conhecido. Representa código e informação textual como vetores numéricos para recuperação; não edita o repositório nem gera uma correção.

Recupere código a partir do problema em investigação

O fabricante descreve um corpus de treino selecionado a partir de pull requests concluídos, ligando consultas em linguagem natural a código. Esta é uma distinção significativa em relação a exemplos de treino construídos sobretudo em torno de ficheiros de código-fonte e das suas docstrings: a tarefa de recuperação pode começar pelo comportamento que precisa de investigação.

Prepare uma consulta como «Encontre onde um resultado vazio faz com que uma operação bem-sucedida seja comunicada como falha». Indexe secções legíveis de código-fonte com os respetivos caminhos de ficheiro e comentários relevantes. Mantenha as condições em torno da função quando explicam o seu comportamento. Um candidato devolvido deve conduzir o leitor ou agente de volta à secção de código-fonte que representa.

A recuperação semântica pode complementar a pesquisa exata por identificadores e a pesquisa de texto integral. Se o nome de uma função já for conhecido, uma procura exata continua a ser útil. Se apenas um sintoma for conhecido, a pesquisa vetorial pode fornecer candidatos a examinar e refinar com outra consulta.

Papéis de consulta e documento

As orientações de recuperação da Voyage distinguem a consulta do documento do corpus através dos tipos de entrada query/document. Para pesquisa de código, utilize a descrição do problema ou tarefa como consulta e o código-fonte ou documentação indexados como documento. A receita publicada acrescenta instruções de recuperação específicas de cada papel durante a geração de embeddings.

Mantenha a formatação original do código, os nomes e a documentação relevante disponíveis fora do vetor. Para uma secção de código-fonte, conserve o caminho do ficheiro e a localização; para um guia de programação, conserve o título. Após a recuperação, examine o código real e os componentes que o chamam antes de escolher uma alteração. A relevância de um candidato não demonstra que seja a única causa de um problema comunicado.

Contexto e escolhas de representação

O comprimento de contexto publicado do modelo exato é de 32 000 tokens. O seu embedding predefinido tem 1024 dimensões, estando também suportadas dimensões de 256, 512 e 2048 através de aprendizagem Matryoshka. O anúncio documenta representações de vírgula flutuante de 32 bits, inteiros de 8 bits com e sem sinal e representações binárias.

Selecione uma dimensão e representação para a coleção e mantenha-as com os respetivos metadados. Vetores de vírgula flutuante e representações quantizadas exigem o tratamento correspondente de armazenamento e comparação. Uma representação binária codifica a informação vetorial de forma diferente de uma lista de coordenadas comuns de vírgula flutuante; preserve essa distinção ao preparar resultados para pesquisa.

Para um ficheiro longo, escolha secções coerentes cujas localizações de origem possam ser recuperadas. Uma função pode precisar de uma definição de tipo ou comentário adjacente para explicar uma condição, enquanto um ficheiro inteiro demasiado grande pode incluir material sem relação. Mantenha a secção alinhada com a tarefa a pesquisar, em vez de tratar o contexto máximo como tamanho preferido dos fragmentos.

Utilize o código-fonte recuperado como evidência

Um fluxo prático de agente de programação recupera código-fonte candidato, lê esses ficheiros, segue referências relevantes e restringe a pesquisa à medida que a investigação avança. O texto recuperado torna-se contexto para a etapa de raciocínio ou edição. Mantenha a sua associação à revisão indexada do repositório, para que um candidato seja examinado em relação ao código-fonte correto.

A contribuição específica da edição voyage-code-4 é o seu foco na etapa de recuperação de código a partir de problemas utilizada por agentes de programação, juntamente com dimensões e representações flexíveis. A sua saída é um vetor de recuperação, enquanto diagnóstico, edição e validação permanecem tarefas separadas, fundamentadas no repositório real.

Ailoot Ultra · Embeddings POST /v1/embeddings voyageai/voyage-code-4

voyageai/voyage-code-4

VoyageAI by MongoDB /voyageai/voyage-code-4

Introdução

Voyage AI voyage-code-4 é um modelo de embeddings de código para encontrar código-fonte relevante a partir de perguntas, descrições de problemas e objetivos de agentes de programação. Suporta entradas de 32 000 tokens e dimensões de 256, 512, 1024 ou 2048, com representações de vírgula flutuante e quantizadas.

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
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
voyageai/voyage-code-4
Predefinição—
CampoinputTipostring|string[]|integer[]|integer[][]RequisitoObrigatórioValores 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_formatTipostringRequisitoOpcionalValores e limites
float
Predefiniçãofloat
CampodimensionsTipointegerRequisitoNão suportadoValores e limites
Mínimo: 1
Predefinição—
CampouserTipojson_valueRequisitoOpcionalValores e limites
Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo.
Predefinição—
Camposession_idTipojson_valueRequisitoOpcionalValores e limites
Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo.
Predefinição—
CampotraceTipojson_valueRequisitoOpcionalValores e limites
Condições: A fonte permite este campo de metadados JSON; a semântica exata a montante depende do modelo.
Predefinição—
CampoproviderTipoobjectRequisitoOpcionalValores 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âmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratomodel, input
Parâmetroinput_shapesContratostring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]
Parâmetroencoding_formatContratofloat
Parâmetrodimensions_overrideContratofalse
Parâmetromax_input_budget_unitsContrato32000
Parâmetromultimodal_objectsContratofalse
Parâmetromaterial_typesContratotext, 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çãoTabela de tarifasCusto
ConfiguraçãoTarifas base dos tokensTabela de tarifasTarifa baseCusto
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

curlPython SDK
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-code-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-code-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
CampoTipo
CampoobjectTipostring
CampomodelTipostring
Campodata[].indexTipointeger
Campodata[].embeddingTipofinite float[]
CampousageTipoobject
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidosPasso seguinteCorrija os campos indicados antes de um novo pedido de criação.

Aliases

Aliases do modelo

Ailoot Ultra voyageai/voyage-code-4

Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

IDs de chamada relacionados

voyageai/voyage-code-4

FAQ · VoyageAI by MongoDB: voyage-code-4
Que entradas e resultados estão disponíveis?

POST /v1/embeddings · voyageai/voyage-code-4: text, token_ids → embedding

Que campos utiliza o pedido?

POST /v1/embeddings · voyageai/voyage-code-4: model, input, encoding_format, provider

Que limites se aplicam?

POST /v1/embeddings · voyageai/voyage-code-4: ctx: 32000; input.budget.maximum: 32000 (bytes UTF8); input.min_items: 1

Mais detalhes

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição
Escolha um plano com desconto para os pedidos regulares.
Código promocional até 50%
Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.
Custos no histórico
O modelo, os tokens e o montante são guardados para cada pedido.

Escolher subscrição · Ver preços dos modelos

Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial
Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.
Licença de revendedor
Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.
Documentos no site
A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

Pedir licença de revendedor · Oferta e contrato de licença