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

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.

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.

---

![RAG Voice Assistant Demo](https://img.shields.io/badge/LLM-Ollama-blue?style=flat-square)
![Built with Streamlit](https://img.shields.io/badge/Frontend-Streamlit-orange?style=flat-square)
![License](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)

---

## 🚀 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
![image](https://github.com/user-attachments/assets/0ed75a54-c751-47e4-a2c0-1fe5d637c44f)
![image](https://github.com/user-attachments/assets/d45c4579-5b77-4006-b72a-e395d867b9f7)
![image](https://github.com/user-attachments/assets/6461935d-8896-40f8-ae73-4f89787dac94)

---
## 🛠️ 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```

---