publicación /incrustaciones

Crea incrustaciones vectoriales para las entradas de texto proporcionadas. Este punto final acepta una sola cadena de texto o una lista de cadenas de texto y devuelve sus incrustaciones vectoriales correspondientes.

Para tareas de búsqueda semántica y recuperación, establece el parámetro input_type a query o document para optimizar cómo el modelo crea los vectores.

aplicación/json

Cuerpo Requerido

  • entrada string | arreglo[string] Requerido

    Una única string de texto o una lista de strings de texto que se insertarán, como ["I like cats", "I also like dogs"].

    Restricciones:

    • Longitud máxima de la lista: 1,000 elementos
    • Máximo total de tokens: 1M para voyage-3.5-lite y voyage-4-lite; 320K para voyage-3.5, voyage-4 y voyage-2; 120K para voyage-3-large, voyage-4-large, voyage-code-3, voyage-finance-2 y voyage-law-2.
    Uno de:

    La longitud mínima es 1.

    Al menos 1 pero no más de 1000 elementos. La longitud mínima de cada uno es 1.

  • Modelo string Requerido

    El modelo de embedding a utilizar. Modelos recomendados: voyage-4-large, voyage-4, voyage-4-lite, voyage-code-3, voyage-finance-2, voyage-law-2.

    Los valores son voyage-context-3, voyage-4, voyage-4-lite, voyage-4-large, voyage-3.5, voyage-3.5-lite, voyage-3-large, voyage-code-3, voyage-multimodal-3, voyage-finance-2, voyage-law-2 o voyage-code-2.

  • input_type

    El tipo de texto de entrada. Utiliza este parámetro para optimizar los embeddings para tareas de búsqueda y recuperación semántica.

    Opciones:

    • null (por defecto): El modelo convierte directamente la entrada en vectores numéricos sin ningún mensaje adicional.
    • query: Úselo cuando la entrada represente una consulta de búsqueda. El modelo antepone "Representa la query para la recuperación de documentos de respaldo: " para optimizar la incrustación para la recuperación.
    • documentUse cuando la entrada representa un documento para buscar. El modelo antepone "Representar el documento para su recuperación: " para optimizar la incrustación para la recuperación.

    Para tareas de búsqueda y recuperación semántica, siempre establece este parámetro en query o document, según corresponda. Los embedding generados con y sin el argumento input_type son compatibles.

    Los valores son query, document o null.

  • Truncamiento booleano

    Si se truncarán los textos de entrada que excedan la longitud del contexto.

    • true (por defecto): Los textos de entrada que exceden la longitud del contexto se truncan automáticamente antes de la vectorización.
    • false: Se retorna un error si cualquier texto de entrada excede la longitud del contexto.

    El valor por defecto es true.

  • output_dimension entero | nulo

    El número de dimensiones para las incrustaciones de salida.

    La mayoría de los modelos admiten únicamente una dimensión por defecto. Los modelos voyage-4-large, voyage-4, voyage-4-lite, voyage-3-large, voyage-3.5, voyage-3.5-lite y voyage-code-3 soportan los siguientes valores: 256, 512, 1024 (por defecto) y 2048.

    Configura en null para usar la dimensión por defecto del modelo.

    Los valores son,,,256 51210242048o nulo.

  • output_dtype string

    El tipo de datos para los incrustaciones devueltos.

    Opciones:

    • float (por defecto): números de coma flotante de precisión simple de 32bits. Proporciona la máxima precisión y exactitud en la recuperación de información. Compatibles con todos los modelos.
    • int8Enteros con signo de 8bits, de -128 a 127. Compatible con voyage-4-large, voyage-4, voyage-4-lite, voyage-3-large, voyage-3.5, voyage-3.5-lite y voyage-code-3.
    • uint8: enteros sin signo de 8bits con un rango de 0 a 255. Compatible con voyage-4-large, voyage-4, voyage-4-lite, voyage-3-large, voyage-3.5, voyage-3.5-lite y voyage-code-3.
    • binaryValores de incrustación de un solo bit empaquetados en bits y cuantificados representados como int8. La longitud de la lista devuelta es 1/8 de output_dimension. Utiliza el método binario de desplazamiento. Compatible con voyage-4-large, voyage-4, voyage-4-lite, voyage-3-large, voyage-3.5, voyage-3.5-lite y voyage-code-3.
    • ubinaryValores de incrustación de un solo bit empaquetados en bits y cuantificados representados como uint8. La longitud de la lista devuelta es 1/8 de output_dimension. Soportado por voyage-4-large, voyage-4, voyage-4-lite, voyage-3-large, voyage-3.5, voyage-3.5-lite y voyage-code-3.

    Los valores son float, int8, uint8, binary o ubinary. El valor predeterminado es float.

  • formato_de_codificación

    El formato en el que se codifican las incrustaciones en la respuesta.

    Opciones:

    • null (Predeterminado): Las incrustaciones se devuelven como matrices. Cuando output_dtype es float, cada incrustación es una matriz de números de punto flotante. Para otros valores output_dtype (int8, uint8, binary, ubinary), cada incrustación es una matriz de enteros.
    • base64Los embeddings se devuelven como arreglos NumPy codificados en Base64, con los siguientes tipos de datos:
      • numpy.float32 cuando output_dtype es float
      • numpy.int8 cuando output_dtype es int8 o binary
      • numpy.uint8 cuando output_dtype es uint8 o ubinary

    Los valores son base64 o nulos.

