Case Study

成功事例

社内レポート生成と投稿自動化

  • 案件概要
    社内レポートをローカルSLMで生成し、SeleniumによるRPAでChatworksへ自動投稿
  • ご支援先

    食品メーカー

    ご支援内容

    ローカルSLM開発者として実装(Ollama 導入・モデル選定)生成〜投稿の自動化:Selenium + Headless Chrome(ドライバは Selenium Manager で自動解決) 平日スケジュール:macOS launchd の StartCalendarInterval で 17:35 起動 短文検知とテンプレートフォールバックで空投稿を防止 ログ出力・除外日(skip_dates.txt / SKIP_DATES)・安全テスト手順を整備
  • 概要
    • ローカル実行のため機密保持:Ollama サーバ上で llama3.1:8b-instruct-q4_K_M を使用(8B/4bit)。
    • 投稿フロー:投稿可否判定 → 本文生成 → 短文時フォールバック → ログイン → 指定チャネルへ送信(Ctrl+Enter)。
    • 依存:Python 3.12 / Google Chrome 最新 / Selenium 4.10+ / macOS。
    • 実行ログは cron_logs/run_if_business_day.{out,err}.log に保存。
  • 活動内容
    • 環境構築:brew install ollama → ollama serve → ollama pull llama3.1:8b-instruct-q4_K_M。
    • アプリ設定:.env に Chatworks 認証、LOCAL_LLM、OLLAMA_HOST を定義(機密はコミット禁止)。
    • 平日判定:jpholiday + skip_dates.txt + 環境変数 SKIP_DATES を考慮。
    • 生成ロジック:成功時はローカルSLMの出力を採用、短文/失敗時はテンプレ生成にフォールバックし非空保証。
    • RPA投稿:Headless Chrome でログイン→チャネルを開き→送信、待機は WebDriverWait 中心で安定化。
    • 運用:LaunchAgent を bootstrap/kickstart。当日を除外設定して投稿せずに配線チェックできる安全テスト手順を整備。
  • 実績
    • MacBook Air(8GB)でも実用:8B/4bit モデルでローカル生成が安定。
    • ドライバ自動解決(Selenium Manager)で保守工数を抑制。
    • フォールバックにより空投稿ゼロ運用を実現(短文検知で確実に代替生成)。
    • 安全テスト(当日を除外して kickstart)により、本番影響なく検証可能。