【 NLP 】使用 Discord 與 Azure OpenAI ChatGPT 建立 AI 問答機器人 ( Python )
內容
- 前置準備作業
- 檔案結構
- 建立 Azure OpenAI ChatGPT
- 建立 Discord 伺服器
- 取得 Discord Bot Token
- API 格式
- 修改與執行 Bot 程式
- 測試與驗證
前置準備作業
- 已建立 Azure 帳號並能正常登入與使用
- 已於電腦端安裝 IDE,本範例使用 Visual Studio Code
- 已於電腦端安裝 Python
檔案結構
.
├── .env
├── .env-Sample
├── README.md
├── app.py
├── azure_openai.py
└── requirements.txt
建立 Azure OpenAI ChatGPT
Step 1. 建立 Azure OpenAI Service
- 於搜尋框輸入
Azure OpenAI
> 點選 Static Web Apps 的搜尋結果
Step 2. 點選左上角 + Create
按鈕
Step 3. 輸入相關資訊
- 請依欄位要求進行輸入
- 輸入完成後點選
Next
- 點選
Next
- 確認資訊後點選
Create
- 建立過程中
- 建立完成,點選
Go to resource
Step 4. 建立部署模型
- 點選左側的
Model deployments
> 再點選Manage Deployments
- 點選左側的
部署
> 再點選上方的+ 建立新部署
- 輸入相關資訊
選取模型
欄位請選擇gpt-35-turbo
部署名稱
欄位請輸入唯一且可識別的名稱,本範例使用gpt-35-turbo
- 以上欄位輸入完成後點選
建立
- 建立完成
Step 5. 取得 Key 與 Endpoint
- 點選左側的
Keys and Endpoint
取得KEY 1
與Endpoint
( 之後程式會用到 )
建立 Discord 伺服器
Step 1. 登入到 Discord
Step 2. 建立伺服器
- 點選左下角的
+
- 點選
建立自已的
- 點選
跳過這個問題
- 輸入伺服器名稱後再點
建立
- 建立完成
取得 Discord Bot Token
Step 1. 開啟開發者網頁
Step 2. 取得 Token
- 點選左側的
Applications
> 再點選右上方的New Application
- 輸入應用程式名稱後點選
Create
( 本範例使用Azure_OpenAI
)
- 點選左側的
Bot
> 再點選Reset Token
- 點選
Yes, do it!
- 點選
Copy
( 之後程式會用到 )
- 點選左側的
Bot
> 再點選MESSAGE CONTENT INTENT
> 再點選Save Changes
- 點選左側的
Oauth2
> 再點選URL Generator
- 勾選
SCOPES
中的bot
與勾選BOT PERMISSIONS
中的Send Messages
- 點選
GENERATED URL
欄位中的Copy
並將所取得的 URL 貼到 Browser 後於新增至伺服器
欄位選擇所建立的伺服器
- 點選
繼續
- 點選
授權
- 點選
我是人類
- 授權完成
- 到所建立的伺服器會看到相關訊息
API 格式
- URL
- POST https://AZURE_OPENAI_ENDPOINT/openai/deployments/AZURE_OPENAI_MODEL_DEPLOYMENT_NAME/chat/completions?api-version=2023-03-15-preview
- 請修改
AZURE_OPENAI_ENDPOINT
與AZURE_OPENAI_MODEL_DEPLOYMENT_NAME
- Header
- Content-Type: application/json
- api-key: AZURE_OPENAI_KEY
- JSON Body
{
"messages": [{
"role": "system",
"content": "你是一個名叫「OpenAI ChatGPT」的角色。請用小於 6 歲的孩子能夠聽懂的語言和親切、容易親近的口吻來講話。"
},
{
"role": "user",
"content": "介紹 OpenAI"
},
{
"role": "assistant",
"content": ""
}
],
"temperature": 0.7,
"top_p": 0.95,
"frequency_penalty": 0,
"presence_penalty": 0,
"max_tokens": 800,
"stop": null
}
- 參數說明請參考 Azure OpenAI 服務 REST API 參考
修改與執行 Bot 程式
Step 1. 下載 Sample Code
Step 2. 建立 .env
- 請在
./Discord_AzureOpenAI_Python
資料夾中建立.env
檔案,再輸入以下資訊:- 第 1 行的
DISCORD_TOKEN
請輸入取得 Discord Bot Token
段落Step 2
所取得 Token - 第 2 行的
AZURE_OPENAI_ENDPOINT
請輸入建立 Azure OpenAI ChatGPT
段落Step 5
所取得的 Endpoint - 第 3 行的
AZURE_OPENAI_KEY
請輸入 建立Azure OpenAI ChatGPT
段落Step 5
所取得的 Key - 第 4 行的
AZURE_OPENAI_MODEL_DEPLOYMENT_NAME
請輸入建立 Azure OpenAI ChatGPT
段落Step 4
所建立部署模型名稱
- 第 1 行的
Step 3. 安裝套件
- 於終端機輸入下方指令
pip install discord python-dotenv
Step 4. 執行程式
- 於終端機輸入下方指令
python app.py
測試與驗證
- 測試一
- 於訊息框輸入
請介紹 Azure OpenAI
- 於訊息框輸入
- 測試二
- 於訊息框輸入
請規畫台中一日遊行程
- 於訊息框輸入