Multimodal Agentic RAG System
This application implements a Retrieval-Augmented Generation (RAG) system that combines audio transcription, vector database storage, and CrewAI Flows for orchestrated processing. The system allows users to ingest multimodal data (audio, text) into a vector database and then query it using voice input.
We use:
- CrewAI Flows for orchestrated processing
- AssemblyAI for audio transcription
- Milvus for vector database storage
- OpenAI for embeddings and LLM
Setup and Installation
Ensure you have Python 3.10 or later installed on your system.
Install dependencies:
bash
pip install -r requirements.txtStart Milvus using Docker:
bash
docker-compose up -dCopy .env.example to .env and configure the following environment variables:
ASSEMBLYAI_API_KEY=your_assemblyai_api_key_here
OPENAI_API_KEY=your_openai_api_key_hereRun the application:
bash
python main.pyUsage
- Data Ingestion: Place your data (audio, text files) in the
data/directory - System Setup: The system automatically processes and stores data in the vector database
- Voice Input: Record your voice query using the microphone
- Audio Transcription: AssemblyAI transcribes your voice to text
- Vector Search: OpenAI generates embeddings and searches Milvus vector database
- Research Agent: CrewAI Research Agent analyzes search results and finds relevant information
- Response Agent: CrewAI Response Agent synthesizes information into comprehensive answer
- Final Response: View the agent-generated response based on your knowledge base
📬 Stay Updated with Our Newsletter!
Get a FREE Data Science eBook 📖 with 150+ essential lessons in Data Science when you subscribe to our newsletter! Stay in the loop with the latest tutorials, insights, and exclusive resources. Subscribe now!
