An open API service indexing awesome lists of open source software.

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.

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

[![Watch on YouTube](https://img.shields.io/badge/Watch%20Demo-YouTube-red?logo=youtube)](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._