Partilhar via


Criar conclusão de chat com modelos de prompt em fluxos de trabalho padrão para Aplicativos Lógicos do Azure (Visualização)

Aplica-se a: Aplicativos Lógicos do Azure (Padrão)

Observação

Esta funcionalidade está em pré-visualização e está sujeita aos Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure.

Suponha que você queira automatizar a maneira como sua empresa ou organização responde a perguntas de vários grupos de pessoas, como funcionários, clientes, investidores ou a mídia. Você pode adicionar interações de bate-papo que respondem a perguntas usando a ação do Serviço OpenAI do Azure chamada Obter conclusão de bate-papo usando o Modelo de Prompt e dados de sua empresa ou organização.

Quando você usa seus próprios dados com os modelos no Serviço OpenAI do Azure, cria uma plataforma de conversação alimentada por IA que fornece comunicação mais rápida e extrai contexto a partir de conhecimento de domínio específico. Para criar um processo que lida com cada pergunta, acesse sua fonte de dados e retorne uma resposta, crie um fluxo de trabalho padrão nos Aplicativos Lógicos do Azure para automatizar as etapas necessárias - tudo sem escrever código.

Este guia mostra como adicionar interações de bate-papo a um fluxo de trabalho padrão usando um modelo de prompt como ponto de partida. Este modelo é uma estrutura baseada em texto reutilizável pré-construída que orienta as interações entre o modelo de IA e os questionadores.

O diagrama a seguir mostra o fluxo de trabalho de exemplo criado por este guia:

A captura de tela mostra o portal do Azure, o designer de fluxo de trabalho padrão e as operações que criam um exemplo de assistente de chat.

Para obter mais informações sobre as operações neste fluxo de trabalho, consulte Revisar o cenário de exemplo.

Os modelos fornecem os seguintes benefícios para a criação de prompts eficazes, úteis e claros que se alinham com casos de uso específicos:

Benefício Descrição
Coerência Centralize a lógica do prompt, em vez de incorporar o texto do prompt em cada ação.
Reutilização Aplique o mesmo prompt em vários fluxos de trabalho.
Manutenibilidade Ajuste a lógica de mensagem num só lugar sem editar todo o fluxo.
Controlo dinâmico As entradas do fluxo de trabalho passam diretamente para o modelo, por exemplo, valores de um formulário, banco de dados ou API.

Todos esses benefícios ajudam a criar fluxos adaptáveis orientados por IA que são adequados para automação empresarial escalável - sem duplicar esforços.

Para obter mais informações, veja a seguinte documentação:

Analise o cenário de exemplo

Este guia usa um cenário de exemplo que cria um assistente de chat para uma equipe de TI. Entre outras responsabilidades, a equipe adquire hardware como laptops para os funcionários da empresa. Os requisitos para este assistente incluem as seguintes tarefas:

  • Aceite uma pergunta que utilize linguagem natural e compreenda o contexto.
  • Leia e pesquise dados estruturados, como pedidos anteriores e detalhes do catálogo.
  • Passe os resultados para um modelo de prompt usando a sintaxe Jinja2 para injetar dados dinamicamente em tempo de execução.
  • Gerar uma resposta polida e profissional.

O fluxo de trabalho de exemplo usa as seguintes operações:

Funcionamento Descrição
Mecanismo incorporado chamado Quando uma solicitação HTTP está disponível Aguarda a chegada de uma solicitação HTTPS de um chamador externo. Essa solicitação faz com que o gatilho seja acionado, inicie o fluxo de trabalho e passe uma cadeia de caracteres de token serializada com entradas para as ações do fluxo de trabalho usarem.
Três ações integradas Compose Essas ações armazenam os seguintes dados de teste:

- Funcionário: Perfil do funcionário e pedidos de compras anteriores.

- Pergunta: A pergunta feita.

- Produtos: Entradas no catálogo interno de produtos.
Ação interna chamada Obter conclusão de bate-papo usando o Modelo de Prompt Obtém a conclusão do chat para o modelo de prompt especificado. Para obter mais informações, consulte Obter conclusão de bate-papo usando o modelo de solicitação.

Sugestão

