import gradio as gr | |
from typing import Dict | |
# from src.application.services import InterviewAnalyzer | |
# from src.infrastructure.llm import LangchainService | |
# from src.infrastructure.emotion import DeepFaceService | |
# from src.infrastructure.speech import GoogleSpeechService | |
# class GradioInterface: | |
# def __init__(self): | |
# # Initialize services | |
# self.emotion_service = DeepFaceService() | |
# self.speech_service = GoogleSpeechService() | |
# self.llm_service = LangchainService() | |
# | |
# # Initialize analyzer | |
# self.analyzer = InterviewAnalyzer( | |
# emotion_service=self.emotion_service, | |
# speech_service=self.speech_service, | |
# llm_service=self.llm_service, | |
# ) | |
# | |
# def create_interface(self) -> gr.Interface: | |
# def process_submission( | |
# video_file: str, resume_file: str, job_requirements: str | |
# ) -> Dict: | |
# # Implementation for processing submission | |
# pass | |
# | |
# # Create Gradio interface | |
# interface = gr.Interface( | |
# fn=process_submission, | |
# inputs=[ | |
# gr.Video(label="Interview Recording"), | |
# gr.File(label="Resume"), | |
# gr.Textbox(label="Job Requirements", lines=5), | |
# ], | |
# outputs=gr.JSON(label="Analysis Results"), | |
# title="HR Interview Analysis System", | |
# description="Upload interview recording and resume to analyze candidate performance", | |
# ) | |
# | |
# return interface | |
# Testing to setup the simple interface | |
class GradioInterface: | |
def create_interface(self) -> gr.Interface: | |
def process_submission( | |
video_file: str, resume_file: str, job_requirements: str | |
) -> Dict: | |
# Implementation for processing submission | |
pass | |
# Create Gradio interface | |
interface = gr.Interface( | |
fn=process_submission, | |
inputs=[ | |
gr.Video(label="Interview Recording"), | |
gr.File(label="Resume"), | |
gr.Textbox(label="Job Requirements", lines=5), | |
], | |
outputs=gr.JSON(label="Analysis Results"), | |
title="HR Interview Analysis System", | |
description="Upload interview recording and resume to analyze candidate performance", | |
) | |
return interface | |
def launch_app(): | |
print(gr.__version__) | |
app = GradioInterface() | |
interface = app.create_interface() | |
interface.launch() | |
if __name__ == "__main__": | |
launch_app() | |