1. Home
  2. Forum
    1. Unerledigte Themen
  3. Galerie
    1. Alben
  4. Lexikon
  5. Live-Streams
    1. Lonaril
      1. KiruGPT
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Forum
  • Galerie
  • Seiten
  • Lexikon
  • Erweiterte Suche
  1. Noxx Community
  2. Live-Stream auf Twitch
  3. Lonaril live auf Twitch

KiruGPT - KI-Mode für Twitch-Chat via Streamer.bot

KiruGPT v1.0 - KI-Mode für Twitch-Chat via Streamer.bot (Command-Trigger)

Die Idee, einen KI-Mode für meinen bisherigen Twitch-Chatbot (Streamer.bot) anzubieten, hatte ich schon länger. Gestartet hatte ich dann aber am 20.01.2025. Ich musste mich allerdings noch in zwei Dinge erst reinarbeiten, C# und GPT4All-API. GPT4All deswegen, weil ich meine KI lokal laufen lassen wollte und es dank der aktellen Version von GTP4All auch die GPT mit eingebunden wird, genauer gesagt Nvidia CUDA sogar bei dem verwendeten LLM.

Für erste Versuche mit der API half mir die Doku von GPT4All weiter, wie man per Kommandozeile unter Windows entweder via Powershell oder via curl die API ansprechen kann. Ich entschied mich für curl, da dieses aus der Linux-Welt bekannte Tool auch von seiten Microsoft unter Windows 11 vorhanden ist. Dadurch verstand ich erst, wie man eine zusammenhängende Chat-Konversation handeln müss, also di KI zuvorgesagtes noch weiß und es berücksichtigen kann. Auch verstand ich so, wie man der KI ein Verhalten mittels System-Prompt aufdrücken konnte.

Als nächstes Stand dann die Implementation im Streamer.bot an, den ich als Chatbot für Twitch benutze. Damit die KI nicht auf jede Nachricht reagiert, entschied ich mich dafür sie auf Command-Trigger reagieren zu lassen, ihre Erwähnung als Keyword: @KiruShara

Bei der Programmierung galt es mehrere Probleme zu lösen, da ich ja nicht tagtäglich in C# programmiere. Angefangen mit den Referenzen bis hin zu den Umsetzungen im Code, wie man die API mittels Web-Request anspricht und ihr die Daten im JSON-Format übergibt. Natürlich kam auch die Antwort über JSON und somit auch das nächste Problem, wie parst man das am dummsten?

Nachdem das gelöst war und man die Antwort in den Chat posten konnte, stand ich vor dem nächsten Problem, denn die KI konnte sich ja noch nichts merken. Aus meinen Versuchen mit curl wusste ich aber, wie ich vorgehen muss. Jetzt galt es nur noch einen Weg herauszufinden, wie ich das unter C# umsetze. Zu dieser Zeit baute ich das JSON-Paket für den Web-Request noch selbst, bis ein neues Problem auftrat und die API über mein JSON-Paket meckerte. Von da an stiegt ich auf die Funktionen von System.Text.Json um.

Aber das nächste Problem ließ nicht lange auf sich warten, als die generierten Antworten der KI nicht mehr in den Twitch-Chat gepostet wurden. Im Log vom Streamer.bot meckerte die Twitch-API irgendwas von Bad-Request oder so. Eine sehr aussagekräftige Fehlermeldung, nicht? Also googlen und zum Glück wurde ich fündig. Es gab ein Zeichen-Limit, wie lang eine Nachricht in den Twitch-Chat sein darf, nämlich maximal 500 Zeichen. Anfangs behalf ich mich damit, dass in den Twitch-Chat nur eine Info gepostet wurden, dass die Nachricht zu lang sein und es nicht geht. Später löste ich das ganze dahingehend, dass ich die Nachricht aufsplittete und ab da an konnte dann auch die Antwort in mehreren Nachrichten gesendet werden.

Manch einer kennt das sicher schon, wenn man die KI nach Datum oder Zeit fragt, dass sie darauf keine Informationen hat. Also implementierte ich das via System-Prompt, der vor jedem Request aktualisiert wurde. Es kam was kommen musste, nach einem etwas doch längeren Gespräch mit der KI wusste sie die Zeit nicht mehr. Die Lösung war jedoch so genial wie auch einfach. Da die Zeit in einem eigenen System-Prompt vorlag, konnte ich diesen in der Nachrichten-Verkettung an einer anderen Position springen lassen, also immer direkt vor dem letzten Prompt. Später gab es noch ein Problem mit den Wochentagen, aber das war auch schnell gelöst, in dem das lokalisiert wurde.

Ja, so einfach ist Version 1.0 gestrickt, in ca. 3 Tagen geschrieben und wurde so auch erstmals live im Stream am 23.01.2025 verwendet. Aber Version 2.0 ist schon in der Entwicklung und soll auch auf Ereignisse wie ein Follow reagieren können.


KiruGPT v2.0 - Automatischer KI-Mode für Twitch-Chat via Streamer.bot (Event-Trigger)

Version 2.0 hat mittlerweile Version 1.0 abgelöst und verfügt über den gleichen Funktionsumfang wie Version 1.0, allerdings nicht mehr durch Commands getriggert, sondern durch Events.

Bereits enthaltene Features:

  • Kennt die Chat-Regeln
  • Kann User auseinander halten
  • Sollte wissen, wie spät es ist (Kann noch leicht fehleranfällig sein)
  • Weiß, welches Spiel im Stream gespielt wird (01.02.2025)
  • Heißt neue Follower herzlich willkommen (01.02.2025)
  • Meldung bei Stream-Start & Stream-Ende (02.02.2025)
  • Meldung bei einem Raid (02.02.2025)

Registrierung

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen

Statistiken

Themen
416
Beiträge
1.065
Bilder
21
Videos
0
Einträge
7
Mitglieder
48
Meiste Benutzer online
3
Neuestes Mitglied
TypischTony
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™
Stil: Foxhole von Foxly