Quando tiver a opção, escolha sempre a operação interna ("no aplicativo") em vez da versão gerenciada ("compartilhada"). A versão interna é executada dentro do tempo de execução dos Aplicativos Lógicos do Azure para reduzir a latência e fornece melhor desempenho e controle sobre a autenticação.

Este exemplo cria e usa um modelo de prompt que permite que seu fluxo de trabalho conclua as seguintes tarefas:

  • Defina um prompt com espaços reservados como {{ Employee.orders }}.
  • Preencha automaticamente o modelo com saídas de ações anteriores no fluxo de trabalho.
  • Gere prompts consistentes e estruturados com o mínimo de esforço.

Para seguir o exemplo, descarregue o modelo de exemplo de prompt e entradas do repositório GitHub dos Azure Logic Apps. O exemplo pressupõe que você esteja simulando dados de compras com entradas de teste.

Pré-requisitos

  • Uma conta Azure e uma assinatura. Se não tiver uma subscrição do Azure, inscreva-se para obter uma conta do Azure gratuita.

  • Um recurso de aplicativo lógico padrão com um fluxo de trabalho com monitoração de estado em branco, que armazena o histórico de execução e os valores para variáveis, entradas e saídas que você pode usar para testes.

    Para criar esse recurso e fluxo de trabalho, consulte Criar um exemplo de fluxo de trabalho de aplicativo lógico padrão usando o portal do Azure.

  • Um recurso do Serviço Azure OpenAI com um modelo implementado, como GPT-3.5 ou GPT-4.

    • O exemplo neste guia de instruções fornece dados de teste que você pode usar para experimentar o fluxo de trabalho. Para conversar com seus próprios dados usando os modelos do Serviço OpenAI do Azure, você precisa criar um projeto do Azure AI Foundry e adicionar sua própria fonte de dados. Para obter mais informações, veja a seguinte documentação:

    • Ao adicionar a ação do Azure OpenAI ao seu fluxo de trabalho, você pode criar uma conexão com seu recurso do Serviço OpenAI do Azure. Você precisa da URL do ponto de extremidade do seu recurso do Serviço Azure OpenAI e das seguintes informações, com base no tipo de autenticação selecionado:

      Tipo de autenticação Valores necessários para encontrar
      URL e autenticação baseada em chave 1. Vá para o recurso do Serviço Azure OpenAI .

      2. No menu de recursos, sob Gestão de Recursos, selecione Chaves e Endereço.

      3. Copie a URL do ponto de extremidade e o valor de uma chave. Guarde estes valores num local seguro.
      Active Directory OAuth 1. Configure o seu recurso de aplicação lógica para OAuth 2.0 com autenticação do Microsoft Entra ID.

      2. Vá para o recurso do Serviço OpenAI do Azure .

      3. No menu de recursos, em Gestão de Recursos, selecione Chaves e Endpoint.

      4. Copie o URL do ponto final . Guarde este valor em algum lugar seguro.
      Identidade gerenciada
      (Recomendado)
      1. Siga as etapas gerais para configurar a identidade gerenciada com o Microsoft Entra ID para seu aplicativo lógico.

      2. Vá para o recurso do Serviço OpenAI do Azure .

      3. No menu de recursos, em Gestão de Recursos, selecione Chaves e Endpoint.

      4. Copie o URL do ponto final . Guarde este valor em algum lugar seguro.

      Advertência

      Sempre proteja e proteja dados confidenciais e pessoais, como credenciais, segredos, chaves de acesso, cadeias de conexão, certificados, impressões digitais e informações semelhantes com o mais alto nível de segurança disponível ou suportado.

      Para autenticação e autorização, configure ou use o Microsoft Entra ID com uma identidade gerenciada. Essa solução fornece segurança ideal e superior sem que você precise fornecer e gerenciar manualmente credenciais, segredos, chaves de acesso e assim por diante, porque o Azure lida com a identidade gerenciada para você. Para configurar uma identidade gerida para as Aplicações Lógicas do Azure, consulte Autenticação de acesso e conexões com os recursos do Azure usando identidades geridas nas Aplicações Lógicas do Azure.

      Se você não puder usar uma identidade gerenciada, escolha a próxima solução de segurança de nível mais alto disponível. Por exemplo, se você precisar usar uma cadeia de conexão, que inclui informações necessárias para acessar um recurso, serviço ou sistema, lembre-se de que essa cadeia de caracteres inclui uma chave de acesso semelhante a uma senha raiz.

      Certifique-se de armazenar essas informações com segurança usando o Microsoft Entra ID e o Azure Key Vault. Não codifice essas informações, compartilhe com outros usuários ou salve em texto sem formatação em qualquer lugar que outras pessoas possam acessar. Estabeleça um plano para alternar ou revogar segredos caso sejam comprometidos. Para obter mais informações, consulte os seguintes recursos:

  • Instale ou use uma ferramenta que possa enviar solicitações HTTP para testar sua solução, por exemplo:

    Atenção

    Para cenários em que você tem dados confidenciais, como credenciais, segredos, tokens de acesso, chaves de API e outras informações semelhantes, certifique-se de usar uma ferramenta que proteja seus dados com os recursos de segurança necessários. A ferramenta deve funcionar offline ou localmente e não requer login em uma conta online ou sincronização de dados com a nuvem. Ao usar uma ferramenta com essas características, você reduz o risco de expor dados confidenciais ao público.

