carbolo-whatsapp-ai-agent は何をしますか?
本番対応のWhatsApp AIディーラーアシスタント。グラウンデッドRAG、Googleカレンダー予約、APSchedulerリマインダー、FSMオーケストレーション、ヒンディー語・英語混在対応、幻覚防止ガードレールを搭載。
概要
このエージェントは、WhatsAppプラットフォーム上で自動車ディーラーのカスタマーサービスとリード獲得を自動化するために設計されています。顧客の質問に回答し、試乗予約をスケジュールし、予定をリマインドします。
主な機能
- グラウンデッドRAG: 車両在庫のベクトルストアから取得した情報に基づいて応答を生成します。
- Googleカレンダー予約: 顧客の試乗予約をGoogleカレンダーと自動同期します。
- APSchedulerリマインダー: 予約の前にリマインダーを送信します。
- FSMオーケストレーション: 状態遷移図を使用してシームレスな会話フローを実現します。
- ヒングリッシュ対応: ヒンディー語と英語が混ざったテキストを理解します。
- 幻覚防止ガードレール: 知識ベースにない情報の生成を防止します。
前提条件
- Python 3.10+
- Twilioアカウント(WhatsApp API)
- OpenAI APIキー
- Google Cloudプロジェクト(カレンダーAPI)
- Supabaseプロジェクト(ベクトルストア)
インストール
git clone https://github.com/rajveer100704/carbolo-whatsapp-ai-agent
cd carbolo-whatsapp-ai-agent
pip install -r requirements.txt
設定
.envファイルを作成し、以下の環境変数を設定します:
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_token
TWILIO_WHATSAPP_NUMBER=+14155238886
OPENAI_API_KEY=your_openai_api_key
GOOGLE_CALENDAR_CREDENTIALS=path/to/credentials.json
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key
使用方法
python main.py
サーバーが起動したら、TwilioのWebhookをhttps://your-domain.com/webhookに設定します。
アーキテクチャ
User (WhatsApp) → Twilio → Flask Server → FSM Handler → RAG Engine
↓
Google Calendar API
↓
APScheduler (リマインダー)
FSM状態
INITIAL: 会話の開始ASKING_INTENT: ユーザーの意図を確認中QUERYING_INVENTORY: 在庫を照会中BOOKING_TEST_DRIVE: 試乗予約処理中CONFIRMING_APPOINTMENT: 予約確認中END: 会話終了
APIエンドポイント
POST /webhook- Twilioからの受信メッセージGET /health- ヘルスチェック
テスト
pytest tests/
ライセンス
MIT