Line Bot 與 Openai & SQL 03 - 成績查詢
參考來源 : https://www.youtube.com/watch?v=IfzY0axpjD8&t=333s
基於 LINE Bot 與 OpenAI 的 MySQL 學生成績管理系統教學文件
目錄
- 前言
- 系統需求與工具
- 資料庫設計與結構
- 插入 15 位學生的資料
- 為每位學生插入成績
- 使用 OpenAI 生成 SQL 語句
- LINE Bot 與 OpenAI 整合
- 查詢學生成績
- 常見問題與解決方案
- 結論
1. 前言
本教學文件將指導您如何建立一個基於 MySQL 的學生成績管理系統,並通過 LINE Bot 與 OpenAI 的整合來查詢和管理數據。我們將介紹如何使用 LINE Bot 接收訊息、OpenAI 自動生成 SQL 語句,並通過 MySQL 查詢學生的成績。
2. 系統需求與工具
系統需求:
- 安裝了 MySQL 伺服器
- Python 3 環境(Flask、OpenAI 和 LINE Bot SDK)
- MySQL 客戶端或管理工具(如 MySQL Workbench)
- OpenAI API 金鑰
- LINE Bot API 金鑰
工具:
- MySQL 伺服器
- MySQL Workbench 或命令行工具
- LINE Bot 設定
- OpenAI API 設定
3. 資料庫設計與結構
在本系統中,我們將創建兩個資料表:一個用來存儲學生的基本信息,另一個用來存儲學生的成績。
student
資料表結構:
1 | CREATE TABLE student ( |
score
資料表結構:
1 | CREATE TABLE score ( |
這兩個資料表使用 sno
欄位關聯,來管理學生的基本信息和成績。
4. 插入 15 位學生的資料
接下來,我們將插入 15 位學生的資料:
1 | INSERT INTO student (sno, class, name, sex, address, memo) VALUES |
5. 為每位學生插入成績
接下來,我們為每位學生插入 數學
和 國文
的成績:
1 | INSERT INTO score (sno, class, subject, score) VALUES |
6. 使用 OpenAI 生成 SQL 語句
當 LINE Bot 接收到查詢訊息時,會呼叫 OpenAI API 自動生成 SQL 查詢語句。以下是範例的整合程式碼片段:
1 | response = openai.ChatCompletion.create( |
7. LINE Bot 與 OpenAI 整合完整程式碼
整合 LINE Bot 與 OpenAI API,並將接收到的查詢請求轉換為 SQL 查詢並從 MySQL 資料庫中提取資料。以下是完整的程式碼片段:
1 | import openai |
8. Demo 時間
本部落格所有文章除特別宣告外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 FullStackPenguin!