Adicionar um gatilho

Seu fluxo de trabalho requer um gatilho para controlar quando começar a executar. Você pode usar qualquer gatilho que se adapte ao seu cenário. Para obter mais informações, consulte Triggers.

Adicione o gatilho seguindo estas etapas:

  1. No portal do Azure, abra o recurso da aplicação lógica padrão e o fluxo de trabalho em branco no designer.

  2. Siga as etapas gerais para adicionar o gatilho desejado.

    Este exemplo usa o disparador Request chamado Quando uma solicitação HTTP está disponível. Para obter mais informações sobre esse gatilho, consulte Receber e responder a chamadas HTTPS de entrada.

  3. Guarde o fluxo de trabalho. Na barra de ferramentas do designer, selecione Salvar.

    Depois de salvar o fluxo de trabalho, uma URL aparece no parâmetro HTTP URL para o gatilho Request . Esta URL pertence a um endpoint criado para o gatilho Request. Para disparar o gatilho e iniciar o fluxo de trabalho, os chamadores fora do fluxo de trabalho podem enviar solicitações HTTPS para a URL e incluir entradas para que o gatilho passe para o fluxo de trabalho.

    Advertência

    A URL do ponto de extremidade inclui uma chave SAS (Assinatura de Acesso Compartilhado) que dá a qualquer pessoa com a URL a capacidade de acionar o fluxo de trabalho e transmitir os dados desejados. Para obter informações sobre como proteger e proteger o fluxo de trabalho, consulte Proteger o acesso e os dados em fluxos de trabalho.

Quando terminar, seu fluxo de trabalho será semelhante ao exemplo a seguir:

A captura de tela mostra o designer de fluxo de trabalho padrão e o gatilho Solicitação.

Adicionar as Ações de Compor

Para adicionar operações que armazenam as saídas de gatilho para ações subsequentes a serem usadas como entradas, siga estas etapas:

  1. No gatilho, siga as etapas gerais para adicionar a operação de dados denominada Compor.

    O exemplo adiciona três ações Compose e usa os seguintes dados de teste como entradas:

    1. Renomeie a primeira ação Redigir como Funcionário e insira os seguintes dados na caixa Entradas:

      {
          "firstName": "Alex",
          "lastName": "Taylor",
          "department": "IT",
          "employeeId": "E12345",
          "orders": [
              { 
                  "name": "Adatum Streamline 5540 Laptop",
                  "description": "Ordered 15 units for Q1 IT onboarding",
                  "date": "2024/02/20"
              },
              {
                  "name": "Docking Station",
                  "description": "Bulk purchase of 20 Adatum AB99Z docking stations",
                  "date": "2024/01/10"
              }
          ]
      }
      
    2. Renomeie a próxima ação Redigir como Pergunta e insira os seguintes dados na caixa Entradas:

      [
          {
              "role": "user",
              "content": "When did we last order laptops for new hires in IT?"
          }
      ]
      
    3. Renomeie a próxima ação Compor para Produtos e insira os seguintes dados na caixa de Entradas:

      [
          {
              "id": "1",
              "title": "Adatum Streamline 5540 Laptop",
              "content": "i7, 16GB RAM, 512GB SSD, standard issue for IT new hire onboarding" 
          },
          {
              "id": "2",
              "title": "Docking Station",
              "content": "Adatum AB99Z docking stations for dual monitor setup"
          }
      ]
      

