File size: 5,497 Bytes
37f0545
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
048be85
37f0545
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
---
title: TalentTalkPro
emoji: 🎀
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
---

# TalentTalkPro 🎀

AI-powered interview assistant using LangGraph, LangChain, and Google Generative AI for comprehensive interview practice and feedback.

## 🎯 Overview

TalentTalkPro is an advanced AI interview platform that provides realistic interview experiences with intelligent follow-up questions, real-time feedback, and comprehensive performance reports. The system uses multi-agent architecture powered by LangGraph to simulate professional interview scenarios.

## πŸ—οΈ Architecture

The application consists of two main components:

### Backend (FastAPI)
- **Port**: 8000 (internal)
- **Technology**: FastAPI, LangGraph, LangChain
- **Features**: 
  - Multi-agent interview system
  - Real-time speech processing
  - Resume analysis
  - Video behavior analysis
  - Performance evaluation

### Frontend (Streamlit)
- **Port**: 7860 (Hugging Face default)
- **Technology**: Streamlit
- **Features**:
  - Interactive chat interface
  - Audio/video input support
  - Real-time feedback display
  - Performance report visualization

## ✨ Features

- **πŸ€– AI-Powered Interviews**: Intelligent multi-turn conversations with contextual follow-ups
- **πŸ“„ Resume Analysis**: Upload your resume for personalized interview questions
- **πŸŽ™οΈ Voice Interaction**: Record audio responses for a realistic interview experience
- **πŸ“Ή Video Analysis**: Optional video behavior analysis for non-verbal communication feedback
- **πŸ“Š Performance Reports**: Comprehensive evaluation with actionable feedback
- **🎯 Customizable Settings**: Configure difficulty, style, company, and role
- **πŸ”„ Adaptive Follow-ups**: Dynamic follow-up questions based on your responses

## πŸ” Environment Variables

The following environment variables are required:

| Variable | Description | Required |
|----------|-------------|----------|
| `GOOGLE_API_KEY` | Google Generative AI API key for LLM capabilities | βœ… Yes |
| `OPENROUTER_API_KEY` | OpenRouter API key for additional model access | βœ… Yes |
| `ASSEMBLYAI_API_KEY` | AssemblyAI API key for speech-to-text | βœ… Yes |
| `ELEVENLABS_API_KEY` | ElevenLabs API key for text-to-speech | βœ… Yes |
| `DATABASE_URL` | Database connection string | ⚠️ Default: `sqlite+aiosqlite:///./talenttalk.db` |
| `BACKEND_CORS_ORIGINS` | CORS allowed origins | ⚠️ Default: `*` |
| `API_URL` | Frontend API URL for backend connection | ⚠️ Default: `http://localhost:8000/api/v1` |

## πŸš€ Deployment on Hugging Face Spaces

This application is configured for deployment on Hugging Face Spaces using Docker SDK. For detailed deployment instructions, see [DEPLOYMENT.md](./DEPLOYMENT.md).

### Quick Start

1. Fork or clone this repository
2. Create a new Space on [huggingface.co/spaces](https://huggingface.co/spaces)
3. Select Docker SDK
4. Connect your GitHub repository
5. Configure environment variables in Space Settings β†’ Repository Secrets
6. Your Space will automatically build and deploy!

## πŸ’» Local Development

### Prerequisites

- Python 3.11+
- pip or conda

### Setup

1. **Clone the repository**
   ```bash
   git clone https://github.com/ParamJaiswal/TalentTalkPro.git
   cd TalentTalkPro
   ```

2. **Create environment file**
   ```bash
   cp .env.example .env
   # Edit .env and add your API keys
   ```

3. **Install backend dependencies**
   ```bash
   cd backend
   pip install -r requirements.txt
   ```

4. **Install frontend dependencies**
   ```bash
   cd ../frontend
   pip install -r requirements.txt
   ```

5. **Run backend server**
   ```bash
   cd ../backend
   python -m uvicorn app.main:app --reload
   ```

6. **Run frontend (in a new terminal)**
   ```bash
   cd frontend
   streamlit run app.py
   ```

7. **Access the application**
   - Frontend: http://localhost:8501
   - Backend API: http://localhost:8000
   - API Docs: http://localhost:8000/docs

### Local Docker Testing

```bash
# Build the Docker image
docker build -t talenttalkpro .

# Run the container
docker run -p 7860:7860 \
  -e GOOGLE_API_KEY=your_key \
  -e OPENROUTER_API_KEY=your_key \
  -e ASSEMBLYAI_API_KEY=your_key \
  -e ELEVENLABS_API_KEY=your_key \
  talenttalkpro
```

Access at: http://localhost:7860

## πŸ“š API Documentation

Once the backend is running, visit:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc

## πŸ§ͺ Testing

```bash
cd backend
pytest tests/
```

## πŸ› οΈ Technology Stack

- **Framework**: FastAPI, Streamlit
- **AI/ML**: LangGraph, LangChain, Google Generative AI
- **Speech Processing**: AssemblyAI, ElevenLabs
- **Database**: SQLAlchemy with SQLite/PostgreSQL support
- **Async**: asyncio, aiosqlite

## πŸ“– Documentation

- [Deployment Guide](./DEPLOYMENT.md) - Comprehensive deployment instructions
- [API Documentation](http://localhost:8000/docs) - Interactive API docs (when running)

## 🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

## πŸ™ Acknowledgments

- Google Generative AI for powerful language models
- LangChain and LangGraph for agent orchestration
- AssemblyAI for speech recognition
- ElevenLabs for text-to-speech
- Hugging Face for hosting platform

## πŸ“§ Contact

For questions or support, please open an issue on GitHub.

---

Built with ❀️ using AI technologies