如何在 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:
留言
張貼留言