Source: https://ailoot.ai/models/pt-pt/voyageai-voyage-code-4/
Canonical: https://ailoot.ai/models/pt-pt/voyageai-voyage-code-4/
Language: pt-pt

# VoyageAI by MongoDB: voyage-code-4

[Markdown](https://ailoot.ai/models/pt-pt/voyageai-voyage-code-4/index.md) · [JSON](https://ailoot.ai/models/pt-pt/voyageai-voyage-code-4/facts.json)

## [VoyageAI by MongoDB: voyage-code-4](https://ailoot.ai/models/pt-pt/voyageai-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.

- [**Ailoot Ultra · Embeddings** `POST /v1/embeddings` `voyageai/voyage-code-4`](https://ailoot.ai/models/pt-pt/voyageai-voyage-code-4/#method-0)

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`](https://ailoot.ai/models/pt-pt/#m=voyageai%2Fvoyage-code-4&route=Ultra&caller=voyageai%2Fvoyage-code-4&fmt=embeddings)

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

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites voyageai/voyage-code-4 | Predefinição— |
| Campo`input` | Tipo`string\|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— |
| Campo`encoding_format` | Tipo`string` | RequisitoOpcional | Valores e limites float | Predefiniçãofloat |
| Campo`dimensions` | Tipo`integer` | RequisitoNão suportado | Valores e limites Mínimo: 1 | Predefinição— |
| Campo`user` | Tipo`json_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— |
| Campo`session_id` | Tipo`json_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— |
| Campo`trace` | Tipo`json_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— |
| Campo`provider` | Tipo`object` | 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âmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, input |
| Parâmetro`input_shapes` | Contratostring, string\[\], nonnegative\_integer\_token\_array, nonnegative\_integer\_token\_array\[\] |
| Parâmetro`encoding_format` | Contratofloat |
| Parâmetro`dimensions_override` | Contratofalse |
| Parâmetro`max_input_budget_units` | Contrato32000 |
| Parâmetro`multimodal_objects` | Contratofalse |
| Parâmetro`material_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 →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

### Exemplos de pedidos

#### Ailoot Ultra · Embeddings

curlPython SDK

```bash
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
```

```python
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

| Campo | Tipo |
| --- | --- |
| Campo`object` | Tipostring |
| Campo`model` | Tipostring |
| Campo`data[].index` | Tipointeger |
| Campo`data[].embedding` | Tipofinite float\[\] |
| Campo`usage` | 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-code-4`](https://ailoot.ai/models/pt-pt/#m=voyageai%2Fvoyage-code-4&route=Ultra&caller=voyageai%2Fvoyage-code-4&fmt=embeddings)

#### Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

#### IDs de chamada relacionados

[`voyageai/voyage-code-4`](https://ailoot.ai/models/pt-pt/#m=voyageai%2Fvoyage-code-4&route=Ultra&caller=voyageai%2Fvoyage-code-4&fmt=embeddings)

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`

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](https://ailoot.ai/docs/pt-pt/billing/subscriptions/) · [Ver preços dos modelos](https://ailoot.ai/models/pt-pt/)

## 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](mailto:support@ailoot.ai) · [Oferta e contrato de licença](https://ailoot.ai/legal/offer?lang=pt-pt)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





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





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
