Cree incrustaciones de fragmentos contextualizadas

publicación /incrustaciones contextualizadas

Crea incrustaciones vectoriales contextualizadas para fragmentos de documentos. Estas incrustaciones capturan tanto los detalles locales de cada fragmento como el contexto global de todo el documento.

Este endpoint acepta queries, documentos completos o fragmentos de documentos y devuelve embeddings que son eficientes en contexto en todo el documento.

aplicación/json

Cuerpo Requerido

  • entradas array[array] Requerido

    Una lista de listas, donde cada lista interna contiene una consulta, un documento o fragmentos de documentos para vectorizar.

    Cada lista interna en inputs representa un conjunto de elementos de texto que están integrados juntos. Cada elemento de la lista no solo se codifica de forma independiente, sino que también codifica el contexto de los demás elementos de la misma lista.

    inputs = [["text_1_1", "text_1_2", ..., "text_1_n"],
              ["text_2_1", "text_2_2", ..., "text_2_m"]]
    

    Fragmentos de documentos. Por lo general, cada lista interna contiene fragmentos de un solo documento, ordenados según su posición en el documento. En este caso:

    inputs = [["doc_1_chunk_1", "doc_1_chunk_2", ..., "doc_1_chunk_n"],
              ["doc_2_chunk_1", "doc_2_chunk_2", ..., "doc_2_chunk_m"]]
    

    Cada fragmento se codifica en contexto con los demás del mismo documento, lo que resulta en incrustaciones más contextuales. Losfragmentos proporcionados no deben superponerse.

    Comportamiento independiente del contexto para queries y documentos. Si hay un elemento por lista interna, cada texto se incrusta independientemente —similar a las incrustaciones estándar (independientes del contexto):

    inputs = [["query_1"], ["query_2"], ..., ["query_k"]]
    inputs = [["doc_1"], ["doc_2"], ..., ["doc_k"]]
    

    Por tanto, si las entradas son consultas, cada lista interna debe contener una sola consulta (longitud uno), como se muestra arriba, y el input_type debe configurarse en query.

    Se aplican las siguientes restricciones a la lista inputs:

    • La lista no debe tener más de 1,000 entradas.
    • El número total de tokens en todas las entradas no debe superar 120K.
    • El número total de fragmentos en todas las entradas no debe exceder 16K.

    Al menos 1 pero no más de 1000 elementos.

    Para las querys, la lista contiene únicamente una query. Para documentos o fragmentos de documentos, la lista debe incluir todos los fragmentos de un solo documento, ordenados según su posición en el documento, o se puede proporcionar el documento completo como un solo fragmento. El número total de tokens en la lista no debe exceder 32,000 tokens.

    Para las querys, la lista contiene únicamente una query. Para documentos o fragmentos de documentos, la lista debe incluir todos los fragmentos de un solo documento, ordenados según su posición en el documento, o se puede proporcionar el documento completo como un solo fragmento. El número total de tokens en la lista no debe exceder 32,000 tokens.

    Al menos 1 elemento. La longitud mínima de cada uno es 1.

  • Modelo string Requerido

    El modelo de incrustación contextualizado a utilizar. Modelo recomendado: voyage-context-3.

    El valor es voyage-context-3.

  • input_type

    Tipo de texto de entrada. Por defecto es null. Otras opciones: query, document.

    • Cuando input_type es null, el modelo de embedding convierte directamente las entradas en vectores numéricos. Para propósitos de recuperación o búsqueda, donde una “query” busca información relevante entre una colección de datos denominada “documentos”, especifica si tus entradas son consultas o documentos configurando input_type en query o document, respectivamente. En estos casos, Voyage añade automáticamente un prompt al inputs antes de vectorizarlos, creando vectores más adecuados para tareas de recuperación o búsqueda. Las incrustaciones generadas con y sin el argumento input_type son compatibles.
    • Para mayor transparencia, las siguientes indicaciones se anteponen a tu entrada:
      • Para query, el mensaje es "Representa la query para recuperar documentos de respaldo: ".
      • Para document, la indicación es "Representa el documento para recuperación: ".

    Los valores son query, document o null.

  • output_dimension entero | nulo

    Número de dimensiones para las incrustaciones de salida resultantes. El valor predeterminado es null. voyage-context-3 admite los siguientes valores output_dimension: 2048, 1024 (predeterminado), 512 y 256. Si se establece en null, el modelo utiliza el valor predeterminado 1024.

    Los valores son,,,256 51210242048o nulo.

  • output_dtype string

    El tipo de datos para los embeddings que se devolverán. Por defecto es float. Otras opciones: int8, uint8, binary, ubinary.

    • float: Cada embedding retornado es una lista de números de punto flotante de precisión simple de 32bits (4bytes). Esta es la opción por defecto y aporta la mayor precisión/precisión de recuperación.
    • int8 y uint8: cada incrustación devuelta es una lista de números enteros de 8bits (1bytes) que van desde -128 a 127 y 0 a 255, respectivamente.
    • binary y ubinary: Cada embedding devuelto es una lista de enteros de 8bits que representan valores de embedding de un solo bit, empaquetados en bits y cuantizados: int8 para binary y uint8 para ubinary. La longitud de la lista devuelta de enteros es 1/8 de output_dimension (que es la dimensión real del embedding). El tipo binary utiliza el método binario de desplazamiento.

    El valor por defecto es float.

  • formato_de_codificación

    Formato en el que se codifican los incrustados. Por defecto es null. Otras opciones: base64.

    • Si null, cada embedding es un arreglo de números flotantes cuando output_dtype está configurado en float y un arreglo de enteros para todos los demás valores de output_dtype (int8, uint8, binary, y ubinary). Consulta output_dtype para más detalles.
    • Si base64, los incrustaciones se representan como un arreglo NumPy codificado en base64 de:
      • Números de punto flotante (numpy.float)32para output_dtype establecidos float en.
      • Enteros con signo (numpy.int8) para output_dtype establezca en int8 o binary.
      • Enteros sin signo(numpy.uint)8 para output_dtype establecido uint8 en ubinary o.

    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, que siempre es "lista".

      El valor es list.

    • Datos arreglo[objeto] Requerido

      Una serie de incrustaciones contextualizadas.

      Hide data attributes Show data attributes Objeto
      • Objeto string Requerido

        El tipo de objeto, que siempre es "lista".

        El valor es list.

      • Datos arreglo[objeto] Requerido

        Un arreglo de objetos de embedding, uno para cada fragmento en la lista de entrada.

        Hide data attributes Show data attributes Objeto
        • Objeto string Requerido

          El tipo de objeto Realm, que siempre es "embedding".

          El valor es embedding.

        • integración arreglo[number] | string Requerido

          El vector de embedding. Cuando encoding_format es nulo, este es un arreglo de números (valores flotantes cuando output_dtype es float, valores enteros para int8, uint8, binary y ubinary). Cuando encoding_format es base64, esto es una string codificada en base64.

          Uno de:

          Formato de arreglo cuando encoding_format es null

          Formato codificado en base64cuando encoding_format es base64

        • index entero Requerido

          Un entero que representa el índice de la query o de la incrustación de fragmento contextualizado dentro de la lista de incrustaciones del mismo documento.

      • index entero Requerido

        Un entero que representa el índice de la consulta o documento dentro de la lista de consultas o documentos, respectivamente.

    • Modelo string Requerido

      Nombre del modelo.

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

        El número total de tokens utilizados para calcular los embedding.

  • 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 /contextualizedembeddings
curl \
 --request POST 'https://ai.mongodb.com/v1/contextualizedembeddings' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"inputs":[["string"]],"model":"voyage-context-3","input_type":"query","output_dimension":256,"output_dtype":"float","encoding_format":"base64"}'
Solicitar ejemplos
{
  "inputs": [
    [
      "string"
    ]
  ],
  "model": "voyage-context-3",
  "input_type": "query",
  "output_dimension": 256,
  "output_dtype": "float",
  "encoding_format": "base64"
}
Ejemplos de respuestas (200)
{
  "object": "list",
  "data": [
    {
      "object": "list",
      "data": [
        {
          "object": "embedding",
          "embedding": [
            42.0
          ],
          "index": 42
        }
      ],
      "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"
}