PUBLICAR /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 cadena | matriz[cadena] Requerido

    Una sola cadena de texto o una lista de cadenas de texto para insertar, 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 incrustación que se 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

    Tipo de texto de entrada. Utilice este parámetro para optimizar las incrustaciones para tareas de búsqueda y recuperación semánticas.

    Opciones:

    • null (predeterminado): el modelo convierte directamente la entrada en vectores numéricos sin ninguna indicación 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.
    • document: Se utiliza cuando la entrada representa un documento que se buscará. El modelo antepone "Representar el documento para la recuperación:" para optimizar la incrustación para la recuperación.

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

    Los valores query son, document o nulo.

  • Truncamiento booleano

    Si desea truncar los textos de entrada que excedan la longitud del contexto.

    • true (predeterminado): los textos de entrada que exceden la longitud del contexto se truncan automáticamente antes de la vectorización.
    • false:Se devuelve un error si algún texto de entrada excede la longitud del contexto.

    El valor predeterminado es true.

  • dimensión_de_salida entero | nulo

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

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

    Establezca en null para utilizar la dimensión predeterminada del modelo.

    Los valores son,,,256 51210242048o nulo.

  • output_dtype string

    El tipo de datos para las incrustaciones devueltas.

    Opciones:

    • float (predeterminado): números de punto flotante de precisión simple de 32bits. Ofrece la máxima precisión y exactitud de recuperación. Compatible 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.
    • uint8Enteros sin signo de 8bits, 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, cuantificados y empaquetados en bits, 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, cuantificados y empaquetados en bits, representados como uint8. La longitud de la lista devuelta es 1/8 de output_dimension. Compatible con 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.
    • base64:Las incrustaciones se devuelven como matrices NumPy codificadas en Base64con 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. Siempre devuelve "lista".

      El valor es list.

    • datos matriz[objeto] Requerido

      Una matriz de objetos incrustados, uno para cada texto de entrada.

      Ocultar atributos de datos Mostrar atributos de datos Objeto
      • Objeto string Requerido

        El tipo de objeto. Siempre devuelve "incrustación".

        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 matriz (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 API de su modelo esté especificada correctamente 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 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

      Se produjo un error inesperado en el servidor. Vuelva a intentar su 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. Vuelva a intentar su 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 alto tráfico o mantenimiento. Vuelva a intentar su 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"
}