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
  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
  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
  2. 點擊 "Sign Up"
  3. 使用 Google 或 GitHub 帳號註冊

步驟 2: 充值帳戶

  1. 前往 Credits 頁面
  2. 點擊 "Add Credits"
  3. 選擇充值金額 (建議先充值 $5-10 測試)
  4. 完成付款

步驟 3: 建立 API Key

  1. 前往 API 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" 區域新增以下變數:
# 必要設定
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 檔案:

cp .env.example .env

編輯 .env 檔案並填入您的 API Keys。

✅ 驗證設定

1. 測試 LINE Bot

# 檢查 LINE Channel 設定
curl -H "Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN" \
     https://api.line.me/v2/bot/info

2. 測試 Supabase

# 檢查 Supabase 連線
curl "YOUR_SUPABASE_URL/rest/v1/" \
     -H "apikey: YOUR_SUPABASE_KEY"

3. 測試 OpenRouter

# 檢查 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 文件
  2. Supabase: Supabase 文件
  3. OpenRouter: OpenRouter 文件

提醒: 請妥善保管您的 API Keys,避免洩露給他人使用。