https://github.com/20mup/ai-receptionist
Voice-enabled AI receptionist powered by Whisper, LangChain, and ElevenLabs β trained on company-specific data scraped from Systems Limited.
https://github.com/20mup/ai-receptionist
ai elevenlabs internship langchain streamlit whisper
Last synced: 2 months ago
JSON representation
Voice-enabled AI receptionist powered by Whisper, LangChain, and ElevenLabs β trained on company-specific data scraped from Systems Limited.
- Host: GitHub
- URL: https://github.com/20mup/ai-receptionist
- Owner: 20mup
- Created: 2025-06-23T18:38:04.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-23T19:57:59.000Z (about 1 year ago)
- Last Synced: 2025-06-23T20:34:30.522Z (about 1 year ago)
- Topics: ai, elevenlabs, internship, langchain, streamlit, whisper
- Language: Python
- Homepage:
- Size: 1.27 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π€ AIVA β AI Voice Assistant for Enterprises
> Voice-powered receptionist built with Whisper, LangChain, FAISS, and ElevenLabs β built during my internship at Systems Limited.
AIVA (AI Voice Assistant) is a voice-interactive AI receptionist that can answer company-specific questions by listening to your voice, retrieving accurate info from real webpages, and responding with natural speech.
---
## πΊ Demo
[](https://youtu.be/_fyLJ0vlOlo)
---
## π Why I Built This
During my internship at Systems Limited, I saw an opportunity to bring generative AI to a real business use case: reception and onboarding. I pitched AIVA as a solo project to my manager and VP β and after 4 weeks of development, I presented it to 60+ employees and the President of IT.
---
## β¨ Features
- ποΈ Voice-to-voice interaction (ask a question, hear a reply)
- π Trained on 100+ webpages scraped from systemsltd.com
- π§ LangChain + GPT-3.5 for accurate retrieval and context
- π£οΈ ElevenLabs voice output with natural tone
- π» Built in Streamlit β no setup, just run and speak
---
## π§° Tech Stack
| Purpose | Tools Used |
|-------------------|------------------------------------|
| Speech-to-Text | [Whisper](https://github.com/openai/whisper) (OpenAI) |
| Knowledge Retrieval | FAISS + LangChain |
| Text-to-Speech | [ElevenLabs](https://www.elevenlabs.io) |
| Interface | Streamlit |
| Language Model | GPT-3.5 (via LangChain) |
| Web Scraping | BeautifulSoup |
---
## π§ How It Works
1. **Scrape company content** β chunk into documents
2. **Embed content using OpenAI embeddings + FAISS index**
3. **Capture voice via Whisper**, convert to text
4. **Query LangChainβs retrieval chain** β generate response
5. **Use ElevenLabs** to speak the result out loud
6. **Streamlit UI** glues the entire experience together
---
## π Project Structure
```bash
ai-receptionist/
βββ app/
β βββ main.py # Streamlit UI
β βββ chatbot.py # LangChain logic
β βββ audio.py # Whisper + ElevenLabs integration
β βββ st_custom_components/ # Custom JS audio recorder
β βββ utils/
β βββ scraper_example.py
β βββ concatenate.py
βββ new_faiss_index/ # Saved FAISS vector index
βββ requirements.txt
βββ .env.example
βββ README.md
```
---
## π Setup Instructions
1. **Clone the repo**
```bash
git clone https://github.com/20mup/ai-receptionist
cd ai-receptionist
```
2. **Create a virtual environment**
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. **Install dependencies**
```bash
pip install -r requirements.txt
```
4. **Add your API keys to `.env`**
```
OPENAI_API_KEY=your-openai-key
ELEVENLABS_API_KEY=your-elevenlabs-key
```
5. **Run the app**
```bash
streamlit run app/main.py
```
---
## π€ Credits
Developed by [Mousa Pirzada](https://www.linkedin.com/in/mousa-pirzada/)
Internship: Systems Limited β Cloud & Infrastructure Division
Special thanks to my mentors and VP for trusting me with this initiative.
---
> _From static FAQs to fluent conversations β AIVA makes companies sound smarter._