Skip to content

thaoluon/AI_Interviewee_Chatbot

Repository files navigation

Interview Copilot Platform

A RAG-based interview assistant platform that generates accurate answers during interview processes, similar to ntro.io.

Features

  1. Conversation History Answers: Generates context-aware answers based on previous conversation
  2. Resume-Based Knowledge Base: Uses interviewee's resume and profile to provide personalized answers
  3. Pre-Prepared Answer Vault: Provides curated answers for difficult questions (STAR stories, playbooks)
  4. Continuous Learning: Improves through recommendation system based on interview data

Architecture

Runtime Architecture

See runtime-diagram.md for the complete runtime flow diagram.

Offline Improvement Loop

See offline-diagram.md for the continuous learning system.

Complete Documentation

See complete-architecture.md for detailed system design and implementation guide.

Quick Start

Prerequisites

  • Python 3.10+
  • Node.js 18+
  • PostgreSQL (or SQLite for development)
  • OpenAI API key (or Anthropic API key, or use free sentence-transformers)

Backend Setup

  1. Navigate to backend:
cd backend
  1. Create virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r ../requirements.txt
  1. Configure environment:
# Create .env file in backend/ directory
cp .env.example .env
# Edit .env and add your API keys
  1. Run the backend:
python main.py

The API will be available at http://localhost:8000

Frontend Setup

  1. Navigate to frontend:
cd frontend
  1. Install dependencies:
npm install
  1. Run the frontend:
npm run dev

The frontend will be available at http://localhost:3000

Project Structure

.
├── backend/
│   ├── app/
│   │   ├── api/          # API endpoints
│   │   ├── core/          # Configuration and database
│   │   ├── models/        # Database models
│   │   └── services/      # Business logic services
│   └── main.py           # FastAPI application
├── frontend/
│   ├── src/
│   │   ├── components/   # React components
│   │   └── App.jsx       # Main app component
│   └── package.json
├── runtime-diagram.md    # Runtime architecture diagram
├── offline-diagram.md    # Offline improvement diagram
├── complete-architecture.md  # Full documentation
└── requirements.txt      # Python dependencies

API Documentation

Once the backend is running:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

Key Components

Knowledge Sources

  1. Session Memory: Conversation history with timestamps
  2. Resume & Profile KB: User-specific information
  3. Prepared Answer Vault: STAR stories and playbooks
  4. Company/Role Pack: Job-specific context

Core Services

  • Router: Intelligently routes queries to knowledge sources
  • Embedding Service: Converts text to vectors
  • Vector Store: Manages ChromaDB collections
  • LLM Service: Generates answers using GPT-4/Claude
  • Guardrails: Validates and filters outputs
  • Recommendation Engine: Analyzes logs for improvements

Usage Example

  1. Create a user
  2. Upload resume
  3. Add prepared answers
  4. Start an interview session
  5. Ask questions and get AI-generated suggestions
  6. System learns from your actions

Technology Stack

  • Backend: FastAPI, SQLAlchemy, ChromaDB
  • Frontend: React, Vite
  • LLM: OpenAI GPT-4 or Anthropic Claude
  • Embeddings: OpenAI or sentence-transformers
  • Vector DB: ChromaDB (can be swapped for Pinecone, Weaviate, etc.)

License

[Add your license here]

Contributing

[Add contribution guidelines]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors