File size: 2,963 Bytes
b768dad |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
---
title: EvalBot - Interview Analysis System
emoji: 🤖
colorFrom: blue
colorTo: green
sdk: docker
app_file: app.py
pinned: false
---
# 🎤 EvalBot: Automated Interview Analysis System
Welcome to EvalBot, your AI-powered solution for comprehensive interview analysis!
EvalBot helps assess candidate performance in interviews by analyzing:
- **Voice Metrics:** Speaking rate, filler words, anxiety, confidence, and fluency.
- **Content Analysis:** Key themes, strengths, and areas for development in responses.
- **Speaker Identification:** Differentiating between interviewer and interviewee.
- **Acceptance Probability:** An estimated likelihood of acceptance based on key performance indicators.
## Features:
- **Audio Analysis:** Provide audio file URLs (WAV, MP3, M4A, FLAC).
- **Detailed PDF Reports:** Get professional, structured reports with key insights and actionable recommendations.
- **REST API Access:** Integrate EvalBot's analysis capabilities into your own applications using a standard REST API.
## How to Use the API:
You can interact with the API using any standard HTTP client, like the `requests` library in Python.
1. **Prepare your request:** The API expects a `POST` request to the `/analyze` endpoint.
2. **Use the API to analyze audio (accepts multiple URLs with user IDs):**
```python
import requests
import json
# The URL of your new FastAPI Space
# Example: "[https://YourUsername-YourSpaceName.hf.space](https://YourUsername-YourSpaceName.hf.space)"
SPACE_URL = "[https://evalbot-evalbot-api.hf.space](https://evalbot-evalbot-api.hf.space)" # <--- UPDATE THIS WITH YOUR NEW SPACE URL
ANALYZE_ENDPOINT = f"{SPACE_URL}/analyze"
# For private spaces, you would get a token and include it in the headers
# HEADERS = {"Authorization": "Bearer hf_..."}
# List of audio items to analyze, each with a URL and a user_id
payload = {
"audio_items": [
{
"url": "[https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav](https://github.com/gradio-app/gradio/raw/main/test/test_files/audio_sample.wav)",
"user_id": "candidate-123"
},
{
"url": "[https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3](https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3)",
"user_id": "candidate-456"
}
]
}
try:
# Send the POST request
response = requests.post(ANALYZE_ENDPOINT, json=payload) #, headers=HEADERS) # Uncomment headers for private space
response.raise_for_status() # Raises an exception for bad status codes (4xx or 5xx)
# Print the results
results = response.json()
print(json.dumps(results, indent=2))
except requests.exceptions.RequestException as e:
print(f"An error occurred while calling the API: {e}")
``` |