linebot_pydantic_fastapi / API_KEYS_GUIDE.md
mickeywu520's picture
first commit
cd9bca9
|
raw
history blame
5.88 kB
# 🔑 API Keys 取得指南
本文件詳細說明如何取得所有必要的 API Keys 來運行 LINE Bot 系統。
## 📋 必要的 API Keys
### 1. LINE Bot API Keys
#### 步驟 1: 建立 LINE Developers 帳號
1. 前往 [LINE Developers Console](https://developers.line.biz/)
2. 使用 LINE 帳號登入
3. 同意開發者條款
#### 步驟 2: 建立 Provider
1. 點擊 "Create a new provider"
2. 輸入 Provider 名稱 (例如: "我的公司")
3. 點擊 "Create"
#### 步驟 3: 建立 Messaging API Channel
1. 在 Provider 頁面點擊 "Create a Messaging API channel"
2. 填寫以下資訊:
- **Channel name**: 您的 Bot 名稱
- **Channel description**: Bot 描述
- **Category**: 選擇適合的類別
- **Subcategory**: 選擇子類別
3. 上傳 Channel icon (可選)
4. 同意條款並點擊 "Create"
#### 步驟 4: 取得 API Keys
1. 進入剛建立的 Channel
2. 前往 "Basic settings" 頁籤:
- 複製 **Channel secret** → 這是您的 `LINE_CHANNEL_SECRET`
3. 前往 "Messaging API" 頁籤:
- 點擊 "Issue" 按鈕產生 Channel access token
- 複製 **Channel access token** → 這是您的 `LINE_CHANNEL_ACCESS_TOKEN`
#### 步驟 5: 設定 Webhook (部署後執行)
1. 在 "Messaging API" 頁籤中
2. 設定 **Webhook URL**: `https://你的用戶名-你的空間名稱.hf.space/webhook`
3. 啟用 "Use webhook"
4. 關閉 "Auto-reply messages" (可選)
### 2. Supabase API Keys
#### 步驟 1: 建立 Supabase 帳號
1. 前往 [Supabase](https://supabase.com/)
2. 點擊 "Start your project"
3. 使用 GitHub 或 Google 帳號註冊
#### 步驟 2: 建立新專案
1. 點擊 "New project"
2. 選擇組織 (或建立新組織)
3. 填寫專案資訊:
- **Name**: 專案名稱
- **Database Password**: 設定強密碼
- **Region**: 選擇最近的區域 (建議: Southeast Asia)
4. 點擊 "Create new project"
5. 等待專案建立完成 (約 2-3 分鐘)
#### 步驟 3: 取得 API Keys
1. 在專案 Dashboard 中
2. 前往左側選單的 "Settings" → "API"
3. 複製以下資訊:
- **URL** → 這是您的 `SUPABASE_URL`
- **anon public** key → 這是您的 `SUPABASE_KEY`
#### 步驟 4: 建立資料表
1. 前往左側選單的 "SQL Editor"
2. 複製 `setup_guide.md` 中的 SQL 語句
3. 點擊 "RUN" 執行
## 🚀 可選的 API Keys
### 3. OpenRouter API Keys (進階 NLP 功能)
#### 步驟 1: 建立 OpenRouter 帳號
1. 前往 [OpenRouter](https://openrouter.ai/)
2. 點擊 "Sign Up"
3. 使用 Google 或 GitHub 帳號註冊
#### 步驟 2: 充值帳戶
1. 前往 [Credits 頁面](https://openrouter.ai/credits)
2. 點擊 "Add Credits"
3. 選擇充值金額 (建議先充值 $5-10 測試)
4. 完成付款
#### 步驟 3: 建立 API Key
1. 前往 [API Keys 頁面](https://openrouter.ai/keys)
2. 點擊 "Create Key"
3. 輸入 Key 名稱 (例如: "LINE Bot")
4. 複製產生的 API Key → 這是您的 `OPENROUTER_API_KEY`
#### 步驟 4: 選擇模型
根據您的需求和預算選擇模型:
| 模型 | 成本 | 適用場景 | 設定值 |
|------|------|----------|--------|
| Claude 3 Haiku | 最低 | 日常查詢 | `anthropic/claude-3-haiku` |
| GPT-3.5 Turbo | 中等 | 平衡使用 | `openai/gpt-3.5-turbo` |
| Claude 3 Sonnet | 較高 | 複雜查詢 | `anthropic/claude-3-sonnet` |
## 🔧 環境變數設定
### Hugging Face Spaces 設定
1. 前往您的 Hugging Face Spaces 專案
2. 點擊 "Settings" 頁籤
3. 在 "Repository secrets" 區域新增以下變數:
```bash
# 必要設定
LINE_CHANNEL_ACCESS_TOKEN=你的_LINE_Channel_Access_Token
LINE_CHANNEL_SECRET=你的_LINE_Channel_Secret
SUPABASE_URL=你的_Supabase_專案_URL
SUPABASE_KEY=你的_Supabase_Anon_Key
# 可選設定 (進階 NLP)
OPENROUTER_API_KEY=你的_OpenRouter_API_Key
OPENROUTER_MODEL=anthropic/claude-3-haiku
# 其他設定
DEBUG=False
LOG_LEVEL=INFO
```
### 本地開發設定
建立 `.env` 檔案:
```bash
cp .env.example .env
```
編輯 `.env` 檔案並填入您的 API Keys。
## ✅ 驗證設定
### 1. 測試 LINE Bot
```bash
# 檢查 LINE Channel 設定
curl -H "Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN" \
https://api.line.me/v2/bot/info
```
### 2. 測試 Supabase
```bash
# 檢查 Supabase 連線
curl "YOUR_SUPABASE_URL/rest/v1/" \
-H "apikey: YOUR_SUPABASE_KEY"
```
### 3. 測試 OpenRouter
```bash
# 檢查 OpenRouter API
curl https://openrouter.ai/api/v1/models \
-H "Authorization: Bearer YOUR_OPENROUTER_KEY"
```
## 🔒 安全性注意事項
1. **絕不在程式碼中硬編碼 API Keys**
2. **使用環境變數儲存敏感資訊**
3. **定期輪換 API Keys**
4. **監控 API 使用量和成本**
5. **設定適當的權限和限制**
## 💰 成本估算
### LINE Bot
- **免費額度**: 每月 1,000 則訊息
- **付費方案**: 超過免費額度後按量計費
### Supabase
- **免費方案**:
- 500MB 資料庫
- 50MB 檔案儲存
- 2GB 頻寬
- **Pro 方案**: $25/月起
### OpenRouter
- **按使用量計費**
- **Claude 3 Haiku**: ~$0.25/1M input tokens
- **建議預算**: $5-20/月 (中小型應用)
## 🆘 常見問題
### Q: LINE Bot 無法回應訊息
A: 檢查以下項目:
1. Channel Access Token 是否正確
2. Webhook URL 是否設定正確
3. 應用程式是否正常運行
### Q: Supabase 連線失敗
A: 檢查以下項目:
1. URL 和 API Key 是否正確
2. 資料表是否已建立
3. 網路連線是否正常
### Q: OpenRouter 回應錯誤
A: 檢查以下項目:
1. API Key 是否有效
2. 帳戶餘額是否充足
3. 模型名稱是否正確
## 📞 技術支援
如果您在設定過程中遇到問題:
1. **LINE Bot**: [LINE Developers 文件](https://developers.line.biz/en/docs/)
2. **Supabase**: [Supabase 文件](https://supabase.com/docs)
3. **OpenRouter**: [OpenRouter 文件](https://openrouter.ai/docs)
---
**提醒**: 請妥善保管您的 API Keys,避免洩露給他人使用。