Skip to content

Cann65/MedGPT-RAG

Repository files navigation

RAGCare - Privacy-First Medical AI Assistant

License: MIT Python 3.9+ React

Ein lokal lauffΓ€higer, datenschutzfreundlicher "Online-Arzt", der Patientenanfragen mit Retrieval-Augmented Generation (RAG) analysiert und relevante medizinische Informationen bereitstellt.

🎯 Features

  • πŸ”’ Privacy-First: Alle Daten werden lokal verarbeitet (DSGVO-konform)
  • πŸ“ Patientenakten-Management: Upload und Analyse von PDF, TXT, DOCX, Markdown
  • πŸ’¬ Intelligenter Chat: RAG-basierte Antworten mit Quellenangaben
  • 🌐 Hybrid-Modus: Lokale Verarbeitung + optionale externe APIs
  • βš™οΈ Benutzerfreundliche Konfiguration: VollstΓ€ndig ΓΌber Browser steuerbar
  • πŸš€ Einfaches Deployment: Docker Compose fΓΌr lokalen Betrieb

πŸ—οΈ Architektur

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   React Frontend │◄──►│  FastAPI Backend │◄──►│   ChromaDB      β”‚
β”‚   (Port 3000)   β”‚    β”‚   (Port 8000)   β”‚    β”‚ Vector Database β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                               β–Ό
                     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                     β”‚ External APIs   β”‚
                     β”‚ (Symptoma, WHO) β”‚
                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Schnellstart

Voraussetzungen

  • Docker & Docker Compose
  • Node.js 18+ (fΓΌr lokale Frontend-Entwicklung)
  • Python 3.9+ (fΓΌr lokale Backend-Entwicklung)

Installation

  1. Repository klonen
git clone <repository-url>
cd MedGPT-RAG
  1. Umgebungsvariablen konfigurieren
cp config/.env.example config/.env
# Bearbeite config/.env mit deinen API-Keys
  1. System starten
docker-compose up -d
  1. Browser ΓΆffnen

πŸ“– Verwendung

1. Patientenakte hochladen

  • Navigiere zu "Dokumente verwalten"
  • Lade PDF, TXT, DOCX oder Markdown-Dateien hoch
  • System analysiert automatisch den Inhalt

2. Medizinische Fragen stellen

  • Γ–ffne den Chat-Bereich
  • Stelle Fragen wie: "Ich habe Fieber und war kΓΌrzlich in Indien"
  • Erhalte Antworten mit Quellenangaben aus deiner Akte

3. Konfiguration anpassen

  • WΓ€hle zwischen lokalen Modellen und Cloud-APIs
  • Aktiviere/Deaktiviere externe Quellen
  • Stelle Datenschutz-Level ein

πŸ› οΈ Entwicklung

Backend entwickeln

cd backend
python -m venv venv
source venv/bin/activate  # Linux/Mac
pip install -r requirements.txt
uvicorn api.main:app --reload --host 0.0.0.0 --port 8000

Frontend entwickeln

cd frontend
npm install
npm start

Tests ausfΓΌhren

# Backend Tests
cd backend && python -m pytest

# Frontend Tests
cd frontend && npm test

πŸ“ Projektstruktur

MedGPT-RAG/
β”œβ”€β”€ backend/                 # FastAPI Backend
β”‚   β”œβ”€β”€ api/                # API Endpoints
β”‚   β”œβ”€β”€ core/               # Core Business Logic
β”‚   β”œβ”€β”€ services/           # External Services
β”‚   β”œβ”€β”€ models/             # Pydantic Models
β”‚   └── utils/              # Utilities
β”œβ”€β”€ frontend/               # React Frontend
β”‚   └── src/
β”‚       β”œβ”€β”€ components/     # React Components
β”‚       β”œβ”€β”€ pages/          # Page Components
β”‚       β”œβ”€β”€ hooks/          # Custom Hooks
β”‚       └── utils/          # Frontend Utilities
β”œβ”€β”€ config/                 # Configuration Files
β”œβ”€β”€ data/                   # Data Storage
β”‚   β”œβ”€β”€ uploads/            # Uploaded Documents
β”‚   └── vectordb/           # Vector Database
β”œβ”€β”€ docs/                   # Documentation
└── tests/                  # Test Files

Hinweis zu data/:
Der Ordner data/ enthÀlt im Repository ausschließlich Platzhalterdateien (.gitkeep).
Hochgeladene Dokumente, Vektordatenbanken und lokale Datenbanken werden nicht versioniert
und verbleiben ausschließlich auf dem lokalen System.

πŸ”§ Konfiguration

Umgebungsvariablen (config/.env)

# Basis-Konfiguration
API_HOST=0.0.0.0
API_PORT=8000
FRONTEND_PORT=3000

# Datenschutz-Modus
PRIVACY_MODE=true  # true = nur lokal, false = mit externen APIs

# AI-Modell Konfiguration
OPENAI_API_KEY=your_openai_key_here
ANTHROPIC_API_KEY=your_anthropic_key_here
DEFAULT_MODEL=gpt-4

# Vector Database
CHROMA_PERSIST_DIRECTORY=./data/vectordb

# Externe APIs
SYMPTOMA_API_KEY=your_symptoma_key
WHO_API_ENDPOINT=https://api.who.int

πŸ”’ Datenschutz & Sicherheit

  • Lokale Verarbeitung: Alle sensiblen Daten bleiben auf deinem System
  • DSGVO-Konform: Keine ungewollte DatenΓΌbertragung
  • VerschlΓΌsselung: Lokale Datenbank-VerschlΓΌsselung verfΓΌgbar
  • Audit-Log: VollstΓ€ndige Nachverfolgung aller Operationen

🀝 Mitwirken

  1. Fork das Repository
  2. Erstelle einen Feature-Branch (git checkout -b feature/AmazingFeature)
  3. Committe deine Γ„nderungen (git commit -m 'Add some AmazingFeature')
  4. Push zum Branch (git push origin feature/AmazingFeature)
  5. Γ–ffne eine Pull Request

πŸ“„ Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe LICENSE fΓΌr Details.

⚠️ Haftungsausschluss

Dieses System dient nur zu Informationszwecken und ersetzt keine professionelle medizinische Beratung, Diagnose oder Behandlung. Konsultiere immer einen qualifizierten Arzt fΓΌr medizinische Fragen.

πŸ™ Danksagungen

  • FastAPI fΓΌr das Backend-Framework
  • ChromaDB fΓΌr die Vektor-Datenbank
  • LangChain fΓΌr RAG-Implementierung
  • React fΓΌr das Frontend-Framework

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors