転職面接のスキル向上を目的とした AI 面接官システムです。実際の転職経験をもとに設計し、LangChain と Streamlit を活用してリアルな面接体験を提供します。
実際のアプリケーション: https://mensetsurollplay-harappa.streamlit.app/
このプロジェクトは、私自身の転職活動での経験と課題をもとに開発しました。転職面接において以下の課題を感じていました:
- 面接の場数が限られており、十分な練習機会がない
- 客観的なフィードバックを得る機会が少ない
- 業界・職種に特化した質問への対策が困難
- 深掘り質問への対応力が不足している
これらの課題を解決し、転職活動中の方々が効果的に面接スキルを向上させることができるシステムとして開発しました。
- 転職活動中の求職者
- 面接に不安を感じている方
- 客観的なフィードバックを求めている方
- 異業界・異職種への転職を検討している方
- ユーザーの年齢、現在の業界・職種、転職希望先を考慮した質問生成
- 経験レベルに応じた適切な質問難易度の調整
- 業界・職種特有の質問への対応
- 初回質問から最大3回までの深掘り質問
- AI による回答評価に基づく適応的な質問生成
- 実際の面接官の口調を再現した自然な質問
- 5つの評価軸(コミュニケーション力、定着性、課題解決力、自走力、スキル)
- 各評価軸での星評価と具体的な改善提案
- 合否判定を含む総合的なフィードバック
- プロンプトの非公開化によるビジネスロジックの保護
- ユーザー個人の API キーを使用したセキュアな実行環境
- Streamlit Cloud Secrets を活用した本番環境での安全な運用
- 面接途中での中断が可能
- プロフィール情報を保持した面接の再開
- 中断時の部分的フィードバック生成
- Streamlit: Web アプリケーション構築
- Python 3.8+: メイン開発言語
- LangChain: LLM アプリケーションフレームワーク
- OpenAI GPT-4o: 質問生成・評価判定・フィードバック生成
- OpenAI GPT-4o-mini: API キー検証用
- Streamlit Cloud: アプリケーションホスティング
- GitHub: ソースコード管理
- Git: バージョン管理
- Python 3.8 以上
- OpenAI API キー(従量課金制)
※プロンプトファイル(prompts.py)は非公開のため、リポジトリをクローンしただけでは動きません。 動作を見たい場合は上記記載の デプロイURL で確認してください。 ローカルで動かしたい場合はsecrets_config.pyファイルを参考にご自身でprompts.pyファイルを作成してください。
-
リポジトリのクローン
git clone https://github.com/harappa8921/mensetsu_rollplay.git cd mensetsu_rollplay -
依存関係のインストール
pip install -r requirements.txt
-
プロンプトファイルの設定
# prompts.py ファイルを作成し、必要なプロンプトを定義 # (詳細は secrets_config.py を参照)
-
アプリケーションの起動
streamlit run rollplay.py
-
ブラウザでアクセス
http://localhost:8501
- OpenAI Platform でAPI キーを取得
- アプリケーション画面で API キーを入力
- 自動的にキーの有効性が検証されます
- 年齢
- 現在の業界・職種
- 転職希望先の業界・職種
- 現在の役割と経験年数
- 自己紹介から開始
- 4つのカテゴリの質問に回答
- 各質問で1~3回深掘り質問
- 面接途中での中断・再開が可能
- 5つの評価軸での詳細評価
- 合否判定
- 具体的な改善提案
- 総合的な面接パフォーマンス分析
- 1回の面接で約10円の API 利用料
- 料金はユーザーの OpenAI アカウントに直接課金
- 回答の長さや利用状況により変動
├── rollplay.py # Streamlit UI メインファイル
├── interview_logic.py # ビジネスロジック(LangChain 処理)
├── secrets_config.py # 設定管理(本番・開発環境対応)
├── prompts.py # プロンプト定義(ローカル開発用、非公開)
├── requirements.txt # Python 依存関係
├── .streamlit/
│ └── secrets.toml # Streamlit Cloud 設定(非公開)
└── .gitignore # Git 除外設定
- プロンプトファイルは公開リポジトリに含まれません
- ユーザーの API キーはセッション終了時に自動削除
- Streamlit Cloud Secrets による安全な本番運用
- LangChain による効率的な LLM チェーン処理
- 段階的な質問生成による適切なトークン使用
- API キー事前検証による失敗の防止
- 直感的な Web インターフェース
- 進捗表示による面接状況の可視化
- 確認ダイアログによる安全な操作
MIT License
転職経験をもとに実用的な面接練習システムを目指して開発しました。フィードバックや改善提案をお待ちしています。