{"id":24583770,"url":"https://github.com/assemblyai-solutions/lemur-interview-analysis","last_synced_at":"2025-03-17T17:25:11.830Z","repository":{"id":225400922,"uuid":"764873219","full_name":"AssemblyAI-Solutions/lemur-interview-analysis","owner":"AssemblyAI-Solutions","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-31T00:11:55.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-24T04:53:32.027Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AssemblyAI-Solutions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-28T21:35:34.000Z","updated_at":"2024-10-31T00:11:59.000Z","dependencies_parsed_at":"2024-03-01T22:24:07.933Z","dependency_job_id":"e1535eae-2a23-4403-815d-067abb1190e6","html_url":"https://github.com/AssemblyAI-Solutions/lemur-interview-analysis","commit_stats":null,"previous_names":["assemblyai-solutions/lemur-interview-analysis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI-Solutions%2Flemur-interview-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI-Solutions%2Flemur-interview-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI-Solutions%2Flemur-interview-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AssemblyAI-Solutions%2Flemur-interview-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AssemblyAI-Solutions","download_url":"https://codeload.github.com/AssemblyAI-Solutions/lemur-interview-analysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244076052,"owners_count":20394047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-24T04:53:41.149Z","updated_at":"2025-03-17T17:25:11.805Z","avatar_url":"https://github.com/AssemblyAI-Solutions.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interviewer Audit and Candidate Assessment\n\nThis script uses AssemblyAI, a transcription API, to assess the quality of job interviews by separately evaluating both the interviewer and the candidate's performance. The result of the analysis is displayed with the Streamlit library, an easy-to-use tool that helps to create custom web apps for machine learning and data science projects.\n\n## Features\n\n- Transcribes an interview file (audio/video).\n- Parses the transcript to assess interviewer and candidate’s performance.\n- Calculates a quality score based on the assessment.\n- Displays the assessment result and quality score using Streamlit.\n \n## Usage\n\nRun the python script in your terminal. Open your browser and navigate to the indicated IP address. \n\n- Enter your AssemblyAI API key on Streamlit interface which is for accessing the AssemblyAI services. \n- You have three options to provide the interview transcript: \n - Enter the id of the transcript if you already have it.\n - Enter URL of the interview file (audio/video).\n - Upload the file from your local system.\n- Input job description and skills as per the job profile. \n- Click on 'Submit' and the analysis will be displayed on the screen. \n\n## Functions\n\n- `transcribe_file(file)`: Transcribes the interview file and returns the transcript id.\n- `candidate_quality_assessment(transcript_id, jd, skills)`: Rates the candidate's responses to the questions asked based on a set rubric and returns a string in JSON format. \n- `interviewer_quality_assessment(transcript_id, jd, skills)`: Evaluate the relevance of interviewer's questions based on a set rubric and returns a string in JSON format.\n- `parse_json(response_string)`: Parses the output assessed quality to a Python format.\n- `calculateQualityScore(arr)`: Calculates the quality score based on the grade obtained in the assessment.\n\nNote: Both `candidate_quality_assessment` and `interviewer_quality_assessment` functions generate a task using `lemur.task()` to the AssemblyAI servers by passing `prompt` message and return the response asynchronously. \n\n## Dependencies\n\nThis script requires Python and the following Python libraries installed:\n\n- assemblyai\n- concurrent.futures\n- json\n- os\n- re\n- streamlit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassemblyai-solutions%2Flemur-interview-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fassemblyai-solutions%2Flemur-interview-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassemblyai-solutions%2Flemur-interview-analysis/lists"}