In today's digital health era, there's a growing need for tools that help users make sense of complex medical documents. This is where MedAI Pro comes into play — a streamlined, AI-powered assistant built with Streamlit, CAMEL-AI Agent, and LLaMA 4 via the GROQ-API, designed to interpret and explain PDF-based medical reports in a conversational manner.

In this blog, we’ll break down how the project works, explore the key technologies used, and guide you through how you can run or extend the app yourself.

✨ What is MedAI Pro?
MedAI Pro is a web application where users can upload their medical reports in PDF format, ask natural language questions about the content, and receive both a written and spoken response powered by a Large Language Model.

Key Features:

  1. Upload and parse medical reports in PDF format
  2. Chat interface for asking questions
  3. Text and audio-based responses
  4. Role-based CAMEL-AI agents for contextual answers

🩺 Imagine this... You're a doctor, student, or just someone trying to understand a lab report. You open a 50-page PDF filled with blood work, medical terms, and charts.

You have one question:

“Is the patient’s WBC count normal?”

But you're stuck scanning through paragraphs.

"Imagine asking a question and receiving the answer in just seconds—delivered seamlessly in both text and audio formats. Instant, accurate, and fully interactive!"

🔥 Meet Med-AI Med-AI is a blazing-fast PDF Q&A assistant for medical documents.

Image description

Image description

Image description

🗂 Project Structure
Here’s what the repository contains:

MedAi/
├── app.py                # Streamlit frontend and orchestrator
├── camel_agents.py       # CAMEL-style agent logic with LLaMA 4 and Groq API
├── parse_report.py       # PDF parsing logic using PyMuPDF
├── requirements.txt      # All required Python packages
├── .env                  # For storing API keys securely

🔍 Under the Hood: Code Breakdown
app.py: The Streamlit Web Interface
The main UI and logic control center. It lets users upload a
medical PDF, input a question, and then displays (and plays)
the AI’s response.

  • Streamlit is used to create an intuitive UI

  • PDF Uploading: st.file_uploader() allows users to upload a PDF

  • Parsing: Calls parse_report.py to extract readable text

  • Query Handling: User question and extracted report are sent to
    camel_agents.py

  • Response: Displays the model's answer and converts it to audio
    using gTTS

parse_report.py: Extracting Text from PDF
This module uses PyMuPDF (fitz) to read and extract text from
every page of the uploaded PDF.

import fitz  # PyMuPDF

   def extract_text_from_pdf(file):
       pdf = fitz.open(stream=file.read(), filetype="pdf")
       text = "\n".join(page.get_text() for page in pdf)
       return text

This ensures that medical data is accurately captured for AI processing

camel_agents.py: Role-Based Prompting with CAMEL + LLaMA 4

This module goes beyond traditional prompt engineering and implements a true CAMEL-style role-based agent architecture, using the official CAMEL AI structure — including:

ChatAgent

BaseMessage

RoleTypeonse.

👨‍⚕️ Role: Doctor Agent
Instead of just using raw strings to define prompts, MedAI uses a Doctor agent object with predefined role behavior. Here's how it looks:

doctor = ChatAgent(
    system_message=BaseMessage(
        role_name="Doctor",
        role_type=RoleType.ASSISTANT,
        content="""You are a medical expert. Analyze reports and 
                 provide concise, medically accurate answers. 
                 Focus on lab values, terminology, and 
                conditions. Be factual, not speculative."""
    )
)

⚙️ Model Initialization: LLaMA 4 via Groq with CAMEL’s ModelFactory

The MedAI project leverages CAMEL AI’s modular model factory to connect with the latest LLaMA 4 model hosted on Groq. This is done through the ModelFactory API provided in the CAMEL agent framework.

self.model = ModelFactory.create(
    model_platform=ModelPlatformType.GROQ,
    model_type="meta-llama/llama-4-maverick-17b-128e-instruct"
)

.env: API Security

The .env file stores your Groq API key safely. It’s loaded using python-dotenv

GROQ_API_KEY=your_actual_key_here

🚀 Running the Project

Step 1: Clone the Repo

git clone https://github.com/tushar80rt/MedAi
cd MedAi

Step 2:📦 Installation

camel-ai[all]

PyMuPDF==1.23.9

python-dotenv==1.0.1

streamlit

gTTS==2.5.1

groq

Step 3: Install Dependencies

pip install -r requirements.txt

Step 3: Add Your API Key

Create a .env file with your Groq key:

GROQ_API_KEY=your_api_key

Step 4: Run the App

streamlit run app.py

Visit http://localhost:8501, upload a report, and start asking questions.

🌐 Tech Stack

Frontend: Streamlit

PDF Parsing: PyMuPDF

LLM: LLaMA 4 via Groq API

Prompting Strategy: CAMEL AI-style agents

Audio Output: gTTS

🙌 Final Thoughts

MedAI Pro is a powerful yet minimalistic prototype that combines the power of modern LLMs, voice output, and agent-style prompting to deliver valuable insights from medical reports. By leveraging the CAMEL AI architecture and Groq-hosted LLaMA 4, it sets a strong foundation for future intelligent healthcare tools.

Fork it, run it, and build something impactful.

GitHub: https://github.com/tushar80rt/MedAiAuthor:
Tushar Singh

Have questions or suggestions? Drop a comment or open an issue!