Respuestas

  • 200 aplicación/json

    éxito

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • Objeto string Requerido

      El tipo de objeto Realm. Siempre devuelve "list".

      El valor es list.

    • Datos arreglo[objeto] Requerido

      Un arreglo de objetos de embedding, uno para cada texto de entrada.

      Hide data attributes Show data attributes Objeto
      • Objeto string Requerido

        El tipo de objeto Realm. Siempre devuelve "embedding".

        El valor es embedding.

      • integración arreglo[number] | string Requerido

        El vector de incrustación. El formato depende del parámetro encoding_format:

        • Cuando encoding_format es null: una matriz de números (flotantes cuando output_dtype es float, enteros para int8, uint8, binary y ubinary)
        • Cuando encoding_format es base64: una cadena codificada Base64
        Uno de:

        Formato de arreglo (cuando encoding_format es nulo)

        Formato codificado en base64(cuando encoding_format es base64)

      • index entero Requerido

        El índice de este embedding en la lista de entrada.

    • Modelo string Requerido

      El nombre del modelo utilizado para generar las incrustaciones.

    • Uso Objeto Requerido
      Ocultar atributo de uso Mostrar atributo de uso Objeto
      • total_tokens entero Requerido

        El número total de tokens procesados en todos los textos de entrada.

  • 400 aplicación/json

    Invalid Request

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      La solicitud no es válida. Este error puede ocurrir debido a un JSON no válido, tipos de parámetros no válidos, tipos de datos incorrectos, un tamaño de lote demasiado grande, un número total de tokens que excede el límite o tokens en un ejemplo que exceden la longitud del contexto.

  • 401 aplicación/json

    No autorizado

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      Autenticación no válida. Asegúrese de que la clave de API de su modelo esté correctamente especificada en el encabezado de Autorización como Bearer VOYAGE_API_KEY.

  • 403 aplicación/json

    Forbidden

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      Acceso prohibido. Esto puede ocurrir si la dirección IP desde la que se envía la solicitud no está permitida.

  • 429 aplicación/json

    Límite de velocidad excedido

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      Se ha superado el límite de tasa. La frecuencia de solicitudes o el uso del token es demasiado alto. Reduce la tasa de tus solicitudes o espera antes de reintentar.

  • 500 aplicación/json

    Error interno del servidor

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      Ocurrió un error inesperado en el servidor. Vuelve a intentar tu solicitud después de una breve espera.

  • 502 aplicación/json

    Puerta de enlace incorrecta

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      El servidor recibió una respuesta no válida de un servidor ascendente. Vuelve a intentar tu solicitud después de una breve espera.

  • 503 aplicación/json

    Servicio no disponible

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      El servicio no está disponible temporalmente debido a un alto tráfico o tareas de mantenimiento. Vuelve a intentar tu solicitud después de una breve espera.

  • 504 aplicación/json

    Tiempo de espera del Gateway

    Ocultar atributo de respuesta Mostrar atributo de respuesta Objeto
    • detalle string

      El servidor no recibió una respuesta oportuna de un servidor aguas arriba. Vuelve a intentar tu solicitud después de una breve espera.

POST /incrustaciones
curl \
 --request POST 'https://ai.mongodb.com/v1/embeddings' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"input":"string","model":"voyage-context-3","input_type":"query","truncation":true,"output_dimension":256,"output_dtype":"float","encoding_format":"base64"}'
Solicitar ejemplos
{
  "input": "string",
  "model": "voyage-context-3",
  "input_type": "query",
  "truncation": true,
  "output_dimension": 256,
  "output_dtype": "float",
  "encoding_format": "base64"
}
Ejemplos de respuestas (200)
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        42.0
      ],
      "index": 42
    }
  ],
  "model": "string",
  "usage": {
    "total_tokens": 42
  }
}
Ejemplos de respuestas (400)
{
  "detail": "string"
}
Ejemplos de respuestas (401)
{
  "detail": "string"
}
Ejemplos de respuestas (403)
{
  "detail": "string"
}
Ejemplos de respuestas (429)
{
  "detail": "string"
}
Ejemplos de respuestas (500)
{
  "detail": "string"
}
Ejemplos de respuestas (502)
{
  "detail": "string"
}
Ejemplos de respuestas (503)
{
  "detail": "string"
}
Ejemplos de respuestas (504)
{
  "detail": "string"
}