| --- |
| title: Ask PDFi |
| emoji: 🦉 |
| colorFrom: blue |
| colorTo: red |
| sdk: docker |
| pinned: false |
| license: mit |
| --- |
| |
| <div align="center"> |
| <img src="assets/pdfi-avatar.svg" width="160" alt="PDFi Logo"> |
| <h1>PDFi - Intelligenter PDF Assistent</h1> |
| <p><i>Ein smartes RAG-System, entwickelt für die interaktive Analyse von Dokumenten.</i></p> |
| </div> |
|
|
| --- |
|
|
| ## 📝 Projekt-Übersicht |
| Dieses Projekt vereint modernes UI/UX-Design mit leistungsstarker KI-Technologie. Es entstand im Rahmen meiner Spezialisierung zum **Fachinformatiker für Anwendungsentwicklung (FIAE)**. Der Fokus liegt auf einer nahtlosen User Experience, sauberem Branding und einer hochperformanten, lokalen Backend-Architektur auf Basis von Open-Source-Modellen. |
|
|
| ## 🛠️ Tech-Stack |
| * **Frontend:** Streamlit (Custom SVG-Branding & Base64-Injektion für optimierte Performance) |
| * **LLM:** Meta **Llama 3.1 8B Instruct** (GGUF-Quantisierung via `llama-cpp-python`) |
| * **Kontext:** Erweitertes Kontextfenster von **16.384 Token** für komplexe Analysen |
| * **Embeddings:** HuggingFace `all-MiniLM-L6-v2` (Lokal ausgeführt) |
| * **Vektor-Datenbank:** FAISS (In-Memory für blitzschnelle Ähnlichkeitssuche) |
| * **Framework:** LangChain & LangChain-Community |
| * **Infrastruktur:** Nvidia T4 GPU-Beschleunigung (Hugging Face Spaces Docker-Environment) |
|
|
| ## ✨ Kern-Features |
| * 📄 **Präzisions-Retrieval:** Automatisches Text-Splitting mit **Seitenzahl-Metadaten**. PDF'i weiß exakt, auf welcher Seite eine Information steht. |
| * ⚡ **High-Speed Inferenz:** GPU-beschleunigte RAG-Pipeline mit optimierter Retrieval-Tiefe ($k=25$) für fundierte Zusammenfassungen. |
| * 🎨 **Branding & UX:** Eigens entworfenes Maskottchen "PDFi" als optimiertes SVG-Favicon (1:1 Skalierung) für ein konsistentes Interface. |
| * 🔒 **Datensouveränität:** Lokale Inferenz innerhalb des Docker-Containers. Sensible Dokumentendaten verlassen niemals die gesicherte Umgebung. |
|
|
| ## 🏗️ Architektur & Design |
| Die Anwendung folgt dem Prinzip der strikten Trennung zwischen UI-Steuerung und Geschäftslogik. |
|
|
| <div align="center"> |
| <img src="assets/pdfi-uml.svg" alt="PDFi Architektur Diagramm" width="600"> |
| </div> |
|
|
| ## 🚀 Lokale Installation |
|
|
| 1. **Repository klonen:** |
| ```bash |
| git clone [https://huggingface.co/spaces/EX0SHIVA/Ask-PDFi](https://huggingface.co/spaces/EX0SHIVA/Ask-PDFi) |
| cd Ask-PDFi |
| ``` |
|
|
|
|
| 2. **Docker-Build & Start:** |
|
|
| ```bash |
| docker build -t pdfi-app . |
| docker run -p 7860:7860 --gpus all pdfi-app |
| ``` |
|
|
| ## 📖 Roadmap & Status |
| * ✅ **Projekt-Setup & Architekturplanung** |
| * ✅ **Implementierung der RAG-Logik** (`rag_core.py`) |
| * ✅ **UI-Entwicklung & Custom Branding** (`app.py`) |
| * ✅ **Deployment auf Hugging Face Spaces** |
| * ⬜ **Erweiterung um Multi-Dokumenten-Unterstützung** (Future Feature) |
|
|
| --- |
| *Design meets Code. Entwickelt mit Fokus auf Funktionalität und User Experience.* |
|
|