Audio / README.md
norhan12's picture
Upload README.md
b768dad verified
metadata
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):

    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}")