ChatGPT i Power Automate, la combinació perfecta | Part II

Cómo integrar ChatGPT con Power Automate - Parte II - Itequia - CAT-EN

ChatGPT i Power Automate, la combinació perfecta | Part II

Com vam veure a la primera part de l’article, avui en dia la majoria d’empreses cerquen maneres d’optimitzar els seus processos i millorar la seva productivitat constantment. 

Per assolir aquests objectius, són moltes les empreses que utilitzen Microsoft Power Automate, una eina que permetrà a la nostra empresa automatitzar tasques repetitives i simplificar processos. 

Per això, en l’article d’avui, explicarem de manera pràctica i pas a pas com integrar ChatGPT a Microsoft Teams mitjançant Power Automate. 

En darrer lloc obtindrem un assistent anomenat Tequibot. Que estarà a la nostra disposició per respondre les preguntes que li fem, integrat en un canal de Microsoft Teams utilitzant l’API d’OpenAI. 

Com integrar ChatGPT a Microsoft Teams amb Power Automate? 

A continuació, vegem, pas a pas, com integrar ChatGPT en Microsoft Teams, l’aplicació de col·laboració creada per Microsoft. 

Pas 1 

En primer lloc, hem de crear un compte a OpenAI i generar una “Secret Key”. 

Paso1-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

Aquest Token l’utilitzarem posteriorment en el flux que crearem. És important saber que no hem de compartir-lo, ja que permet l’ús de l’API amb el nostre compte. 

Pas 2 

Primer iniciem sessió a Power Automate, i creem un flux amb el Trigger “When keywords are mentioned” de Microsoft Teams. 

Desprès, el que haurem de fer, serà triar la paraula clau que activarà el flux. En el nostre cas Tequibot, i indicar el canal de Teams que volem utilitzar. 

Paso2-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

Pas 3 

A continuació, inicialitzem les variables prompt i gptResponse, que utilitzarem posteriorment en el flux. 

Paso3-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

Pas 4 

Ara afegim un control del tipus “Apply to each”. I inserim el següent valor en el camp “Select an output from previous steps”

@{triggerOutputs()?['body/value']} 
Paso4-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

Pas 5 

A continuació, afegim una nova acció del tipus “Get message details (Teams)” amb els següents valors: 

Paso5-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

Pas 6 

Ara hem de guardar en la variable prompt el contingut del missatge que inicia l’acció, amb el següent valor: 

@{outputs('Get_message_details')?['body/body/content']}
Paso6-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

Pas 7 

El següent punt consisteix a fer la petició a l’API d’OpenAI. 

Per això utilitzem el component HTTP, que és de tipus “Premium” però es pot utilitzar el període de prova, amb els següents valors: 

paso7-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

Es tracta d’una petició de tipus POST al EndPoint

https://api.openai.com/v1/chat/completions, amb els headers “Accept” i “Content-Type” indicats. 

El valor del Token és el generat en el Pas 1 amb el prefixe Bearer

En aquest cas, hem utilitzat el model gpt-4, encara que també es pot utilitzar el gpt-3.5-turbo simplement canviant el valor de la variable model.

El primer missatge és de tipus “role system” i ens serveix per donar context al Bot. Però si ho desitgem, podem canviar aquest valor per ajustar els resultats obtinguts.

El segon missatge és el que hem escrit al canal de Microsoft Teams i que hem guardat prèviament a la variable prompt.

A més, podem canviar el valor max_tokens per permetre una mida major de la resposta.

És important saber que valors baixos de la variable temperature faran que les respostes siguin menys variables, però amb més fiabilitat. Valors més alts poden retornar respostes més creatives, però també més imprecises en ocasions.

Si ho necessitem, podem trobar més detall de l’API en el següent enllaç.

Pas 8 

En aquest punt, hem de recollir el valor retornat en la petició i guardar-lo a la variable gptResult:

Paso8-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia

El valor s’obté a partir de l’expressió següent:

body('HTTP')?['choices'][0]?['message/content'] 

Pas 9 

Ara només queda afegir l’acció per respondre al missatge, a partir de la resposta obtinguda de ChatGPT.

Per fer-ho, afegim una acció del tipus “Reply with a message in a channel” de Microsoft Teams, amb els següents valors, utilitzant la variable gptResponse:

Paso9-Integrar-ChatGPT-con-Power-Automate-Itequia

Pas 10 

Ara només ens queda activar el flux i ja podem provar-lo!

Paso10-Integrar-ChatGPT-con-Power-Automate-Itequia

Com podem fer que el Bot sigui més interactiu?

Un punt de millora molt interessant és oferir la possibilitat de convertir la resposta a veu, mitjançant el servei Text to Speech de Cognitive Services de Azure.

Per fer-ho només hem de:

  • Crear una API on enviar el text de la resposta i que detecti l’idioma utilitzat mitjançant el servei Language Detection
  • Seleccionar una de les veus disponibles i generar el fitxer en mp3

A més, a Microsoft Teams podem utilitzar una targeta adaptable com a resposta en què, a més del text, incloguem un botó amb el link a l’àudio generat. 

Como-Integrar-ChatGPT-en-Microsoft-Teams-con-Power-Automate-Itequia
Jordi Puig Reñé – Software Developer at Itequia