ChatBot wie ChatGPT programmieren? (Einfacher)?
Hi, mein großes Projekt für dieses Jahr soll sein, einen intelligenten ChatBot zu Coden. Ähnlich wie ChatGPT, aber mit ist natürlich bewusst, dass ich einen so komplexen Bot nicht machen kann. Es soll ein kleinerer werden.
Meine Vorstellungen:
Die Oberfläche mit HTML und CSS
Die Datenbank mit SQL? (ich habe wenig Erfahrung mit Datenbanken, deshalb das Fragezeichen)
Ansonsten die Logik eventuell mit JS, aber eventuell mit etwas anderem, da man ja über JS leicht Schadsoftware injizieren kann.
Könnt ihr mir da einen Vorschlag machen?
Die Funktion habe ich mir so vorgestellt:
In einer Datenbank sind entweder Schlüsselwörter oder komplette Antworten gespeichert. Zu jedem Schlüsselwort sollen Daten gespeichert sein. Wenn in der Datenbank nur Schlüsselwörter gespeichert sind, soll der Bot automatisch Sätze dazu formulieren.
Ein Beispiel:
Eingegebene Frage: Wer ist der Bundeskanzler von Deutschland?
(Bot Sicht spezielle Wörter im Text, z.B. Bundeskanzler und Deutschland)
in der Datenbank: Olaf Scholz (Daten zu ihm, Schlüsselwörter wann diese Antwort genutzt wird) z.B. Olaf Scholz (deutscher Kanzler, männlich, …)[Bundeskanzler+Deutschland, Olaf Scholz, Scholz]
In dem runden Klammern die Daten zu ihm, in den eckigen die Schlüsselwörter, wann die Antwort genutzt wird. Ansonsten halt vorgefertigte Antworten, die sich auch an Schlüsselwörtern in der Frage orientieren.
Wenn nur Wörter gespeichert sind, dann soll er sich einen Satz drumherum bauen.
Ich würde ihn im Browser laufen lassen, aber nicht öffentlich. Eventuell kann man ihn auch mit Google verknüpfen… auch wenn dann vermutlich die ein oder andere Antwort falsch ist. Aber das macht bei meinem nichts. Was haltet ihr davon? Wie würdet ihr es umsetzen? Welche Sprache? Eventuell ein paar Zeilen Code für bestimmte Funktionen?
LG
8 Antworten
Sorry aber von so einem komplexen Vorhaben würde ich dir abraten, da das Ergebnis immer nur sehr mangelhaft wäre. Selbst so ein eingeschränkter ChatBot, wie du ihn vor hast, müsste noch deutlich komplexer werden als du dir vorstellst, um einigermaßen brauchbare Ergebnisse zu liefern.
Nehmen wir nur mal dein Beispiel. Was passiert, wenn ich folgendes frage:
Wer war der erste Bundeskanzler von Deutschland?
oder
Wer war alles vor Olaf Scholz Bundeskanzler von Deutschland?
Eigentlich einfache Fragen, die sich aber nur schwer für regelbasierte ChatBots beantworten lassen.
Ich würde mir ein anderes – einfacheres – Projekt suchen. Deine Herangehensweise zeigt, dass du noch nicht viel Erfahrung darin hast (ist nicht böse gemeint) und da ist es nicht sinnvoll, mit einem sehr komplexen System anzufangen, was deine Kenntnisse definitiv überfordert.
Was ist, wenn ich es ohne Datenbank nur mit Google verknüpfe und er die Fragen einfach durch das Internet jagt. Das wäre zwar kein intelligenter Bot, aber für mich wäre es trotzdem schon sehr toll.
Du willst also die Google-Suche nachbauen? Was soll das bringen?
Ja, eventuell am Anfang mit einer Minidatenbank für sehr häufige Fragen…
An meinen Beispielen habe ich dir doch gezeigt, dass es kaum möglich ist, Fragen einfach zu erkennen und es deshalb auch keinen Sinn macht, Fragen zu speichern. Wenn du so was willst, dann wäre maximal noch ein reines Frage-/Antwortsystem zu einem ganz speziellen Thema eine mögliche Variante.
Zum Beispiel Politik Deutschland und dann fragt dein System den Nutzer am Anfang, zu welchem Thema er Informationen möchte. Du listest alles auf:
- Bundeskanzler
- Minister
- Parteien
- …
Hat der Nutzer was ausgewählt, kommt eine Liste mit weiteren Fragen zu diesem Bereich:
→ Bundeskanzler
- Wer ist aktuell Bundeskanzler von Deutschland?
- Wer war der erste Bundeskanzler von Deutschland?
- Welche Bundeskanzler und -kanzlerinnen hatte Deutschland?
- …
Darauf kannst du dann passende Antworten geben.
Das ist deutlich einfacher und lässt sich auch ganz gut erweitern.
Das ist eine gute Idee. Ich denke darüber nach.
gespeichert sind, soll der Bot automatisch Sätze dazu formulieren.
Das wird der harte part. Alles andere ist realtiv easy.
Damit landest du warscheinlich schon fast auf Googels ebene. XD
Wenn du das umsetzen willst. Würde ich dir raten mit der sache anzufangen. Ganz fest als Experimental projekt. Und dann von da aus den rest aufbauen.
lerning by doing, nix programmiert !
Wenn das so einfach wäre, gäbe es davon scho Millionen.
Du löst bereits Probleme (wie sollen die Daten gespeichert werden, welche Programmiersprache soll verwendet werden, wie soll die Sicherheit aussehen etc.) bevor überhaupt auch nur die allergrundlegensten Designarbeiten abgeschlossen sind. Eine solche Aufgabe löst man nicht indem man ein Frontend hinklatscht, mit einer Datenbank verbindet und dann darum zwei oder drei Seiten Code drumrum strickt.
Grobkonzept -> Feinkonzept -> Realisierung
Ich glaube die Sprache gehört zum Grobkonzept… man kann nur sehr schlecht planen, wenn man nicht weiß, welche Möglichkeiten es gibt
Nein, die Sprache gehört klar zum Feinkonzept. Beim Grobkonzept geht es um grundsätzliche Fragen des Entwurfs, die man im Endeffekt mit vielen Sprachen lösen kann.
man kann nur sehr schlecht planen, wenn man nicht weiß, welche Möglichkeiten es gibt
Kennst du die
Was würdest du an meiner Taktik ändern?