models

VoyageAI by MongoDB: voyage-code-4

Markdown · JSON

VoyageAI by MongoDB: voyage-code-4

Voyage AI voyage-code-4 es un modelo de embeddings de código para encontrar código fuente pertinente a partir de preguntas, descripciones de incidencias y objetivos de agentes de programación. Admite entradas de 32,000 tokens y dimensiones de 256, 512, 1024 o 2048, con representaciones de punto flotante y cuantizadas.

Sobre el modelo

Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.

voyage-code-4 es el modelo de embeddings de Voyage AI especializado en código para búsqueda en repositorios y recuperación para agentes de programación. Está diseñado para ayudar a localizar código fuente pertinente cuando el punto de partida es una pregunta, un síntoma o una descripción de tarea, en lugar de un identificador conocido. Representa código e información textual como vectores numéricos para recuperación; no edita el repositorio ni genera una corrección.

Recupera código a partir de la incidencia investigada

El fabricante describe un corpus de entrenamiento seleccionado a partir de pull requests completadas, que conecta consultas en lenguaje natural con código. Esta es una diferencia significativa respecto a ejemplos de entrenamiento construidos principalmente alrededor de archivos fuente y sus docstrings: la tarea de recuperación puede comenzar con el comportamiento que necesita investigación.

Prepara una consulta como «Encuentra dónde un resultado vacío hace que una operación completada con éxito se comunique como una falla». Indexa secciones legibles de código fuente con sus rutas de archivo y comentarios pertinentes. Mantén las condiciones que rodean a la función cuando expliquen su comportamiento. Un candidato devuelto debe conducir al lector o agente de vuelta a la sección de código fuente que representa.

La recuperación semántica puede complementar la búsqueda exacta de identificadores y la búsqueda de texto completo. Si ya se conoce el nombre de una función, una búsqueda exacta sigue siendo útil. Si solo se conoce un síntoma, la búsqueda vectorial puede aportar candidatos que examinar y refinar con otra consulta.

Roles de consulta y documento

Las indicaciones de recuperación de Voyage distinguen la consulta del documento del corpus mediante tipos de entrada query/document. Para búsqueda de código, utiliza la descripción de la incidencia o tarea como consulta y el código fuente o documentación indexados como documento. La receta publicada añade instrucciones de recuperación específicas de rol durante la generación de embeddings.

Mantén disponibles fuera del vector el formato original del código, los nombres y la documentación pertinente. Para una sección de código fuente, conserva su ruta de archivo y ubicación; para una guía de programación, conserva su encabezado. Después de recuperar, examina el código real y los componentes que lo invocan antes de elegir un cambio. La relevancia de un candidato no establece que sea la única causa de un problema comunicado.

Contexto y opciones de representación

La longitud de contexto publicada del modelo exacto es de 32,000 tokens. Su embedding predeterminado tiene 1024 dimensiones, con dimensiones de 256, 512 y 2048 también compatibles mediante aprendizaje Matryoshka. El anuncio documenta representaciones de punto flotante de 32 bits, enteros de 8 bits con y sin signo y representaciones binarias.

Selecciona una dimensión y representación para la colección y consérvalas junto con sus metadatos. Los vectores de punto flotante y las representaciones cuantizadas requieren el tratamiento correspondiente de almacenamiento y comparación. Una representación binaria codifica la información vectorial de forma distinta de una lista de coordenadas ordinarias de punto flotante; conserva esa distinción al preparar resultados para búsqueda.

Para un archivo largo, elige secciones coherentes cuyas ubicaciones de origen puedan recuperarse. Una función puede necesitar una definición de tipo o un comentario adyacentes para explicar una condición, mientras que un archivo entero demasiado grande puede incluir material sin relación. Mantén la sección alineada con la tarea que se va a buscar, en lugar de tratar el contexto máximo como un tamaño preferido de fragmento.

Utiliza el código fuente recuperado como evidencia

Un flujo práctico de agente de programación recupera código fuente candidato, lee esos archivos, sigue referencias pertinentes y acota la búsqueda a medida que avanza la investigación. El texto recuperado se convierte en contexto para la etapa de razonamiento o edición. Conserva su asociación con la revisión indexada del repositorio para que un candidato se examine respecto al código fuente correcto.

La contribución específica de voyage-code-4 es su enfoque en el paso de recuperación de código a partir de incidencias utilizado por agentes de programación, junto con dimensiones y representaciones flexibles. Su salida es un vector de recuperación, mientras que el diagnóstico, la edición y la validación siguen siendo tareas separadas fundamentadas en el repositorio real.

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

voyageai/voyage-code-4

VoyageAI by MongoDB /voyageai/voyage-code-4

Inicio

Voyage AI voyage-code-4 es un modelo de embeddings de código para encontrar código fuente pertinente a partir de preguntas, descripciones de incidencias y objetivos de agentes de programación. Admite entradas de 32,000 tokens y dimensiones de 256, 512, 1024 o 2048, con representaciones de punto flotante y cuantizadas.

Entradas aceptadas
Texto · token_ids
Resultados
embedding

Disponible en Ailoot · entradas y métodos

