Integrando Power Apps com Azure Machine Learning

Por Luiz Antonio Sgargeta
Integrando Power Apps com Azure Machine Learning

Você está interessado em aproveitar o poder da inteligência artificial e do aprendizado de máquina para prever e planejar suas despesas com saúde? Você está curioso para saber como o Power Apps, o Azure Machine Learning e o Open AI podem trabalhar juntos para criar soluções inovadoras? Não procure mais! Nesta postagem de blog, exploraremos como integrar Power Apps com Azure Machine Learning e Open AI usando Power Automate, criando um aplicativo de planejamento de despesas de saúde de ponta.

O projeto

O aplicativo Health Expense Planner serve como uma ilustração de como essas tecnologias combinadas para solucionar desafios. Os conceitos e técnicas discutidos podem ser aplicados a vários domínios e casos de uso.

Características

  • Preveja as despesas de saúde com base em vários parâmetros, como idade, sexo, IMC, número de filhos e se são fumantes ou não
  • Usa um modelo personalizado do Azure Auto ML integrado ao Power Apps usando o Power Automate Flow
  • Fornece um plano personalizado para economizar em despesas de saúde com base nas entradas e no resultado do modelo usando a API do Open AI

Pré-requisitos

  • Você precisa obter uma chave de API da OpenAI
  • Você precisa ter uma conta para Power Apps e Power Automate
  • Você precisa de uma conta ativa no Azure
  • Você precisa ter um URL de ponto final do modelo de ML automático do Azure implantado para previsões

Power Apps

O Health Expense Power App é a principal interface do usuário para interagir com o projeto. Ele usa alguns elementos básicos da interface do usuário, como rótulos de texto e caixas de entrada, para tornar o aplicativo interativo.

A parte interessante do aplicativo é o botão de previsão. Ele é responsável por duas tarefas : chamar o AutoML Flow e o Open AI Connector.

ClearCollect(Result, AzureAutoMLFlow.Run(TextInput1.Text, TextInput1_1.Text, TextInput1_2.Text, TextInput1_3.Text, TextInput1_4.Text));
ClearCollect(explain, 'OpenAI(IndependentPublisher)'.Completion("text-davinci-003", "Use the given information about a person to create a plan to save " & First(Result).response & " USD for their health expenses" & "Their age is " & TextInput1.Text & " they are a " & TextInput1_1.Text & " having " & TextInput1_2.Text & " children.\n", {temperature: 0.3, max_tokens: 100, best_of: 1.0, frequency_penalty: 0.5}).choices);

A função ClearCollect armazena apenas o último resultado obtido. O Azure AutoML Flow é bastante simples. Ele apenas passa os parâmetros de entrada para o Flow que retorna a resposta e armazena em Result.

O conector Open AI usa o método Text Completion. O modelo text-davinci-003 utilizado com base nos resultados e na documentação fornecida no site da Open AI. Finalmente, um prompt passado para o conector junto com alguns parâmetros. Para o prompt, ele foi criado de forma que os parâmetros de entrada também sejam incluídos junto com as despesas resultantes. Eles estão vinculados de maneira significativa para que o Large Language Model of Open AI seja processado adequadamente. 

Power Automate

O fluxo chamado pelo botão Predict no Power App. Ele usa um Power Automate para passar a entrada para o modelo e obter os resultados de volta.

  • O fluxo usa HTTP para POST as entradas no Model Endpoint
  • Em seguida, ele usa o Parse JSON para analisar a saída
  • Finalmente envia de volta para o Power App

O HTTP usa o método POST. Precisamos fornecer a URL do ponto de extremidade implantado do modelo junto com o esquema de entrada e os parâmetros de entrada do Power App. Isso é enviado como uma solicitação ao terminal usando uma solicitação POST.

O Parse JSON usa o esquema de resposta que gerado automaticamente fornecendo uma resposta de amostra


Em seguida, passamos os resultados de volta para o Power App como uma resposta

ML Automatizado do Azure

Azure AutoML

O processo de criação do modelo foi extremamente fácil e intuitivo usando o AutoML, pois fornece uma GUI onde precisamos apenas selecionar os parâmetros necessários, definir a variável de destino (no caso de regressão) e alguns outros detalhes básicos, como validação cruzada e métricas. 

Instruções para implantar seu próprio modelo de AutoML do Azure

  • Vá para o Azure Machine Learning Studio e crie um novo espaço de trabalho
  • Selecione ML automatizado e selecione + Novo trabalho de ML automatizado
  • Siga as instruções na tela para adicionar conjunto de dados
  • Depois disso, defina as configurações de trabalho e previsão
  • Execute o experimento
  • Após a conclusão do treinamento, selecione o melhor modelo a partir dos resultados
  • Selecione Implantar
  • Este processo pode demorar um pouco
  • Após a conclusão da implantação, vá para o modelo implantado e copie o URL do ponto final
  • Essa URL de ponto final usada diretamente no Power Automate Flow para conectar o modelo ao Power Apps

O serviço seleciona automaticamente o melhor modelo. Em seguida, podemos implantar o melhor modelo ou fazer algumas alterações, se necessário. Depois de implantado, obtemos um ponto de extremidade para ser usado no Power Automate Flow.

Usamos o conjunto de dados de despesas de saúde do Kaggle para criar o modelo de previsão (baseado em regressão). Um instantâneo do conjunto de dados e da distribuição é mostrado abaixo:

Conector AI

Usamos o Open AI Independent Publisher Connector para acessar a API. Precisamos adicionar o conector adicionando-o como uma fonte de dados e, em seguida, criando uma conexão. Para criar a conexão, também precisamos fornecer a chave de API da Open AI Platform .

Depois que a conexão é criada, o conector nos permite usar a API no Power App como qualquer outra função ou método.

Você também pode dar uma olhada na Integração do Microsoft Power Platform com o Azure Machine Learning aqui para obter mais detalhes técnicos.

Ver mais artigos

Entre em Contato

Vamos juntos transformar sua dor
em solução!

#moveFast