POSTAR /contextualizedembeddings

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

Esse endpoint aceita queries, documentos completos ou chunks de documento e retorna incorporações sensíveis ao contexto em todo o documento.

aplicação/json

corpo, corpo Obrigatório

  • insumos array[array] Obrigatório

    Uma lista de listas, onde cada lista interna contém uma query, um documento ou blocos 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"]]
    

    Blocos de documentos. Mais comumente, cada lista interna contém chunks 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 chunk é codificado em contexto com os outros do mesmo documento, resultando em mais incorporações sensíveis ao contexto. Oschunks fornecidos não devem ter sobreposição.

    Comportamento independente do contextopara 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 chunks em todas as entradas não deve exceder 16K.

    Para queries, a lista contém apenas uma única query. Para documentos ou blocos de documento , a lista deve incluir todos os blocos de um único documento, ordenados por sua posição no documento, ou o documento inteiro pode ser fornecido como um único bloco. 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 blocos de documento , a lista deve incluir todos os blocos de um único documento, ordenados por sua posição no documento, ou o documento inteiro pode ser fornecido como um único bloco. 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 corda | zero

    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:
      • queryPara, o prompt é "Representar a query para recuperar documentos de suporte: ".
      • documentPara, o prompt é "Representar o documento para recuperação: ".

    Os valores query são, 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 51210242048ou 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 324números de ponto flutuante de precisão única -bit ( -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) que variam 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 corda | zero

    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.
    • base64Se, as incorporações são representadas como uma array NumPy codificada64em Base de:
      • Números de ponto flutuante (numpy.float32) para output_dtype definido float como.
      • Inteiros assinados (numpy.int8) para configurado output_dtype int8 para binary ou.
      • Inteiros não assinados (numpy.uint8) para configurado output_dtype uint8 para ubinary ou.

    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 , que é sempre "lista".

      O valor é list.

    • de dados array[objeto] Obrigatório

      Uma série de incorporações contextualizadas.

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

        O tipo de objeto , que é sempre "lista".

        O valor é list.

      • de dados array[objeto] Obrigatório

        Uma array de objetos de incorporação, um para cada chunk na lista de entrada.

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

          O tipo de objeto , que é sempre "incorporado".

          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 do chunk 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 YOUR_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

    Internal Server Error

    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 não disponí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.

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"}'
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"
}