Skip to content

Sehartariq/RAG-based-oncology-assistant-chatbot

Repository files navigation

🧬 OncoBot – Intelligent Oncology Assistant

OncoBot is an AI-powered, empathetic oncology-focused medical assistant that allows users to:

  • 💬 Ask cancer-related questions in natural language
  • 📄 Upload medical documents for intelligent summarization
  • 🎤 Use voice input for hands-free interaction
  • 🔍 Get answers grounded in uploaded medical knowledge

Built with LangChain, Groq LLM, FAISS, and Gradio, OncoBot combines retrieval-based question answering with a friendly conversational interface.


🌟 Key Features

💬 Conversational Medical Q&A

  • Context-aware responses using Retrieval-Augmented Generation (RAG)
  • Empathetic and professional tone
  • Memory of recent conversation (last 10 interactions)

📚 Multi-Document Support

Upload and process:

  • 📄 PDF
  • 📝 DOCX
  • 📃 TXT
  • 🌐 HTML
  • 🖼️ Images (PNG / JPG / JPEG with OCR)

🧠 Smart Document Understanding

  • Automatic document loading & deduplication
  • Intelligent chunking and cleaning
  • Vector embeddings using HuggingFace sentence transformers
  • FAISS-based similarity search

🧾 Medical Document Summarization

  • Upload a document and receive a clear, easy-to-understand summary
  • Optimized for non-technical users

🎤 Voice Input

  • Ask questions using your voice
  • Speech-to-text powered by Google Speech Recognition

🎨 Modern UI

  • Dark blue medical-themed interface
  • Animated chatbot bubbles
  • Responsive Gradio layout

🏗️ System Architecture (High Level)

  • User Input (Text / Voice / File)
  • Document Loader / Speech Recognition
  • Text Cleaning & Chunking
  • Embedding Generation (HuggingFace)
  • FAISS Vector Store
  • Groq LLM (LLaMA 3.1)
  • Gradio Chat Interface

🛠️ Technologies Used

Category Tools
Language Python
LLM Groq (LLaMA 3.1)
Framework LangChain
Vector Store FAISS
Embeddings sentence-transformers
UI Gradio
OCR Tesseract
Speech SpeechRecognition
Frontend Styling Custom CSS

📂 Project Structure

  • OncoBot/
  • ├── Data/ # Medical documents for indexing
  • ├── vector_index/ # FAISS vector database
  • ├── bot1.png # OncoBot logo
  • ├── project.ipynb # Main application code
  • ├── README.md # Project documentation
  • ├── requirements.txt # Dependencies
  • └── .gitignore # Ignored files

🧪 Example Capabilities

  • “What are the types of leukemia?”
  • “Explain chemotherapy in simple words”
  • Upload a pathology report and get a summary
  • Ask medical questions using your voice

⚠️ Disclaimer

OncoBot is not a replacement for professional medical advice. It is intended for educational and informational purposes only.

Always consult a qualified healthcare professional.

👩‍💻 Developer

  • Developed by: Sehar T.
  • Assistant Name: OncoBot
  • Specialization: Oncology-focused AI assistant

🚀 Future Improvements

  • User authentication
  • Multi-language support
  • PDF highlight-based answers
  • Cloud deployment
  • Explainable AI visualizations

📽️Project Demo

oncobot_demo.mp4

Releases

No releases published

Packages

 
 
 

Contributors