如何在 Microsoft Teams 上建立 ChatGPT chatbot

1.參考 Microsoft bot framework 中 Echobot python 範例。

       -- 在 MyBot class 的 __init__  初始化,Azure OpenAI chatGPT 的模型連線與相關設定。 

       -- 在收到 Message activity 之後,呼叫 Langchains 的 RetrivalQA 送 prompt 給 ChatGPT 進行交談。

       -- 修改 app.py 使得 該程式部署至 Azure Web app service 時,程式的進入點為 init_func 函數

      上述程式細節請參考 https://github.com/maxliu-data/mybot

2. 在 Azure 上 create "Azure Bot"

2.1 Type of APP : 請選 Multi Tenant

2.2 Creation type: 請保持 Create new Microsoft App ID

2.3 產生 Azure Bot 後,

      -- 請在其 configuration 設定中將其 APP ID 另外複製存放同時也產生其對應的 new client secret 並另外複製存放其 value

      --  請在其 channel 設定中將 Microsoft Teams 加入

點擊上面 "Microsoft Teams" 並同意相關服務條款後,選擇下面 Microsoft Teams Commercial (因為我不是在政府單位任職~) 進行 Apply。


3. Create Azure Web App Service :

3.1 Runtime stack 改成 python3.8

3.2 產生 此 web app service 後將其 URL 複製到前面產生的 Azure Bot 的 configuration 的 Messaging endpoint 欄位中,並在此 URL 添加 chatbot 的服務路徑 /api/messages/ 後重新Apply。

3.3 開啟此 web app service 的 Configuration

複製貼上以下json

[
{
"name": "MicrosoftAppId",
"value": "<剛剛複製的 Application (Client) ID>",
"slotSetting": false
},
{
"name": "MicrosoftAppPassword",
"value": "<剛剛複製的 secret value>",
"slotSetting": false
},
{
"name": "SCM_DO_BUILD_DURING_DEPLOYMENT",
"value": "true",
"slotSetting": false
}
]

  並設定 run stack 執行環境:



執行 python3.8 -m aiohttp.web -H 0.0.0.0 -P 8000 app:init_func

3.4  將 chatbot codes 部署至此 Web App 上: 用 Azure CLI 將壓縮成 myBot.zip

     az webapp deployment source config-zip --resource-group "xxxxxxxx" --name "webappname " --src .\myBot.zip


3.5 上述設定完成後,進入 Azure Bot 的channel 中,點選 Open In Teams:

即可在 Microsoft Teams 中與 bot 進行交談:






留言

這個網誌中的熱門文章

標準差與 Wald 統計量

可能性比檢定(Likelihood ratio test)

Wold Decomposition Theorem