AIMLInterviewer / app.py
gk2410's picture
Update app.py
954b038 verified
import streamlit as st
from ocr import extract_screen_text
from stt import transcribe_audio
from interview_engine import generate_question
from evaluation import evaluate_response
# Initialize session state
if "context_store" not in st.session_state:
st.session_state.context_store = ""
st.title("🎤 AI-Driven Automated Project Interviewer")
st.write(
"Upload a screenshot of your project (slides/code/diagrams) and explain it verbally. "
"The AI will ask follow-up questions and provide feedback."
)
# Upload screen image
screen_file = st.file_uploader("Upload Screen / Slide / Code Screenshot", type=["png", "jpg", "jpeg"])
# Upload audio explanation
audio_file = st.file_uploader("Explain Your Project (Audio file)", type=["wav", "mp3", "m4a"])
if st.button("Submit"):
# Process screen
if screen_file is not None:
screen_text = extract_screen_text(screen_file)
st.session_state.context_store += "\n" + screen_text
# Process audio
if audio_file is not None:
student_response = transcribe_audio(audio_file)
# Generate follow-up question
question = generate_question(st.session_state.context_store, student_response)
# Evaluate response
score = evaluate_response(st.session_state.context_store, student_response)
# Display results
st.subheader("AI Interviewer Question:")
st.write(question)
st.subheader("Evaluation & Feedback:")
st.json(score)
else:
st.warning("Please upload an audio explanation to get a question and feedback.")