Habilidade de incorporação do Azure OpenAI

Importante

Esta funcionalidade está em pré-visualização pública em Termos de Utilização Suplementares. A API REST 2023-10-01-Preview suporta esse recurso.

A habilidade de incorporação do Azure OpenAI se conecta a um modelo de incorporação implantado em seu recurso do Azure OpenAI para gerar incorporações.

A opção Importar e vetorizar dados usa a habilidade Azure OpenAI Embedding para vetorizar conteúdo. Você pode executar o assistente e revisar o conjunto de habilidades gerado para ver como o assistente o cria.

Nota

Essa habilidade está vinculada ao Azure OpenAI e é cobrada pelo preço existente do Azure OpenAI pay-as-you go.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Limites de dados

O tamanho máximo de uma entrada de texto deve ser de 8.000 tokens. Se a entrada exceder o máximo permitido, o modelo lançará um erro de solicitação inválida. Para obter mais informações, consulte o conceito de chave de tokens na documentação do Azure OpenAI. Considere usar a habilidade Divisão de texto se precisar de fragmentação de dados.

Parâmetros de habilidade

Os parâmetros diferenciam maiúsculas de minúsculas.

Entradas Description
resourceUri O URI de um provedor de modelo, como um recurso do Azure OpenAI ou uma URL do OpenAI.
apiKey A chave secreta usada para acessar o modelo. Se fornecer uma chave, deixe authIdentity em branco. Se você definir o apiKey e authIdentity, o apiKey é usado na conexão.
deploymentId O nome do modelo de incorporação do Azure OpenAI implantado. O modelo deve ser um modelo de incorporação, como text-embedding-ada-002. Consulte a Lista de modelos do Azure OpenAI para modelos suportados.
authIdentity Uma identidade gerenciada pelo usuário usada pelo serviço de pesquisa para se conectar ao Azure OpenAI. Você pode usar uma identidade gerenciada pelo sistema ou pelo usuário. Para usar uma identidade gerenciada pelo sistema, deixe apiKey em authIdentity branco. A identidade gerenciada pelo sistema é usada automaticamente. Uma identidade gerenciada deve ter permissões de Usuário OpenAI dos Serviços Cognitivos para enviar texto para o Azure OpenAI.

Contributos para as competências

Entrada Description
text O texto de entrada a ser vetorizado. Se você estiver usando o agrupamento de dados, a fonte pode ser /document/pages/*.

Resultados em termos de competências

Saída Description
embedding Incorporação vetorizada para o texto de entrada.

Definição da amostra

Considere um registro que tenha os seguintes campos:

{
    "content": "Microsoft released Windows 10."
}

Então sua definição de habilidade pode ficar assim:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Saída de exemplo

Para o texto de entrada dado, uma saída de incorporação vetorizada é produzida.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

A saída reside na memória. Para enviar essa saída para um campo no índice de pesquisa, você deve definir um outputFieldMapping que mapeie a saída de incorporação vetorizada (que é uma matriz) para um campo vetorial. Supondo que a saída de habilidade resida no nó de incorporação do documento e content_vetor seja o campo no índice de pesquisa, o outputFieldMapping no indexador deve ter a seguinte aparência:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

Melhores práticas

A seguir estão algumas práticas recomendadas que você precisa considerar ao utilizar essa habilidade:

  • Se você estiver atingindo seu limite de TPM (Tokens por minuto) do Azure OpenAI, considere o aviso de limites de cota para que você possa lidar de acordo. Consulte a documentação de monitoramento do Azure OpenAI para obter mais informações sobre o desempenho da sua instância do Azure OpenAI.
  • A implantação do modelo de incorporação do Azure OpenAI que você usa para essa habilidade deve ser idealmente separada da implantação usada para outros casos de uso, incluindo o vetorizador de consulta. Isso ajuda cada implantação a ser adaptada ao seu caso de uso específico, levando a um desempenho otimizado e identificando facilmente o tráfego do indexador e as chamadas de incorporação do índice.
  • Sua instância do Azure OpenAI deve estar na mesma região ou, pelo menos, geograficamente perto da região onde seu serviço de Pesquisa de IA está hospedado. Isso reduz a latência e melhora a velocidade de transferência de dados entre os serviços.
  • Se você tiver um limite maior do que o padrão do Azure OpenAI TPM (Tokens por minuto), conforme publicado na documentação de cotas e limites , abra um caso de suporte com a equipe do Azure AI Search, para que isso possa ser ajustado de acordo. Isso ajuda seu processo de indexação a não ser desnecessariamente retardado pelo limite TPM padrão documentado, se você tiver limites mais altos.

Erros e avisos

Condição Result
URI nulo ou inválido Erro
DeploymentID nulo ou inválido Erro
O texto está vazio Aviso
O texto é maior que 8.000 tokens Erro

Consulte também