Skip to main content

AI-powered technical interview simulator with adaptive questioning and evaluation

Project description

LLM-based Survey System with TTS and STT

This project provides a fully working web-based survey system utilizing multiple Large Language Models (LLM), Text-to-Speech (TTS), and Speech-to-Text (STT) technologies, as specified in the Technical Requirements. It is designed to allow administrators to configure models (both via private APIs and downloadable open-source models) easily using a Streamlit admin interface, while end users can participate in surveys through a friendly user interface.

Features

  • LLM (Language Models):
    • OpenAI, Claude, Mistral, Yandex LLM, Gigachat, Llama (via Hugging Face)
  • TTS (Text-to-Speech):
    • Edge TTS, Google Cloud TTS, Amazon Polly, ElevenLabs, API integrations
  • STT (Speech-to-Text):
    • Whisper, Vosk, Google Cloud Speech-to-Text, Amazon Transcribe, API integrations
  • SQL Database (SQLite by default)
  • Streamlit Interfaces:
    • pages/admin_interface.py — for administration
    • pages/user_interface.py — for end users
  • Flexible question generation and editing
  • LLM-based scoring and feedback
  • Voice and text answers
  • Statistics and comparison of LLM vs human scores
  • Interactive charts (Plotly)
  • Parallel user sessions supported

Requirements

Installation

  1. Clone the repository (or generate from the creation script).
  2. Navigate to the project root directory.
  3. Install the required packages:
    pip install -r requirements.txt
    
  4. (Optional) Install the package locally:
    pip install .
    
  5. (Optional) You may need to download large open-source models (e.g., Llama, Vosk) before first run.

Usage

Admin Interface

streamlit run app.py

The main page will open; select "Admin Interface".

  • Admin login is required (ADMIN_PASSWORD environment variable, default is admin).

User Interface

On the main page, select "User Interface".

  • The user enters their first and last name, selects a test, and takes the survey.

Project Structure

  • src/
    • llm/ — LLM integrations (OpenAI, Claude, Mistral, Yandex, Llama, etc.)
    • tts/ — TTS integrations (Edge, Google, Amazon, ElevenLabs, etc.)
    • stt/ — STT integrations (Whisper, Vosk, Google, Amazon, etc.)
    • utils/ — Utilities (question manager, statistics, audio, etc.)
    • database/ — Database models and handler
    • main.py — Library entry point
  • pages/
    • admin_interface.py — Streamlit admin interface
    • user_interface.py — Streamlit user interface
  • tests/ — Unit tests
  • requirements.txt — Python dependencies
  • setup.py — Installation script
  • README.md — Project documentation

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_interviewer-0.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_interviewer-0.1.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file ai_interviewer-0.1.0.tar.gz.

File metadata

  • Download URL: ai_interviewer-0.1.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/24.5.0

File hashes

Hashes for ai_interviewer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0b9b64f26dea07948abc3ebbc5a0bd130ef7b3fc6b89036619799ce0c212217a
MD5 b9677ad55a576c2c2bc0b0b998b18c7b
BLAKE2b-256 a19ed4070e6847982d83b75e0f337e651e9dae667126c12684e9a448dfbe0c62

See more details on using hashes here.

File details

Details for the file ai_interviewer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: ai_interviewer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/24.5.0

File hashes

Hashes for ai_interviewer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 896012719463e67de471bc0cfa667340cecbcdfce312f42f19868f9ef844f348
MD5 0a2dce203b65443c0d27911cd1e596d6
BLAKE2b-256 efbfa527cdc292e7c94df081387afe21bfd6e2ff50ac98dabdef58713d010dbb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page