https://github.com/arush04/interviewbot

https://github.com/arush04/interviewbot

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: Arush04
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 15.6 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

INTERVIEWBOT

license last-commit repo-top-language repo-language-count


Table of Contents

Overview

❯ Interview Bot is an AI-powered virtual interviewer designed to simulate real-world interview experiences. Built using the OpenAI API for natural language understanding and the Whisper model for speech-to-text transcription, the bot can conduct voice-based interviews, interpret responses, and provide dynamic follow-up questions — much like a human interviewer would.

❯ This project aims to assist job seekers in preparing for interviews by offering realistic, interactive mock sessions. Whether you're practicing for technical, behavioral, or situational questions, Interview Bot adapts in real time to simulate a wide range of interview styles and question flows.

Features

  • 🎤 Audio Input Support
    • Accepts spoken responses via audio file uploads at the /talk endpoint.
    • Uses OpenAI’s Whisper model to transcribe audio into text.
  • 🧠 AI-Powered Interviewer
    • Simulates an AI interviewer using GPT-3.5 Turbo.
    • Asks contextually relevant questions based on user responses.
    • Maintains a consistent persona: Jarvis, interviewing the user Arush.
  • 📂 Session Memory
    • Stores full conversation history in database.json.
    • Uses stored messages to keep the conversation contextual and coherent.
  • 📄 Customizable Interview Prompts
    • Starts with a system prompt tailored for Machine Learning Engineer interviews.
    • Can be easily adapted for other roles by modifying the system prompt.
  • Lightweight & Fast API
    • Built using FastAPI for quick performance and easy integration.
  • 🔒 Environment Variable Configuration
    • Securely manages API keys and organization ID using .env and python-dotenv.
  • 📊 Minimal Dependencies
    • Uses only essential libraries: openai, torch, fastapi, requests, and dotenv.

Project Structure

sh └── InterviewBot/ ├── LICENSE ├── README.md ├── main.py └── requirements.txt

Getting Started

Installation

Install InterviewBot using one of the following methods:

🚀 Build from Source

Follow these steps to set up the development environment locally:

  • Clone the InterviewBot repository:
    git clone https://github.com/Arush04/InterviewBot.git
  • Navigate to the project directory:
    cd InterviewBot
  • Install the project dependencies:
    Using pip   pip badge
    pip install -r requirements.txt
  • Configure your OpenAI credentials:
    Open the main.py file and replace the following with your own keys:
    • openai.api_key → Your OpenAI API Key
    • openai.organization → Your OpenAI Organization ID
  • Create an empty database file:
    In the project root directory, run:
    touch database.json
  • Start the FastAPI server with Uvicorn:
    uvicorn main:app --reload
  • Access the application:
    Visit http://localhost:8000 in your browser.
  • Talk to the bot:
    Send audio files to http://localhost:8000/talk via a client like Postman or Curl.

Project Roadmap

  • [X] Task 1: Implement basic features (TTS using whisper, saving conversations in db).
  • [ ] Task 2: Use open source models for TTS and also understand context from user's experience/resume (RAG).
  • [ ] Task 3: Implement Frontend.

Contributing

Owner

  • Name: Arush Sharma
  • Login: Arush04
  • Kind: user

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Dependencies

requirements.txt pypi
  • fastapi *
  • openai ==0.28
  • python-dotenv *
  • python-multipart *
  • requests *
  • torch *
  • torchaudio *
  • uvicorn *