POSTAR /contextualizedembeddings

Cria incorporações vetoriais contextualizadas para partes de documento. Essas incorporações capturam detalhes locais dentro de cada parte e contexto global de todo o documento.

Esse ponto de extremidade aceita querys, documentos completos ou partes de documento e retorna incorporações sensíveis ao contexto em todo o documento.

aplicação/json

corpo, corpo Obrigatório

  • entradas array[array] Obrigatório

    Uma lista de listas, onde cada lista interna contém uma query, um documento ou partes de documento a serem vetorizados.

    Cada lista interna no inputs representa um conjunto de elementos de texto que são incorporados juntos. Cada elemento na lista é codificado não apenas de forma independente, mas também codifica o contexto dos outros elementos na mesma lista.

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

    Partes de documentos. Mais comumente, cada lista interna contém partes de um único documento, ordenados por sua posição no documento. Neste 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 parte é codificada em contexto com as outras do mesmo documento, resultando em mais incorporações sensíveis ao contexto. As partes fornecidas não devem ter sobreposição.

    Comportamento independente do contexto para queries e documentos. Se houver um elemento por lista interna, cada texto será incorporado de forma independente – semelhante às incorporações padrão (independentemente de contexto):

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

    Portanto, se as entradas forem queries, cada lista interna deverá conter uma única query (comprimento de um), conforme mostrado acima, e input_type deverá ser definido como query.

    As seguintes restrições se aplicam à lista inputs:

    • A lista não deve conter mais de 1,000 entradas.
    • O número total de tokens em todas as entradas não deve exceder 120K.
    • O número total de partes em todas as entradas não deve exceder 16K.

    Para queries, a lista contém apenas uma única query. Para documentos ou partes de documento, a lista deve incluir todas as partes de um único documento, ordenadas por sua posição no documento, ou o documento inteiro pode ser fornecido como uma única parte. O número total de tokens na lista não deve exceder 32,000 tokens.

    Pelo menos 1, mas não mais de 1000 elementos.

    Para queries, a lista contém apenas uma única query. Para documentos ou partes de documento, a lista deve incluir todas as partes de um único documento, ordenadas por sua posição no documento, ou o documento inteiro pode ser fornecido como uma única parte. O número total de tokens na lista não deve exceder 32,000 tokens.

    Pelo menos 1 elemento. O comprimento mínimo de cada um é 1.

  • Modelo string Obrigatório

    O modelo de incorporação contextualizado a ser usado. Modelo recomendado: voyage-context-3.

    O valor é voyage-context-3.

  • input_type

    Tipo do texto de entrada. Padrão é null. Outras opções: query, document.

    • Quando input_type é null, o modelo de incorporação converte diretamente as entradas em vetores numéricos. Para fins de recuperação ou pesquisa, onde uma "query" pesquisa informações relevantes em uma coleção de dados conhecida como "documentos", especifique se suas entradas são queries ou documentos definindo input_type como query ou document, respectivamente. Nesses casos, o Voyage acrescenta automaticamente um prompt ao seu inputs antes de vetorizá-los, criando vetores mais personalizados para tarefas de recuperação ou pesquisa. As incorporações geradas com e sem o argumento input_type são compatíveis.
    • Para maior clareza, os seguintes prompts são anexados à sua entrada:
      • Para query, o prompt é "Representar a query para recuperar documentos de suporte: ".
      • Para document, o prompt é "Representar o documento para recuperação: ".

    Os valores são query, document ou nulo.

  • output_dimension inteiro | zero

    O número de dimensões para as incorporações de saída resultantes. Padrão é null. voyage-context-3 suporta os seguintes valores de output_dimension: 2048, 1024 (padrão), 512 e 256. Se configurado para null, o modelo utiliza o valor padrão de 1024.

    Os valores são 256, 512, 1024, 2048 ou nulo.

  • output_dtype string

    O tipo de dados para as incorporações a serem retornadas. Padrão é float. Outras opções: int8, uint8, binary, ubinary.

    • float: cada incorporação retornada é uma lista de números de ponto flutuante de precisão única 32-bit (4-byte). Esse é o padrão e fornece a mais alta precisão/precisão de recuperação.
    • int8 e uint8: cada incorporação retornada é uma lista de números inteiros de 8bits (1bytes) na faixa de -128 a 127 e 0 a 255, respectivamente.
    • binary e ubinary: cada incorporação retornada é uma lista de 8bits inteiros que representam valores de incorporação de bit único compactados e quantizados: int8 para binary e uint8 para ubinary. O comprimento da lista de inteiros retornada é 1/8 de output_dimension (que é a dimensão real da incorporação). O tipo binary utiliza o método binário offset.

    O valor padrão é float.

  • codificação_formato

    Formato em que as incorporações são codificadas. Padrão é null. Outras opções: base64.

    • Se null, cada incorporação é uma array de números flutuantes quando output_dtype está definido como float e uma array de inteiros para todos os outros valores de output_dtype (int8, uint8, binary e ex., ubinary). Consulte output_dtype para obter mais detalhes.
    • Se base64, as incorporações são representadas como uma array NumPy codificada em Base64 de:
      • Números de ponto flutuante (numpy.float32) para output_dtype, defina como float.
      • Inteiros assinados (numpy.int8) para output_dtype, defina como int8 ou binary.
      • Inteiros não assinados (numpy.uint8) para output_dtype, defina como uint8 ou ubinary.

    Os valores são base64 ou nulo.

Respostas

  • 200 aplicação/json

    Sucesso

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • objeto string Obrigatório

      O Tipo de objeto de Realm, que é sempre "lista".

      O valor é list.

    • de dados array[objeto] Obrigatório

      Um array de incorporações contextualizadas.

      Ocultar atributos de dados Mostrar atributos de dados objeto
      • objeto string Obrigatório

        O Tipo de objeto de Realm, que é sempre "lista".

        O valor é list.

      • de dados array[objeto] Obrigatório

        Um array de objetos de incorporação, um para cada parte na lista de entrada.

        Ocultar atributos de dados Mostrar atributos de dados objeto
        • objeto string Obrigatório

          O Tipo de objeto de Realm, que é sempre "embedding".

          O valor é embedding.

        • Incorporação array[número] | string Obrigatório

          O vetor de incorporação. Quando encoding_format é nulo, esta é uma array de números (flutuante quando output_dtype é float, inteiros para int8, uint8, binary e ubinary). Quando encoding_format é base64, esta é uma string codificada64base.

          Um dos seguintes:

          Formato da array quando codificando_formato é nulo

          Formato codificado por64base quando encryption_format é base64

        • index inteiro Obrigatório

          Um número inteiro representando o índice da query ou a incorporação contextualizada da parte dentro da lista de incorporações do mesmo documento.

      • index inteiro Obrigatório

        Um número inteiro representando o índice da query ou documento dentro da lista de queries ou documentos, respectivamente.

    • Modelo string Obrigatório

      Nome do modelo.

    • Uso objeto Obrigatório
      Ocultar atributo de uso Mostrar atributo de uso objeto
      • total_tokens inteiro Obrigatório

        O número total de tokens utilizados para calcular as incorporações.

  • 400 aplicação/json

    Invalid Request

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      A solicitação é inválida. Esse erro pode ocorrer devido a JSON inválido, tipos de parâmetros inválidos, tipos de dados incorretos, tamanho do lote muito grande, total de tokens que excede o limite ou tokens em um exemplo que excede o comprimento do contexto.

  • 401 aplicação/json

    Não autorizado

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      Autenticação inválida. Certifique-se de que a chave de API do modelo esteja especificada corretamente no cabeçalho de autorização como Bearer VOYAGE_API_KEY.

  • 403 aplicação/json

    Proibido

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      Acesso proibido. Isso pode ocorrer se o endereço IP do qual você está enviando a solicitação não for permitido.

  • 429 aplicação/json

    Limite de taxa excedido

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      Limite de taxa excedido. Sua frequência de solicitação ou uso de token é muito alto. Reduza sua taxa de solicitações ou aguarde antes de tentar novamente.

  • 500 aplicação/json

    Erro interno do servidor

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      Ocorreu um erro inesperado no servidor. Tente sua solicitação novamente após uma breve espera.

  • 502 aplicação/json

    Gateway incorreto

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      O servidor recebeu uma resposta inválida de um servidor upstream. Tente sua solicitação novamente após uma breve espera.

  • 503 aplicação/json

    Serviço indisponível

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      O serviço está temporariamente indisponível devido a alto tráfego ou manutenção. Tente sua solicitação novamente após uma breve espera.

  • 504 aplicação/json

    Tempo limite do gateway

    Ocultar atributo de resposta Mostrar atributo de resposta objeto
    • detalhe string

      O servidor não recebeu uma resposta atempada de um servidor upstream. Tente sua solicitação novamente após uma breve espera.

publicação /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"}'
Exemplos de solicitação
{
  "inputs": [
    [
      "string"
    ]
  ],
  "model": "voyage-context-3",
  "input_type": "query",
  "output_dimension": 256,
  "output_dtype": "float",
  "encoding_format": "base64"
}
Exemplos de resposta (200)
{
  "object": "list",
  "data": [
    {
      "object": "list",
      "data": [
        {
          "object": "embedding",
          "embedding": [
            42.0
          ],
          "index": 42
        }
      ],
      "index": 42
    }
  ],
  "model": "string",
  "usage": {
    "total_tokens": 42
  }
}
Exemplos de resposta (400)
{
  "detail": "string"
}
Exemplos de resposta (401)
{
  "detail": "string"
}
Exemplos de resposta (403)
{
  "detail": "string"
}
Exemplos de resposta (429)
{
  "detail": "string"
}
Exemplos de resposta (500)
{
  "detail": "string"
}
Exemplos de resposta (502)
{
  "detail": "string"
}
Exemplos de resposta (503)
{
  "detail": "string"
}
Exemplos de resposta (504)
{
  "detail": "string"
}