Quando terminar, seu fluxo de trabalho será semelhante ao exemplo a seguir:

A captura de tela mostra o designer de fluxo de trabalho Padrão, o gatilho de solicitação e três ações de composição renomeadas.

Agora, adicione a ação OpenAI do Azure ao fluxo de trabalho.

Adicionar a ação do Azure OpenAI

  1. Na última ação Compor , siga as etapas gerais para adicionar a ação do Azure OpenAI chamada Obter conclusão de chat usando o Modelo de Prompt.

  2. Depois que a ação aparece na superfície do designer, o painel de conexão é aberto para que você possa fornecer as seguintes informações:

    Parâmetro Obrigatório Valor Descrição
    Nome da conexão Sim < nome da conexão> O nome da conexão com seu recurso OpenAI do Azure.
    Tipo de Autenticação Sim Consulte as seguintes secções:

    - Pré-requisitos
    - Autenticação de conector integrado do Azure OpenAI
    O tipo de autenticação a ser usado com a conexão.
    URL do ponto de extremidade do Azure OpenAI Sim < endpoint-URL-Azure-OpenAI-resource> O URL do ponto de extremidade para o recurso do Azure OpenAI. Para obter mais informações, consulte Pré-requisitos.
    Chave de autenticação Necessário apenas para autenticação baseada em URL e chave < chave de acesso> Consulte as seguintes secções:

    - Pré-requisitos
    - Autenticação de conector integrado do Azure OpenAI
  3. Quando terminar, selecione Criar novo.

  4. Depois que o painel de ações for aberto, na guia Parâmetros , forneça as seguintes informações a serem usadas para o modelo de prompt:

    Parâmetro Valor Descrição
    Identificador de implantação - GPT-4O
    - GPT-35
    O nome do modelo implantado do Azure OpenAI, que deve corresponder ao que você usou para seu recurso do Azure OpenAI.
    Modelo de prompt < texto de modelo> O modelo de prompt. Para obter mais informações, consulte Obter conclusão de bate-papo usando o modelo de prompt.

    Para este exemplo, substitua o texto do modelo de exemplo pelo seguinte texto de exemplo:

    system:
    You are an AI assistant for Contoso's internal procurement team. You help employees get quick answers about previous orders and product catalog details. Be brief, professional, and use markdown formatting when appropriate. Include the employee’s name in your response for a personal touch.
    
    # Employee info
    Name: {{Employee.firstName}} {{Employee.lastName}}
    Department: {{Employee.department}}
    Employee ID: {{Employee.employeeId}}
    
    # Question
    The employee asked the following:
    
    {% for item in question %}
    {{item.role}}:
    {{item.content}}
    {% endfor %}
    
    # Product catalog
    Use this documentation to guide your response. Include specific item names and any relevant descriptions.
    
    {% for item in Products %}
    Catalog item ID: {{item.id}}
    Name: {{item.title}}
    Description: {{item.content}}
    {% endfor %}
    
    # Order history
    Here is the employee's procurement history to use as context when answering their question.
    
    {% for item in Employee.orders %}
    Order Item: {{item.name}}
    Details: {{item.description}} — Ordered on {{item.date}}
    {% endfor %}
    
    Based on the product documentation and order history above, provide a concise and helpful answer to their question. Don't fabricate information beyond the provided inputs.
    

    A tabela a seguir descreve como o modelo de exemplo funciona:

    Elemento de modelo Tarefa
    {{ Employee.firstName }} {{ Employee.lastName }} Exibe o nome do funcionário.
    {{ Employee.department }} Adiciona contexto do departamento.
    {{ Question[0].content }} Injeta a pergunta do funcionário a partir da ação Compor chamada Pergunta.
    {% for doc in Products %} Percorre os dados do catálogo da ação Compor chamada Produtos.
    {% for order in Employee.orders %} Percorre o histórico de pedidos do funcionário pela ação Compor denominada Employee.

    Cada valor de elemento é extraído dinamicamente das ações de composição do fluxo de trabalho - tudo sem qualquer código ou serviços externos necessários. Você pode aplicar a mesma abordagem à saída de dados de referência de outras operações, por exemplo, uma lista do SharePoint, linha do SQL Server, corpo do email ou até mesmo resultados de pesquisa de IA. Você só precisa mapear as saídas no modelo de prompt e deixar seu fluxo de trabalho fazer o resto.

  5. Na lista Parâmetros avançados , selecione Avisar variável de modelo, que agora aparece na guia Parâmetros .

  6. Na tabela chave-valor que aparece na guia Parâmetros , insira os seguintes nomes de variáveis de modelo e saídas selecionadas das ações de composição anteriores no fluxo de trabalho, por exemplo:

    1. Na primeira linha, na primeira coluna, insira Employee como o nome da variável.

    2. Na mesma linha, na coluna seguinte, selecione dentro da caixa de edição e, em seguida, selecione o ícone de relâmpago para abrir a lista de conteúdo dinâmico.

    3. Na lista de conteúdo dinâmico, em Funcionário, selecione Saídas.

      A captura de tela mostra uma ação chamada Obter conclusões do chat usando Modelo de Prompt, tabela de Variáveis de Modelo de Prompt, lista aberta de conteúdo dinâmico e valor de Saídas selecionado na seção Pergunta.

    4. Repita as mesmas etapas na próxima linha e na linha seguinte para Pergunta e Produtos.

    Quando terminar, a tabela terá a seguinte aparência:

    A captura de tela mostra a tabela Prompt Template Variable concluída com as saídas Pergunta, Catálogo de produtos e Funcionários.

  7. Para outros parâmetros, consulte Obter conclusão de bate-papo usando o modelo de prompt.

Quando terminar, seu fluxo de trabalho será semelhante ao exemplo a seguir:

A captura de tela mostra o designer de fluxo de trabalho padrão, o disparador de solicitação, três ações Compose renomeadas e a ação integrada do Azure OpenAI, Obter conclusões de chat usando o Modelo de Prompt.

Testar o fluxo de trabalho

  1. Para acionar o seu fluxo de trabalho, envie uma solicitação HTTPS para o URL do callback para o desencadeador Request, incluindo o método que o desencadeador Request espera, usando a sua ferramenta de pedidos HTTP, com base nas instruções.

    Para obter mais informações sobre a definição JSON subjacente do gatilho e como chamá-lo, consulte a seguinte documentação:

    Após a conclusão da execução do fluxo de trabalho, a página de histórico de execução é aberta para mostrar o status de cada ação.

    A captura de tela mostra o histórico de execução do fluxo de trabalho completo mais recentemente com o status de cada operação.

    1. Para localizar a página de histórico de execução de um fluxo de trabalho específico executado posteriormente, siga estas etapas:

      1. No menu de fluxo de trabalho, em Ferramentas, selecione Histórico de execução.

      2. Na guia Histórico de execução , selecione o fluxo de trabalho executado a ser inspecionado.

  2. Para encontrar a resposta do chat, na página de histórico de execução, selecione a ação do Azure OpenAI.

    Um painel é aberto para mostrar as entradas e saídas da ação selecionada.

  3. No painel aberto, role até a seção Saídas .

    A captura de tela mostra o histórico de execução do fluxo de trabalho completo mais recentemente com o status de cada operação e a ação selecionada do Azure OpenAI com entradas e saídas.

    A resposta é totalmente baseada no contexto estruturado que é passado para o seu fluxo de trabalho — sem necessidade de ajuste fino extra.

Limpeza de recursos

Se não precisar dos recursos que criou neste guia, certifique-se de que os elimina para não continuar a incorrer em custos. Você pode seguir estas etapas para excluir o grupo de recursos que contém esses recursos ou pode excluir cada recurso individualmente.

  1. Na caixa de pesquisa do Azure, insira grupos de recursos e selecione Grupos de recursos.

  2. Localize e selecione os grupos de recursos que contêm os recursos para este exemplo.

  3. Na página Visão geral , selecione Excluir grupo de recursos.

  4. Quando o painel de confirmação aparecer, insira o nome do grupo de recursos e selecione Excluir.