Einleitung
Wer mich kennt weiß, dass ich immer wieder auf der Suche nach Einsatzmöglichkeiten der aktuellen KI-Modelle und -Tools bin. Immer zwischen Spielerei und praktischem Nutzen. Vor ein paar Wochen habe ich mich gefragt, ob man sich nicht vollautomatisch kleine Podcast-Folgen erstellen kann. Wenn ihr wissen wollt, ob ich das geschafft habe, dann lest am besten diesen Artikel.
Wie funktionieren Retool Workflows?
Bei Hackathons und zum Entwickeln von Prototypen setze ich sehr gerne auf Low-Code oder sogar No-Code. Eine meiner Lieblingstools ist dabei aktuell Retool. Mit Retool lassen sich ganze Anwendungen mitsamt Oberflächen erstellen, aber auch Workflows.
Ähnlich wie bei Zapier, Ifttt oder make, kann man mit Retool APIs miteinander verketten. Aus meiner Sicht ist es jedoch mit Retool viel einfacher, auch eigene Codes einzubinden. Dies macht das Tool vor allem für Entwickler sehr interessant.
Es ist spielend einfach externe APIs einzubinden und deren Ausgabe für die eigenen Belange anzupassen. Dadurch ist man deutlich flexibler und auch effizienter unterwegs, sobald man sich an die Arbeit mit Retool gewöhnt hat. Gerade bei der Arbeit mit vielen neuen Tools, die noch keine Integrationen bei Zapier, Ifttt und Co haben, ist das ein entscheidender Vorteil.
Retool hat auch schon fertige KI-Komponenten, wie eine kleine Vektordatenbank und direkte Integration von Open AI.
Wie kommt die KI an die News?
Die große Frage zu Beginn war, wie die Redaktion zu den tagesaktuellen Nachrichtenbeiträgen kommt. Anfangs habe ich damit herumexperimentiert, Google Alerts für die Nachrichtengenerierung zu nutzen. So habe ich jeden Tag die neuesten Beiträge aus dem gesamten Internet bekommen, die sich irgendwie um das Thema KI drehen. Schnell durfte ich aber feststellen, dass dies nicht zweckmäßig ist. Zum einen bekommt man auch Seiten und Forendiskussionen über KI in den Feed gespült und zum anderen auch Quellen, die man nicht unbedingt zitieren möchte. Manche dieser Quellen haben sogar falsche Informationen verbreitet, die mein erstes Podcast-Script dann unreflektiert übernommen hat. Auch mit Satire hatte GPT so seine Probleme 😉
Meine schlussendliche Lösung war dann, statt Google Alerts diverse Nachrichten-Portale über deren RSS-Feeds einzubinden. Somit kann ich zumindest sicherstellen, dass die Nachrichten aus einer seriösen Quelle kommen und von der Art her Newsbeiträge sind.
Meine kleine KI-Redaktion
Nachdem ich nun eine deutlich höhere Qualität bei den Quellen für die Podcast-Folgen erreicht hatte, wurden auch automatisch die Inhalte besser. Leider wurden immer noch Beiträge gebracht, die irrelevant waren oder die Zusammenfassungen waren voller Hirngespinste aus dem Large Language Model.
Es stellte sich heraus, dass es mehrere Prompts mit verschiedenen Rollen braucht. Quasi eine kleine KI-Nachrichten-Redaktion, bestehend aus Redakteuren und einem Redaktionsleiter, sowie der Podcast-Redaktion, die sich dann um das Podcast-Script kümmert.
- Der Redaktionsleiter sucht aus der großen Flut an Nachrichten die relevanten Berichte heraus.
- Die Redakteure schreiben darauf hin zu jedem Beitrag eine eigene Zusammenfassung
- Der Redaktionsleiter bewertet wiederum die einzelnen Beiträge auf Lesbarkeit und Qualität und leitet alles anschließend an die Podcastredaktion weiter.
- Die Podcastredaktion schreibt dann das eigentliche Podcast-Script.
Vom Text zum Podcast
Daraus ergibt sich dann der gesamte Workflow zur vollautomatischen Erstellung eines Podcasts.
- Der Workflow liest täglich alle hinterlegten Feeds aus und extrahiert die neuesten Beiträge aus den letzten 24 Stunden
- Der KI Chefredakteur (GPT-4) bewertet alle Einträge auf Relevanz für das Thema KI und sortiert sie nach Prioritäten
- Die relevanten Beiträge werden komplett eingelesen und von den KI-Redakteuren (GPT-3.5-Turbo) zusammengefasst
- Der KI-Chefredakteur liest sich die einzelnen Beiträge durch und gibt sie ggf. frei
- Der Podcast-Redakteur (GPT4) erstellt das Podcast-Script
- Das Skript wird mit Hilfe meiner Stimme (Elevenlabs) aufgenommen und auf Amazon S3 hochgeladen
- Das fertige Audio wird an einen Podcast-Publishing Service (auphonic) gesendet, dort geschnitten und auch veröffentlicht
- Am Ende bekomme ich eine Zusammenfassung per Mail gesendet
Herausforderungen
Das Projekt hat mega viel Spaß gemacht, es gab allerdings auch einige Hürden zu überwinden, die ich an dieser Stelle mit euch teilen möchte.
Prompt-Engineering: Es hat einige Arbeit gekostet, die Prompts so zu optimieren, dass es zu einem stabilen Ergebnis kommt. Vor allem die Ausgabe wieder maschinenlesbar zu machen. Letzte Woche hat Open-AI das ganze etwas einfacher gemacht, indem man jetzt GPT anweisen kann, mit JSON zu antworten.
Stabilität der Dienste: Die einzelnen Dienste fallen aktuell noch häufig aus und sind nicht zuverlässig. So musste der ein oder andere Fallback eingebaut werden.
Komplexität der Prompts: Die Prompts wurden teilweise zu lang oder zu komplex, sodass die Qualität der Antworten gelitten hat. Hier hat es geholfen, einzelne Workflow-Schritte in Teilprobleme zu zerlegen und dann einzeln von GPT beantworten zu lassen. Da das auch parallel möglich ist, hat es sogar die gesamte Ausführung beschleunigt.
Fazit
Das Podcast-Skript läuft mit Unterbrechungen jetzt seit 1,5 Wochen und hat fast jeden Tag spannende Neuigkeiten aus der KI-Welt berichtet. Mir hat das Projekt gezeigt, dass man durch Aufteilen der Prompts auf verschiedene Rollen (aka KI-Redaktion) die Qualität des Gesamtergebnisses deutlich heben kann.
Mit Retool Workflows lassen sich komplexe Abläufe zwischen Mensch, KI und Services abbilden. Das hat ein enormes Spielpotential.
Mir sind zig neue Ideen gekommen:
- Man könnte einen Podcast mit unterschiedlichen Sprechern oder unterschiedlichen Kapiteln erstellen
- Die Redaktion könnte verschiedene Formate veröffentlichen
- Über weitere Dienste könnten zu jedem Beitrag noch zusätzliche Informationen herangeholt werden
Es wäre wirklich spannend, auch mal eine komplexere Produktion zu automatisieren. Das übersteigt aber den Umfang, den ich mir beim Erstellen solcher Hacking-Projekte vornehme. Wer hier Ideen oder Projekte hat, kann gern auf mich zukommen 😉
Wer mal in die erstellten Podcast-Folgen reinhören möchte, findet sie hier:
Liebe Tobias
Mit Freude habe ich Dein Profil auf LinkedIn entdeckt und Deinen Beitrag zur automatisierten Generierung von Podcasts. Genau diese Idee hatte ich auch, aber eben noch nicht das nötige Know-how. Ich habe Grundverständnis von Programmierung, bin aber kein Programmierer.
Nun meine Frage resp. Bitte. Kannst Du mir detaillierte Informationen / Muster über verwendete Tools, Prompts, Programme etc. geben, damit ich auch so etwas bauen kann? Wäre super nett. Als Gegenleistung kann ich Dir momentan nur anbieten, dass ich Dich in LinkedIn prominent erwähne.
Wäre super nett und ich würde mich sehr freuen.
Freue mich, von Dir zu lesen.
Übrigens, wo folgt man Dir am besten auf LinkedIn oder bist Du noch auf weiteren Plattformen aktiv?
Liebe Grüsse Christoph
Hallo Tobias,
es gibt wohl gar keine Folgeversionen dieses Podcast mehr?
Schade…. dass sie schon im August letzten Jahres enden.
Ja. Der Podcast wurde eingestellt, als ich von der fme weggegangen wird. Bin offen für spannende Ideen wie man das vielleicht wiederbeleben kann.