interview-guide(AI面接ガイド)

AI/ML

概要

このリポジトリは「智能 AI 面试官平台」を実現するサンプルプロジェクトで、バックエンドに Spring Boot 3.3 と Java 21、Spring AI を採用し、データ層は PostgreSQL(pgvector を利用したベクトル検索)を中心に構成されています。ファイルストレージに RustFS、キャッシュやセッションに Redis を用い、フロントエンドは React + TypeScript として、履歴書のインポート・解析、AI による模擬面接、知識ベースを用いたRAG検索などをワンストップで試せます。実務的なアーキテクチャと最新ライブラリの使い方を学べる教材的リポジトリです。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 44
  • フォーク数: 11
  • ウォッチャー数: 44
  • コミット数: 30
  • ファイル数: 10
  • メインの言語: Java

主な特徴

  • 最新スタック:Java 21、Spring Boot 3.3、Spring AI を活用したモダンな実装。
  • AI機能:履歴書の自動解析、AI 模擬面接、対話形式の評価やフィードバック機能を提供。
  • ベクトル検索とRAG:PostgreSQL + pgvector による埋め込み検索で知識ベース検索を実現。
  • 実務的な構成:RustFS によるファイル管理、Redis を用いたキャッシュで性能と運用性を考慮。

技術的なポイント

このプロジェクトは「実用的なAI面接プラットフォーム」を目指したアーキテクチャが特徴です。入力となる履歴書や面接ログはまずファイルストレージ(RustFS)に保存され、必要に応じてテキスト抽出と前処理が行われます。Spring AI を介して外部 LLM(OpenAI 等)へプロンプトを送り、履歴書解析や模擬面接の対話生成、回答評価を実施します。解析結果や面接ログ、埋め込みベクトルは PostgreSQL に格納され、pgvector を使った類似検索で RAG(Retrieval-Augmented Generation)を実現。これにより過去の面接データや知識ベースを参照した応答生成が可能です。Redis は短期キャッシュ、セッション管理、スコアリング結果の高速取得に用いられ、レスポンス性能を補強します。フロントエンドは React + TypeScript で実装され、リアルタイムな対話 UI や結果の可視化を担当。設計上はマイクロサービスを強制せず、モノリシックな Spring アプリケーションに必要なモジュールを適切に分離しているため、学習用途からプロダクションへの移行まで段階的に拡張できます。セキュリティ面では、外部 LLM キーの安全管理、アップロードファイルの検査、DB のアクセス制御が実務での考慮点になります。全体として「埋め込み→検索→生成」の典型的な RAG パイプラインを最新技術で学べる教材的価値が高いリポジトリです。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitattributes: file
  • .gitignore: file
  • LICENSE: file
  • README.md: file
  • app: dir
  • Dockerfile: file
  • docker-compose.yml: file
  • src: dir
  • frontend: dir
  • scripts: dir

…他 5 ファイル

まとめ

学習用途と実践性を両立した、RAG+AI面接の実例リポジトリです。(約50字)

リポジトリ情報: