Skip to content

moritz-rsth/my-tutor

Repository files navigation

🎓 myTutor

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.

Projektstruktur

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

Installation

Um das Projekt lokal auszuführen, folge diesen Schritten:

1. Repository klonen:

git clone https://github.com/moritz-rsth/myTutor.git
cd myTutor

2. Virtuelle Umgebung erstellen (optional, aber empfohlen):

python -m venv venv
source venv/bin/activate  # Für Mac/Linux
venv\Scripts\activate     # Für Windows

3. Abhängigkeiten installieren:

pip install -r requirements.txt

4. Anwendung starten:

streamlit run app.py

Interface

Hier ist ein Screenshot des Interfaces, um einen Eindruck der Benutzeroberfläche zu vermitteln: Hauptseite des Chatbots mit Eingabefeld und Antwortbereich. Hauptseite des Chatbots mit Eingabefeld und Antwortbereich.

Beiträge & Verbesserungsvorschläge

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:

  1. Forke das Repository auf GitHub.
  2. Erstelle einen neuen Branch für deine Änderungen:
    git checkout -b dein-branch-name
  3. Mache deine Änderungen und committe sie:
    git commit -m "Beschreibe deine Änderungen"
  4. Pushe deine Änderungen in dein geforktes Repository:
    git push origin dein-branch-name
  5. 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.

About

a simple Streamlit Chat-Bot with PDF-chunking and OpenAI-API

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages