Skip to content

Auto Interviewer is a self-sustaining interview agent that conducts interviews, evaluates candidates, and updates a SQLite database and Google Sheets concurrently. It utilizes threading, a queue system, and an observer pattern for efficient parallelization and automatic notification of evaluators.

Notifications You must be signed in to change notification settings

olololoe110399/auto_interview

Repository files navigation

Auto interview and evaluation parallel system

Description

Auto Interviewer is an autonomous interview agent which can perform interviews for any position. It has two processes which run in parallel to interview and evaluate and write to database in parallel asynchronously. It features threading for parallelization a queue system and observer pattern for automatic notification of the evaluator of every Q and A pairs. It writes to a sqlite database and save on gg sheets.

Features

  • Interviewer
  • Evaluator
  • Database local
  • Google Sheets
  • Threading
  • Queue
  • Observer Pattern
  • streamlit

Environment

  • Python 3.10.13

Installation

Requires

pip install -r requirements.txt

Before Deployment:

  • Config .streamlit/secrets.toml file
  • Create a google service account and download the json file and config the .streamlit/secrets.toml file with the path to the json file.
  • Create a google sheet and share it with the email in the json file.
  • Create a .streamlit/secrets.toml file and add the following:
[connections.gsheets]
spreadsheet = "https://docs.google.com/spreadsheets/d/xxx/edit#gid=0"
type = "service_account"
project_id = "chat-with-gg-meet"
private_key_id = "xxx"
private_key = "xxx"
client_email = "xxx@xxx.iam.gserviceaccount.com"
client_id = "xxx"
auth_uri = "https://accounts.google.com/o/oauth2/auth"
token_uri = "https://oauth2.googleapis.com/token"
auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs"
client_x509_cert_url = "xxx"

Run app ⛄️

Run cli app:

python main.py

Run app with streamlit:

streamlit run app.py
# OR
sh bin/start.sh

Run with Docker 🐳

Docker build and run with Dockerfile:

docker build -t auto_interview_app .       # Build the docker image
docker run -p 5001:5001 auto_interview_app # Run the docker image

Run with docker-compose:

docker compose up --build -d

About

Auto Interviewer is a self-sustaining interview agent that conducts interviews, evaluates candidates, and updates a SQLite database and Google Sheets concurrently. It utilizes threading, a queue system, and an observer pattern for efficient parallelization and automatic notification of evaluators.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published