Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
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:
- Visual Studio Code com uma extensão do Visual Studio Marketplace
- PowerShell Invoke-RestMethod
- Ferramenta Network Console do Microsoft Edge
- Adriano
- ondulação
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:
No portal do Azure, abra o recurso da aplicação lógica padrão e o fluxo de trabalho em branco no designer.
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.
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:
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:
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:
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" } ] }
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?" } ]
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:
Agora, adicione a ação OpenAI do Azure ao fluxo de trabalho.
Adicionar a ação do Azure OpenAI
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.
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 OpenAIO 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 OpenAIQuando terminar, selecione Criar novo.
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-35O 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.
Na lista Parâmetros avançados , selecione Avisar variável de modelo, que agora aparece na guia Parâmetros .
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:
Na primeira linha, na primeira coluna, insira Employee como o nome da variável.
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.
Na lista de conteúdo dinâmico, em Funcionário, selecione Saídas.
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:
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:
Testar o fluxo de trabalho
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.
Para localizar a página de histórico de execução de um fluxo de trabalho específico executado posteriormente, siga estas etapas:
No menu de fluxo de trabalho, em Ferramentas, selecione Histórico de execução.
Na guia Histórico de execução , selecione o fluxo de trabalho executado a ser inspecionado.
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.
No painel aberto, role até a seção 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.
Na caixa de pesquisa do Azure, insira grupos de recursos e selecione Grupos de recursos.
Localize e selecione os grupos de recursos que contêm os recursos para este exemplo.
Na página Visão geral , selecione Excluir grupo de recursos.
Quando o painel de confirmação aparecer, insira o nome do grupo de recursos e selecione Excluir.