Projektarbeit Chat Bot

KI-Anwendung mit Python & ChatGPT

Aufgabenstellung

Ziel ist es, eine einfache Anwendung zu entwickeln, die die OpenAI ChatGPT-API nutzt, um Benutzern die Interaktion mit einem KI-gesteuerten Chatbot zu ermöglichen. Die Anwendung sollte Benutzeranfragen entgegennehmen, diese an die ChatGPT-API senden und die Antwort des Chatbots in einer benutzerfreundlichen Oberfläche darstellen.

Projektumfang:

Das Projekt ist auf etwa 20-27 Schulstunden ausgelegt und beinhaltet die Planung, Implementierung und das Testen der Anwendung.

Aufgabenbeschreibung:

  1. Recherche und Planung (4 Stunden)
    • Erforschung der ChatGPT-API-Dokumentation und ihrer Möglichkeiten.
    • Entwurf eines Konzepts für die Benutzeroberfläche und des Interaktionsflusses zwischen Benutzer und KI.
    • Auswahl der geeigneten Werkzeuge und Bibliotheken für die Umsetzung.
    • Das fertige Ergebnis dieses Arbeitsschritts ist ein sogenanntes Lastenheft, welches abgegeben wird und in die Benotung mit einfließt.
  2. Setup des Projekts (3 Stunden)
    • Einrichtung der Entwicklungsumgebung.
    • Anlegen eines neuen Python-Projekts mit entsprechenden Abhängigkeiten.
    • Erstellung der notwendigen API-Schlüssel und Authentifizierungsmechanismen für die Nutzung der ChatGPT-API.
  3. Implementierung der API-Anbindung (5 Stunden)
    • Programmierung der Schnittstelle zur ChatGPT-API.
    • Implementierung der Logik für das Senden von Anfragen und das Empfangen von Antworten.
  4. Entwicklung der Benutzeroberfläche (5 Stunden)
    • Gestaltung einer einfachen, aber intuitiven Benutzeroberfläche, die auf Web- oder Konsolenbasis funktionieren kann.
    • Implementierung der Benutzereingabe und Anzeige der Chat-Antworten.
  5. Integration und Tests (4 Stunden)
    • Zusammenführung der API-Anbindung und der Benutzeroberfläche.
    • Durchführung von Funktionstests zur Überprüfung der Kommunikation mit der ChatGPT-API und der Benutzerinteraktion.
  6. Dokumentation und Abschluss (3 Stunden)
    • Anfertigung einer Benutzerdokumentation, die die Installation und Bedienung der Anwendung erklärt.
    • Reflektion über das Projekt und Dokumentation der gelernten Inhalte und der gemachten Erfahrungen.
    • Optional: Vorbereitung einer kurzen Präsentation des Projekts.
  7. Extras (3 Stunden)
    • Erweiterung der Anwendung um zusätzliche Funktionen, wie z. B. das Speichern von Chatverläufen oder die Anpassung der Antwortstile.
    • Untersuchung und Implementierung zusätzlicher Sicherheitsmaßnahmen, wie z. B. die Validierung von Benutzereingaben.

Werkzeuge:

  • !!! ACHTUNG !!!
    • Den API-Schlüssel nicht auf GitHub speichern, oder veröffentlichen, da OpenAI dies erkennt und den Schlüsse sofort entwertet. Das bedeutet, dass der Schlüssel nicht mehr nutzbar ist, wenn dieser öffentlich wird.
  • Verwendung von ChatGPT ist erlaubt
api_key = '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'

Zu liefernde Ergebnisse:

  • Quellcode der Anwendung: Ablage im Info2-Ordner >> Python >> „Prüfungsaufgaben“
  • Eine schriftliche Dokumentation, welche die Anwendung und ihre Nutzung beschreibt.
  • Ein kurzes Reflexionsdokument, das die Herausforderungen und Lernerfahrungen des Projekts darlegt.

Benotung:

Die Projektnote hat die Gewichtung einer Klausur