Verarbeitung von Daten aus dem Internet - Praxisanwendung mit ChatGPT
Kontext:
Der Einsatz von Large Scale Language Models (LLMs) wie ChatGPT sind in der Softwareentwicklung beliebt. Sie unterstützen beim Coden und helfen Fehlermeldungen zu beheben. Dennoch treten gerne Missverständnisse auf, oder der generierte Code funktioniert nicht so wie versprochen.
Durch Optimierung der Eingabeaufforderungen (Prompts) kann das Modell programmiert werden, sich anders zu verhalten und die Antworten besser den Bedürfnissen der Nutzer anzupassen.
Ziel:
Die Arbeit stellt bewährte Prompt Engineering Methoden aus der Literatur vor und wendet diese in einem praktischen Setting an. Die theoretischen Konzepten werden in einer praxisnahen Umgebung auf ihre Nützlichkeit geprüft und bewertet. Zudem wird die Zusammenarbeit mit ChatGPT in der Softwareentwicklung beschrieben und gemachte Erfahrungen verallgemeinert und für andere Anwendungfälle zugänglich gemacht.
Methoden:
Im Rahmen einer Fallstudie wird ein Webcrawler entwickelt, der es erlaubt Daten aus dem Internet automatisiert herunterzuladen, zu verarbeiten und zu speichern. Der Umfang des Projekts ist an einen Prototypen oder einer Machbarkeitsstudie in einer realen Entwicklungsumgebung angelehnt und schafft eine Umgebung, in der wissenschaftliche Methoden angewenden und auf deren Praxistauglichkeit zu untersucht werden können. Das Projekt wird iterativ und in der Programmiersprache JavaScript mithilfe des Opensource Frameworks Node.js durchgeführt.
Ergebnisse:
Durch den Einsatz von erprobten Prompt Engineering Methoden bei der Entwicklung des Webcrawlers wurde ChatGPT so programmiert, dass die Antworten präziser, strukturierter, begründet und reflektiert zurückgegeben werden. Das Sprachmodell wurde verwendet, um Anforderungen zu sammeln, Funktionalitäten zu spezifizieren und begründen, Code zu schreiben und diesen zu kommentieren. Dank strukturiertem Vorgehen und Kenntnisse über die Funktionalität eines Large Language Models wie ChatGPT kann das Potential, das diese Technologie bietet, weiter ausgeschöpft werden.