Skip to content

micrighost/SuSuNoYes

Repository files navigation

SuSuNoYes LINE Bot

一個結合 LINE Bot、AI 聊天、股票查詢/預測、RAG 智能檢索的 Flask 專案。

主要功能

  • LINE Bot 互動(文字、輪播、快速選單)
  • AI 聊天(Google Gemini、本地 LLM)
  • 股票即時查詢、智能預測(多種 ANN 策略)
  • RAG(檢索增強生成)自動網路搜尋與摘要
  • 多用戶狀態管理
  • 圖片、圖表自動產生與回傳

專案結構

SuSuNoYes/
│
├── app.py                        # 主入口,Flask + LINE Bot Webhook
├── requirements.txt              # Python 依賴套件
├── Dockerfile                    # Docker 部署設定(如有)
├── .env                          # 環境變數(API 金鑰、資料庫等)
├── .env.example                  # 環境變數範例(API 金鑰、資料庫等)
├── README.md                     # 專案說明文件
│
├── config/
│   └── ai_character_settings.py  # AI 角色個性設定
│
├── src/
│   ├── handlers/                 # LINE Bot 各功能處理器
│   │   ├── ai_chat_handler.py
│   │   ├── fetch_stock_data_handler.py
│   │   ├── intelligent_prediction_handler.py
│   │   ├── postback_handler.py
│   │   └── Deemo_carousel_template.py
│   │
│   ├── intelligent_prediction_strategies/  # 智慧預測模型
│   │   ├── ANN_OHLCV_output5_intelligent_prediction.py
│   │   ├── ANN_OHLCV_output2_intelligent_prediction.py
│   │   ├── ANN_3DayKbar_output5_intelligent_prediction.py
│   │   └── ANN_3DayKbar_output2_intelligent_prediction.py
│   │
│   ├── services/                 # 外部/AI服務整合
│   │   ├── google_ai.py
│   │   ├── google_search.py
│   │   ├── local_ai.py
│   │   ├── rag_ai_chat.py
│   │   └── WebCrawler_MIS_TWSE.py
│   │
│   ├── utils/                    # 工具模組
│   │   └── get_https_url.py
│   │
│   └── validators/               # 狀態/權限驗證
│       ├── allow_validator.py
│       ├── conversation_validator.py
│       └── training_validator.py
│
├── static/
│   └── images/                   # 所有圖片資源
│
└── tests/                        # 測試程式

安裝與執行

  1. 安裝依賴

    pip install -r requirements.txt
  2. 設定環境變數

    • 複製 .env 範例,填入你的 LINE、Google、資料庫等金鑰。
  3. 啟動 Flask 伺服器(建議用 gunicorn)

    • 開發測試時,請用 python app.py 啟動(Windows 下用 Flask 內建 server)。
    python app.py
    • 若要用 gunicorn,請在 Linux、WSL、Docker(建議)等環境下執行。
    gunicorn -b 0.0.0.0:5000 app:app
  4. (選用)本地測試 LINE Webhook

    • 使用 ngrok 內網穿透
      ngrok http 5000
    • 將 ngrok 產生的 https 網址填入 LINE Developers Webhook URL

主要設定說明

  • .env:存放所有敏感金鑰與連線資訊(LINE、Google、Ollama、本地/雲端 PostgreSQL)
  • config/ai_character_settings.py:AI 角色個性、稱謂設定
  • static/images/:所有 LINE Bot 用到的圖片、圖表

重要檔案說明

  • app.py:主入口,註冊所有 webhook 路由與事件處理
  • src/handlers/:各種 LINE Bot 指令與互動邏輯
  • src/services/:AI、搜尋、爬蟲等外部服務整合
  • src/intelligent_prediction_strategies/:各種股票預測模型
  • src/validators/:用戶狀態、權限、訓練流程驗證
  • src/utils/get_https_url.py:產生 HTTPS 圖片連結

其他

  • 若需 Docker 部署,請參考 Dockerfile
  • 圖片請放於 static/images/,程式會自動產生 HTTPS 連結。

About

一個結合 LINE Bot、AI 聊天、股票查詢/預測、RAG 智能檢索的 Flask 專案。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors