File size: 6,067 Bytes
7e828dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# LineBot 操作指南

## 🤖 系統概述

本 LineBot 系統整合了 Pydantic AI 框架,提供智能商品查詢、聊天和業務查詢功能。系統設計考慮了 LINE 群組使用場景,避免不必要的 AI token 消耗。

## 📱 用戶操作指南

### 基本指令

#### 1. 聊天模式
```
/chat 你好!今天天氣如何?
/chat 推薦一些好用的功能
```
- **用途**:一般對話、問候、非業務相關問題
- **適用場景**:群組聊天、客戶服務
- **AI 服務**:使用 Groq 進行自然對話

#### 2. 商品查詢模式
```
/search iPhone 15 Pro
/search 價格 1000-5000
/search 庫存不足的商品
```
- **用途**:傳統的商品搜尋和業務查詢
- **適用場景**:明確的商品查詢需求
- **查詢範圍**:商品、訂單、庫存、客戶資料

#### 3. 幫助指令
```
/help
幫助
說明
```
- **用途**:顯示系統使用說明
- **回應**:完整的功能介紹和使用範例

### 智能模式(無前綴)

#### 商品推薦查詢
```
是否有推薦貓砂?
有什麼狗糧推薦?
推薦一些寵物用品
```
- **特點**:自動識別推薦意圖
- **回應**:智能推薦相關商品,包含庫存資訊
- **優勢**:更自然的對話方式

#### 庫存查詢
```
查詢iPhone庫存
寵物用品還有多少?
低庫存商品有哪些?
```
- **特點**:自動識別庫存查詢意圖
- **回應**:詳細的庫存狀態和警告提醒

#### 一般對話
```
你好!
今天天氣如何?
謝謝你的幫助
```
- **特點**:自動識別為聊天意圖
- **回應**:友善的對話回應

## 🏢 管理員操作指南

### 系統監控

#### 1. 健康檢查
```bash
curl http://localhost:7860/health
```
**回應內容**- 系統狀態
- 資料庫連線狀態
- 資料庫連線資訊

#### 2. 路由統計
在 LINE 中輸入:`統計``stats`

**統計內容**- 各模式使用次數和百分比
- Groq 服務狀態
- Pydantic AI 服務狀態

### API 端點管理

#### 1. 直接聊天 API
```bash
curl -X POST "http://localhost:7860/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "今天天氣如何?",
    "user_id": "admin_user"
  }'
```

#### 2. 直接搜尋 API
```bash
curl -X POST "http://localhost:7860/search" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "iPhone 15",
    "user_id": "admin_user"
  }'
```

#### 3. 商品查詢 API
```bash
curl -X POST "http://localhost:7860/product-query" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "是否有推薦貓砂?",
    "user_id": "admin_user"
  }'
```

#### 4. 智能路由 API
```bash
curl -X POST "http://localhost:7860/route" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "有什麼狗糧推薦?",
    "user_id": "admin_user"
  }'
```

### 系統配置

#### 環境變數檢查
```bash
# 檢查必要的環境變數
echo $GROQ_API_KEY
echo $DB_HOST
echo $LINE_CHANNEL_ACCESS_TOKEN
```

#### 服務狀態檢查
```python
# 在 Python 中檢查服務狀態
from backend.services.pydantic_ai_service import ProductQueryService
from backend.services.groq_service import GroqService

product_service = ProductQueryService()
groq_service = GroqService()

print(f"Pydantic AI 可用: {product_service.is_available()}")
print(f"Groq 服務可用: {groq_service.is_available()}")
```

## 🔧 故障排除

### 常見問題

#### 1. 商品查詢沒有結果
**可能原因**- 資料庫中沒有相關商品
- 關鍵字匹配不準確
- 商品被標記為已刪除

**解決方案**- 檢查資料庫商品資料
- 嘗試使用不同的關鍵字
- 使用 `/search` 進行傳統查詢

#### 2. Pydantic AI 服務不可用
**錯誤訊息**:「商品查詢服務暫時無法使用」

**解決方案**- 檢查 `GROQ_API_KEY` 環境變數
- 確認 Groq API 配額
- 系統會自動降級到傳統搜尋

#### 3. 資料庫連線失敗
**錯誤訊息**:「資料庫連線測試失敗」

**解決方案**- 檢查資料庫連線參數
- 確認資料庫服務運行狀態
- 檢查網路連線

### 日誌查看

#### 應用程式日誌
```bash
# 查看即時日誌
tail -f app.log

# 搜尋特定錯誤
grep "ERROR" app.log
grep "商品查詢錯誤" app.log
```

#### 特定功能日誌
```bash
# Pydantic AI 相關
grep "Pydantic AI" app.log

# 路由統計
grep "智能路由" app.log

# 資料庫查詢
grep "資料庫" app.log
```

## 📊 效能監控

### API 回應時間
- **聊天模式**:通常 1-3 秒
- **商品查詢**:通常 2-5 秒
- **智能路由**:通常 1-4 秒

### 資源使用
- **記憶體**:約 200-500MB
- **CPU**:低負載時 < 10%
- **網路**:主要是 API 調用

### Token 使用監控
- 監控 Groq API 使用量
- 設定使用量警告
- 考慮實施使用限制

## 🚀 部署指南

### 開發環境
```bash
# 1. 安裝依賴
pip install -r requirements.txt

# 2. 設定環境變數
cp .env.example .env
# 編輯 .env 文件

# 3. 運行測試
python test_pydantic_ai_integration.py

# 4. 啟動服務
uvicorn backend.main:app --host 0.0.0.0 --port 7860
```

### 生產環境
```bash
# 使用 Docker
docker build -t linebot-pydantic .
docker run -p 7860:7860 --env-file .env linebot-pydantic

# 或使用 Docker Compose
docker-compose up -d
```

### LINE Webhook 設定
1. 在 LINE Developers Console 設定 Webhook URL
2. URL 格式:`https://your-domain.com/webhook`
3. 確認 SSL 憑證有效

## 📋 維護檢查清單

### 每日檢查
- [ ] 系統健康狀態
- [ ] API 回應時間
- [ ] 錯誤日誌
- [ ] Groq API 使用量

### 每週檢查
- [ ] 路由統計分析
- [ ] 資料庫效能
- [ ] 商品資料更新
- [ ] 用戶回饋收集

### 每月檢查
- [ ] 系統效能評估
- [ ] 功能使用分析
- [ ] 安全性檢查
- [ ] 備份驗證

## 📞 支援聯絡

### 技術問題
- 檢查日誌文件
- 參考故障排除指南
- 聯絡系統管理員

### 功能建議
- 記錄用戶需求
- 評估實施可行性
- 規劃功能更新

---

**版本**:v1.0  
**更新日期**:2025-01-12  
**維護團隊**:開發團隊