https://github.com/samay-jain/voice_assistant_rag_system_using_langchain_and_streamlit
Voice Assistant RAG System using LangChain, Whisper, and Streamlit - A voice-enabled assistant that lets you ask questions by speaking, processes your custom documents, and responds with natural speech. Built with LangChain, Ollama, Whisper, ElevenLabs, and Streamlit.
https://github.com/samay-jain/voice_assistant_rag_system_using_langchain_and_streamlit
ai-assistant document-processing elevenlabs faiss langchain llm ollama python rag retrieval-augmented-generation speech-recognition streamlit text-to-speech voice-assistant whisper
Last synced: 4 months ago
JSON representation
Voice Assistant RAG System using LangChain, Whisper, and Streamlit - A voice-enabled assistant that lets you ask questions by speaking, processes your custom documents, and responds with natural speech. Built with LangChain, Ollama, Whisper, ElevenLabs, and Streamlit.
- Host: GitHub
- URL: https://github.com/samay-jain/voice_assistant_rag_system_using_langchain_and_streamlit
- Owner: samay-jain
- Created: 2025-07-06T16:26:46.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-06T17:22:11.000Z (about 1 year ago)
- Last Synced: 2025-07-06T17:46:22.010Z (about 1 year ago)
- Topics: ai-assistant, document-processing, elevenlabs, faiss, langchain, llm, ollama, python, rag, retrieval-augmented-generation, speech-recognition, streamlit, text-to-speech, voice-assistant, whisper
- Language: Python
- Homepage:
- Size: 367 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎙️ Voice Assistant RAG
> A fully interactive, voice-controlled AI assistant powered by Retrieval-Augmented Generation (RAG), Whisper speech-to-text, and ElevenLabs voice synthesis.
---



---
## 🚀 Features
- 🔍 **RAG-based Q&A**: Ask voice questions, get accurate answers sourced from your documents.
- 🗂️ **Knowledge Base Setup**: Upload `.pdf`, `.txt`, or `.md` files and embed them using local FAISS vector store.
- 🎧 **Whisper Integration**: High-quality speech-to-text transcription using OpenAI's Whisper model.
- 🗣️ **ElevenLabs TTS**: Convert AI responses into realistic voice output.
- 🧠 **Chat Memory**: Keeps track of your conversation context.
- 🖥️ **Streamlit UI**: Clean, interactive web interface — no CLI needed.
---
## Demonstration



---
## 🛠️ Tech Stack
| Layer | Technology |
|------------|-------------------------|
| Frontend | Streamlit |
| LLM | `llama3.2` via Ollama |
| Embedding | `nomic-embed-text` via Ollama |
| Vector DB | FAISS |
| STT | Whisper (`base` model) |
| TTS | ElevenLabs |
---
### Clone the repo and navigate into it
```git clone https://github.com/samay-jain/Voice_Assistant_RAG_System_using_LangChain_and_Streamlit```
### Create and activate virtual environment
```python -m venv venv && source venv/bin/activate # On Windows use: venv\Scripts\activate```
### Install dependencies
```pip install -r requirements.txt```
### Add your ElevenLabs API key in a .env file
```echo "ELEVEN_LABS_API_KEY=your_api_key_here" > .env```
### Pull required Ollama models
```ollama pull llama3.2 && ollama pull nomic-embed-text```
### Run the app
```streamlit run main.py```
---