A Streamlit-based application that lets users upload or record audio questions, transcribes them using ElevenLabs, retrieves relevant context from documents using RAG, and generates answers with an LLM via Ollama.
Contains the core application modules:
rag_pipeline.py– Loads the vector database, retrieves context chunks, and definesget_llm_response(query)to call the LLM.llm_ollama.py– Handles communication with the Ollama server for LLM inference.stt_elevenlabs.py– Wraps the ElevenLabs Speech-to-Text API to transcribe uploaded or recorded audio.tts_elevenlabs.py– Wraps the ElevenLabs Text-to-Speech API to synthesize audio from text responses.utils.py– Utility functions for configuration loading, file handling, and shared helpers.__init__.py– Marksapp/as a Python package.
Holds sample SIT (System Integration Testing) documents used to build and test the RAG retrieval workflows.
Stores precomputed vector embeddings and context files for fast similarity search during the RAG process.
Specifies files and directories (e.g., virtual environments, temporary uploads) that Git should ignore.
The full text of the MIT License, under which this project is released.
This file—provides an overview and concise descriptions of the repository contents.
Lists all Python dependencies required to run the application (Streamlit, Requests, ElevenLabs & Ollama SDKs, etc.).
The main Streamlit application:
- Audio upload/recording
- STT transcription
- RAG query to the LLM
- TTS playback of the response
A domain-specific variant of streamlit_app.py tailored for medical SIT data and prompts.
A specialized Streamlit script demonstrating end-to-end queries against the SIT dataset.