|
# 🔑 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,避免洩露給他人使用。 |