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