Ailoot Ultra · Representaciones vectoriales POST /v1/embeddings
Entrada
text, token_ids
Salida
embedding
Contexto
32,000 tokens
Formato de salida
json
CampoTipoRequisitoValores y límitesPredeterminado
CampomodelTipostringRequisitoObligatorioValores y límites
voyageai/voyage-code-4
Predeterminado—
CampoinputTipostring|string[]|integer[]|integer[][]RequisitoObligatorioValores y límites
Número mínimo de elementos: 1
Condiciones: Lote homogéneo no vacío. Los ID de tokens son números enteros no negativos.
Presupuesto de entrada: Máximo: 32,000 · Unidad de texto: bytes UTF8 · Unidad de tokens: elementos de un arreglo de tokens
Predeterminado—
Campoencoding_formatTipostringRequisitoOpcionalValores y límites
float
Predeterminadofloat
CampodimensionsTipointegerRequisitoNo compatibleValores y límites
Mínimo: 1
Predeterminado—
CampouserTipojson_valueRequisitoOpcionalValores y límites
Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo.
Predeterminado—
Camposession_idTipojson_valueRequisitoOpcionalValores y límites
Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo.
Predeterminado—
CampotraceTipojson_valueRequisitoOpcionalValores y límites
Condiciones: La fuente permite este campo metadata de JSON; la semántica exacta en el sistema de origen depende del modelo.
Predeterminado—
CampoproviderTipoobjectRequisitoOpcionalValores y límites
Condiciones: provider.options rechazado
Predeterminado—
Combinaciones de materiales de entrada

text_to_embedding

Parámetros del método y ciclo de vida
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

Conserva todos los índices y dimensiones de los vectores.

El nombre de un modelo multimodal no habilita objetos de imagen en esta ruta exacta.

Tarifas

Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.

Modo fast
Tarifa estándar Cuando se selecciona el modo fast
Modo flex
Tarifa estándar Cuando se selecciona el modo flex
Esfuerzo máximo de razonamiento
Tarifa estándar Cuando el esfuerzo máximo de razonamiento usa el ajuste default

Tarifas de Ailoot

Precios por configuración

ConfiguraciónTabla de tarifasCargo
ConfiguraciónTarifas base por tokenTabla de tarifasTarifa baseCargo
Entrada · Tokens de entrada $0.00024 / 1K tokens
Salida · Tokens de salida $0 / 1K tokens
Entrada · Lectura de caché — / 1K tokens
Entrada · Escritura en caché — / 1K tokens
Entrada · Escritura en caché, 1 hora — / 1K tokens

Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →

Solicitudes de ejemplo

Ailoot Ultra · Representaciones vectoriales

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)

Recibir y guardar resultados

Ailoot Ultra · Representaciones vectoriales

json

Conserva todos los resultados completados

Conserva todas las respuestas, archivos y partes de contenido completos recibidos.

Conserva cada vector con su índice. La cantidad de vectores debe ser igual a la cantidad de entradas; las dimensiones deben ser consistentes.

Si es necesario revisar la respuesta original

No se incorpora ningún endpoint de tareas de embeddings.

Campos de respuesta
CampoTipo
CampoobjectTipostring
CampomodelTipostring
Campodata[].indexTipointeger
Campodata[].embeddingTipofinite float[]
CampousageTipoobject
Errores y siguientes pasos
RespuestaCondiciónSiguiente paso
Respuesta400 · invalid_request_errorCondiciónCampos obligatorios, representación del material o valor del parámetro no válidosSiguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación.

Alias

Alias del modelo

Ailoot Ultra voyageai/voyage-code-4

Alias de rutas de métodos

Usa las rutas de método indicadas arriba.

ID de modelo relacionados

voyageai/voyage-code-4

FAQ · VoyageAI by MongoDB: voyage-code-4
¿Qué entradas y resultados están disponibles?

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

¿Qué campos utiliza la solicitud?

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

¿Qué límites se aplican?

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

Más detalles

Conecta Ailoot a Claude Code, OpenCode, Hermes o tu aplicación.

La empresa y su cartera de proyectos

La empresa y su cartera de proyectos: millones de clientes; ventas por miles de millones al mes.

Compra tokens con descuento.

Ahorro por suscripción para trabajo habitual. Códigos promocionales: hasta el 50% al comprar tokens.

Suscripción
Elige un plan con descuento para tus peticiones habituales.
Código de hasta el 50%
Introduce el código al comprar. El precio se recalcula según la promoción vigente.
Gasto en el historial
Modelo, tokens e importe quedan guardados por cada petición.

Elegir suscripción · Consultar precios de modelos

Conecta la API al producto que vendes.

SaaS, aplicaciones y bots bajo la oferta y el acuerdo de licencia Ailoot. Solicita una licencia de reventa para redistribuir el acceso.

Aplicación comercial
Integra generación de texto, imágenes, vídeo y sonido en funciones de pago de tu servicio.
Licencia para revendedores
Envía descripción del proyecto y esquema de acceso. Solicita condiciones escritas de uso y reventa.
Documentos en la web
La oferta, el acuerdo de licencia y la política de datos están disponibles antes de conectar.

Solicitar licencia de reventa · Oferta y acuerdo de licencia