Mein Chatbot weiterentwickelt: Ein Einwöchiger Sprint zu intelligenteren Interaktionen
Ich habe meinen Chatbot in einer Woche von Grund auf neu gebaut – von einfachen Beitragszusammenfassungen zur Volltextsuche mit Chunking, Sicherheit und Metadaten. Hier ist, was ich über die Balance zwischen KI-Leistung und Kosten gelernt habe.
Update (2026): Dieser Chatbot hat sich zu Sydney weiterentwickelt! Nach vielen Iterationen ist Sydney jetzt unter /ask/ zu finden und konzentriert sich auf Blog-Inhalte und Produkte.
Als ich letzte Woche Version 0.1 meines DIY-Chatbots veröffentlichte, war mein Ziel, einen Gesprächsagenten zu schaffen, der Informationen aus meinen Blogbeiträgen synthetisieren kann, um Fragen zu beantworten. Während v0.1 als Coding-Anfänger einen großen ersten Schritt darstellte, hatte sie erhebliche Einschränkungen. Die Wissensdatenbank enthielt nur Zusammenfassungen meiner Beiträge, und der Chatbot hatte Schwierigkeiten, spezifische Details wie Zahlen oder Daten korrekt abzurufen. Meine Motivation war es, die Fähigkeiten des Chatbots durch praktisches Lernen schrittweise zu verbessern. Dieser Beitrag gibt ein Update nach einer Woche Optimierungen. Mein Fokus lag darauf, die Wissensdatenbank auf vollständige Artikelinhalte zu erweitern, Sicherheitsmaßnahmen zu stärken und das KI-Modell auf Kosteneffizienz zu optimieren. Obwohl der Chatbot noch einen langen Weg vor sich hat, sind diese ersten Verbesserungen ein vielversprechender Fortschritt.
Hier ist, was seit der letzten Version getan wurde:
1. Funktionalität
Der Chatbot enthält alle neuesten Beiträge bis Ende Oktober 2023
Im Oktober habe ich sechs Blogbeiträge veröffentlicht, die jetzt alle in der Wissensdatenbank des Chatbots enthalten sind. Du kannst zum Beispiel Fragen stellen wie: „Welche Kernerkenntnisse hat Chandler über Coursera geschrieben?" und der Chatbot kann eine Antwort auf der Grundlage der von mir im Oktober 2023 geschriebenen Artikel geben.
Die Wissensdatenbank enthält den vollständigen Blogbeitrag statt nur die Zusammenfassung
Für die erste Version musste ich, aufgrund meiner mangelnden Erfahrung mit der Kontextfensterlängenbegrenzung der OpenAI API, Zusammenfassungen jedes Blogbeitrags erstellen und diese dann mit dem OpenAI-Embedding-API-Endpunkt einbetten. Ich wusste nicht, wie man den vollständigen Artikel in kleinere Abschnitte aufteilt und jeden einbettet, während der Kontext erhalten bleibt (d.h. Metadaten, URL, Titel usw.).
Die erste Chunking-Iteration wurde diese Woche durchgeführt. Die Wissensdatenbank des Chatbots enthält jetzt den vollständigen Blogbeitrag statt nur die Zusammenfassung. Es gibt noch Verbesserungspotenzial, da ich weiterhin das ideale Chunking-Limit und die Vorgehensweise für lange Artikel verfeinere. Derzeit teile ich lange Artikel in kleinere Abschnitte mit maximal 800 Token auf und verwende den „Absatz" als natürlichen Trennpunkt.
Auf diese Weise kann der Chatbot in der nächsten Version Fragen zu spezifischen Zahlen einfacher beantworten.
Veröffentlichungsdatum, Titel und URL des Blogbeitrags sind enthalten
Nachdem der Benutzer eine Frage eingegeben hat, werden während des Abrufprozesses auch der Blogbeitrags-Titel, das Veröffentlichungsdatum und die URL an den Chatbot übergeben. Der Chatbot kann nun also die spezifische URL oder das Veröffentlichungsdatum zurückgeben, wenn danach gefragt wird.
Das hilft bei der Validierung, falls Benutzer etwas doppelt prüfen oder den gesamten Blogbeitrag lesen möchten.
2. Sicherheit
Es wurden grundlegende Sicherheitsmaßnahmen implementiert, wie zum Beispiel:
- Validierung der Eingaben, bevor sie an die API gesendet werden
- Grundlegende Rate-Limiter-Funktion, d.h. wie viele Fragen man pro Minute an den Chatbot stellen kann
- Abfragen und Chatbot-Antworten werden mit der OpenAI Moderation API validiert
3. GPT-4 vs. GPT-3.5
Ich werde aufgrund der Kosten weiterhin das GPT-3.5-Modell für den Chatbot verwenden. Die Antworten von GPT-4 sind deutlich besser als die von GPT-3.5. Da ich jedoch noch nicht den besten Weg gefunden habe, mit der Kontextfensterlänge zu arbeiten und dabei den Gesprächsverlauf aufrechtzuerhalten, sind die Kosten pro Antwort bei komplexen Fragen, bei denen der Chatbot mehrere Beiträge durchsuchen muss, hoch – etwa 0,15 oder 0,20 $ pro Antwort bei GPT-4. Das kann ich mir für dieses Hobbyprojekt noch nicht leisten. T.T
Das war's fürs Erste. Wenn du den Chatbot ausprobieren möchtest, ist er hier zu finden. Das ist der Link zu meinem vorherigen Beitrag über den Chatbot. Schönes Wochenende!
Wenn du deinen eigenen Chatbot gebaut oder mit Embeddings und Chunking gearbeitet hast, bin ich neugierig – welche Chunk-Größe und welcher Ansatz hat bei dir am besten funktioniert? Ich experimentiere noch immer :)
Weiter in der Chatbot-Reise: Ein paar Monate später habe ich den gesamten Chatbot mit LangChain und FAISS von Grund auf neu gebaut – How I Emerged From Coding Quicksand With an AI Agent.
Viele Grüße,
Chandler
P.S.: Der neue Kurs Generative AI for Everyone, von Andrew Ng unterrichtet, enttäuscht nicht. Es ist ein kostenloser Kurs, der dir allgemeines Wissen über Generative AI vermittelt und zeigt, wie typische Gen-AI-Software oder Webanwendungen gebaut werden. Er ist auch recht kurz, sodass du alle Videos an einem Wochenende anschauen kannst.





