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.
A continuació, vegem, pas a pas, com integrar ChatGPT en Microsoft Teams, l’aplicació de col·laboració creada per Microsoft.
En primer lloc, hem de crear un compte a OpenAI i generar una “Secret Key”.
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.
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.
A continuació, inicialitzem les variables prompt i gptResponse, que utilitzarem posteriorment en el flux.
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']}
A continuació, afegim una nova acció del tipus “Get message details (Teams)” amb els següents valors:
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']}
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:
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ç.
En aquest punt, hem de recollir el valor retornat en la petició i guardar-lo a la variable gptResult:
El valor s’obté a partir de l’expressió següent:
body('HTTP')?['choices'][0]?['message/content']
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:
Ara només ens queda activar el flux i ja podem provar-lo!
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:
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.