Dieses Projekt implementiert einen Chatbot, der mit der OpenAI-Schnittstelle verbunden ist und auf Basis von PDF-Dokumenten arbeitet. Es verwendet Vektorisierung und eine Vektordatenbank, um relevante Informationen aus den PDF-Dokumenten zu extrahieren und in seine Antworten zu integrieren.
Die Projektstruktur ist wie folgt aufgebaut:
myTutor/
│── app.py # Streamlit UI
│── config.py # Konfiguration (API-Keys, Parameter)
│── poc_chat.py # Test-Minianwendung (teste API Keys)
│── requirements.txt # Abhängigkeiten
│── start_app.py # Skript zum Starten der Anwendung auf der PDP
│
├── backend/ # Backend-Logik
│ │── __init__.py
│ │── pdf_loader.py # PDF-Dateien laden und Text extrahieren
│ │── text_splitter.py # Texte in sinnvolle Abschnitte chunking
│ │── embedder.py # OpenAI Embeddings für den Kontext
│ │── retriever.py # Ähnlichkeitsabfrage zu den Chunks
│ └── chat.py # Kommunikation mit OpenAI Chat API
│
├── systemprompts/ # Ordner für alle Systemprompts
│ │── system_prompt_bgb.txt # Systemprompt für BIC
│ └── system_prompt_vitara.txt # Systemprompt für Einmalzahlung
│
└── utils/ # Hilfsfunktionen
└── util_functions.py # Sonstige Hilfsfunktionen
Um das Projekt lokal auszuführen, folge diesen Schritten:
git clone https://github.com/moritz-rsth/myTutor.git
cd myTutorpython -m venv venv
source venv/bin/activate # Für Mac/Linux
venv\Scripts\activate # Für Windowspip install -r requirements.txtstreamlit run app.pyHier ist ein Screenshot des Interfaces, um einen Eindruck der Benutzeroberfläche zu vermitteln:
Hauptseite des Chatbots mit Eingabefeld und Antwortbereich.
Wir freuen uns über Beiträge und Verbesserungsvorschläge! Wenn du Ideen hast, wie wir das Projekt verbessern können, oder Fehler gefunden hast, folge diesen Schritten:
- Forke das Repository auf GitHub.
- Erstelle einen neuen Branch für deine Änderungen:
git checkout -b dein-branch-name
- Mache deine Änderungen und committe sie:
git commit -m "Beschreibe deine Änderungen" - Pushe deine Änderungen in dein geforktes Repository:
git push origin dein-branch-name
- Erstelle einen Pull Request im originalen Repository und beschreibe deine Änderungen detailliert.
Falls du Fragen hast oder Hilfe benötigst, öffne einfach ein Issue im Repository. Ich werde uns so schnell wie möglich darum kümmern.