ChatGPT-to-Speech: Wie man einen KI-gestützten Podcast mit Python erstellt | Daniel Davis | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

ChatGPT-to-Speech: Wie man einen KI-gestützten Podcast mit Python erstellt

teacher avatar Daniel Davis, Making tech & photography easy

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Willkommen

      1:56

    • 2.

      Einrichtung

      6:11

    • 3.

      Umgebungsvariablen

      4:06

    • 4.

      RSS-Inhalte greifen

      6:06

    • 5.

      ChatGPT verwenden

      5:41

    • 6.

      In Audio konvertieren

      10:11

    • 7.

      Einstellungen optimieren

      5:30

    • 8.

      Wir kommen zum Ende.

      1:47

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

251

Teilnehmer:innen

--

Projekt

Über diesen Kurs

Bist du daran interessiert, wie du einen KI-gestützten Podcast-Generator baust, um Nachrichtenschlagzeilen in Audiodateien zu konvertieren, die als Podcasts veröffentlicht werden können? Wenn ja, ist dieser Kurs perfekt für dich!

In diesem Kurs wirst du lernen, wie du Python mit den ChatGPT- und ElevenLabs-APIs verwenden kannst, um einen automatisierten Podcast-Generator zu entwickeln, der Nachrichtenüberschriften schnell und einfach in hochwertige gesprochene Audiodateien konvertieren kann. Der Inhalt ist mit klaren Erklärungen leicht zu folgen.

Zu den Fähigkeiten, die du lernen wirst:

  • Python verwenden, um Inhalte aus einem RSS-Feed zu erhalten

  • Menschlichen Text mit der ChatGPT-API generieren

  • Text in Sprache mit der ElevenLabs-API konvertieren

  • Eine MP3-Audiodatei aus der Text-to-Sprache-Ausgabe erstellen

Am Ende dieses Kurses wirst du ein Verständnis dafür haben, wie du Online-APIs zum Erstellen von KI-basierten Anwendungen verwenden kannst, sowie die Fähigkeit, einen funktionalen Podcast-Generator von Grund auf zu erstellen. Du kannst die resultierenden Audiodateien dann in einen Podcast-Service hochladen oder das Programm anpassen, um andere Formen von Inhalten wie Bilder oder Videos zu generieren.

Egal, ob du ein Anfänger oder ein erfahrener Programmierer bist, dieser Kurs soll dir helfen, die Fähigkeiten zu entwickeln, die du zum Erstellen deiner eigenen KI-basierten Anwendungen brauchst. Warum also warten? Nimm den Kurs jetzt teil und fange noch heute an, deinen eigenen Podcast-Generator zu erstellen!

Triff deine:n Kursleiter:in

Teacher Profile Image

Daniel Davis

Making tech & photography easy

Kursleiter:in


Born in the UK and now living in Japan, I'm a programmer/web developer and a long-time amateur photographer.

Having taught English and computing in the past, I'm building on my experiences to teach subjects where I feel I can help others, concentrating on making technical and creative processes as easy as possible.

My other interests include baking, anything tech-related, and sitting on the sofa strumming a ukulele. 

 

 

Vollständiges Profil ansehen

Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Willkommen: Hallo und willkommen zu diesem Videokurs zum Erstellen eines KI-generierten Podcasts aus Schlagzeilen mithilfe von Python, der Chat-GPT-API und der 11 Labs-API, die alle drei sind. Mein Name ist Daniel und ich habe über 20 Jahre Erfahrung in Programmierung und Webentwicklung. Am Ende dieses Kurses werden Sie in der Lage sein, automatisch eine MP3-Audiodatei aus einem Nachrichten-RSS-Feed zu generieren , mit der Sie dann Ihren eigenen Podcast erstellen können. Sie werden auch gelernt haben, KI und einen Text-to-Speech-Dienst in Ihren Code zu integrieren . Zu diesen spezifischen Fähigkeiten, die Sie lernen werden, gehören die Verwendung von Python zum Abrufen von Inhalten aus einem RSS-Feed Generieren menschenähnlicher Texte mithilfe der Chat-GBT-API. Konvertierung von Text in Sprache mithilfe der 11 Labs API. Erstellen einer MP3-Audiodatei aus dem Text zur Sprachausgabe. Der Kurs ist für Anfänger oder Fortgeschrittene konzipiert und es sind keine Python- oder KI-Erfahrung erforderlich. Wir werden jeden Schritt mit klaren Erklärungen durchgehen , damit Sie dann verstehen, wie Sie den Code anpassen können , wenn Sie dies wünschen. Am Ende des Kurses wirst du an einem realen Projekt gearbeitet haben, das du potenziellen Arbeitgebern zeigen könntest , oder du nutzt eine Grundlage für einen Podcast. Oder Sie werden ein Verständnis dafür haben, wie Sie KI in andere Ihre Projekte integrieren können. Der ideale Student für diesen Kurs ist jemand, der daran interessiert ist, etwas über Python, KI und andere APIs von Drittanbietern zu lernen . Und wer möchte wissen, wie man die Erstellung von Inhalten automatisiert , beispielsweise mit einem Podcast. Es ist für dich. ob Sie ein Blogger, ein Journalist, ein Inhaltsersteller oder ein Hobbyist sind ein Inhaltsersteller oder ein Hobbyist , der einfach nur mit den neuesten Technologien spielen möchte. Vielen Dank, dass Sie diesen Kurs in Betracht gezogen haben. Ich hoffe, dich drinnen zu sehen. 2. Einrichtung: Okay, lass uns darauf eingehen. Aber bevor wir tatsächlich mit dem Codieren beginnen, müssen wir drei Dinge einrichten. Python und die verschiedenen Pakete, die wir benötigen. Und OpenAI-Konto und API-Schlüssel und ein 11-Labs-Konto und API-Schlüssel. Also zuerst Python, Sie haben es hoffentlich schon installiert und überprüfen Sie, ob Sie Python am Terminal eingeben können . Und es sollte dir zeigen, was du installiert hast. Hier. Es heißt, ich muss 0.7 installiert haben. Und eigentlich wollen wir Python drei. Ich bin auf einem Mac und es tatsächlich zwei Versionen von Python installiert. Um Python drei zu spezifizieren, muss ich Python drei eingeben. Ich denke für Windows nur Python. Es wird uns gut gehen, wenn Sie Python Three installiert haben. Wie dem auch sei, lassen Sie uns die Python-Eingabeaufforderung verlassen und es erneut mit Python drei versuchen, okay? Und es heißt, ich habe Python 3.10 installiert, was in Ordnung ist. Was auch immer für Sie funktioniert, Python oder Python Three, verwenden Sie das als Befehl für den Rest des Kurses. Ich verlasse die Python-Eingabeaufforderung erneut. Und jetzt müssen wir sicherstellen, dass wir die verschiedenen Module und Pakete haben , die wir benötigen. Ich habe versucht, dies zu vereinfachen, indem eine Datei requirements.txt erstellt habe, und sie sollte in den Ressourcen für diesen Kurs enthalten sein. Also lege es in das Verzeichnis, in dem du gerade arbeitest. Jetzt habe ich einen Projektordner namens AI Podcast Creator erstellt. Schauen wir uns an, was da drin ist. Da haben wir es. Einfach requirements.txt. Das ist alles, was im Moment da drin ist. Also das ist in Ordnung. Wir werden das mit pip, einem Python-Installer, verwenden, um diese Pakete automatisch abzurufen. Das machen wir mit dem Befehl pip. Wenn Sie Python Three auf Ihrem System eingeben müssen, sollten Sie hier pip3 eingeben, Bindestrich r und den Namen der Anforderungsdatei installieren. Die Anforderungen sind also ein Punkt für den TXT-Moderator. Und es liest die Datei requirements.txt und lädt diese Pakete automatisch herunter und installiert sie. Ich habe sie bereits für dich installiert. Es kann ein paar Sekunden dauern, sie herunterzuladen und zu installieren, falls etwas fehlt, aber dann sollten Sie bereit sein, loszulegen. Die nächste Stufe sind also die OpenAI und 11 Labs, Konten und API-Schlüssel. Und dafür müssen wir zum Browser wechseln. Okay, hier im Browser, wenn Sie nach der OpenAI-API suchen, erhalten Sie möglicherweise verschiedene Anleitungen und Erklärungen und so, aber was wir brauchen, ist die eigentliche Plattform selbst. Also platform.openai.com. Wenn Sie noch kein Konto haben, erstellen Sie bitte eines und der kostenlose Tarif ist in Ordnung. Wenn Sie ein Konto haben, müssen Sie sich hier anmelden. Sobald Sie sich angemeldet haben, erhalten Sie eine Reihe von Tokens, Menge Credits, die Sie verwenden können, und das wird für unser Programm hier ausreichen. Wir müssen uns keine Gedanken darüber machen, etwas zu bezahlen, aber wir müssen uns den API-Schlüssel besorgen. Gehen Sie also zum Kontomenü und suchen Sie nach dem Element API-Schlüssel anzeigen. Ich habe bereits einen erstellt, Ihrer ist hier möglicherweise leer Klicken Sie in diesem Fall auf die Schaltfläche Neuen geheimen Schlüssel erstellen. Und das zeigt Ihren API-Schlüssel. Nur einmal, das ist das einzige Mal, dass es auf dem Bildschirm zu sehen sein wird. Also musst du jetzt eine Kopie machen, sonst verlierst du sie. Aber wenn du es verlierst, kannst du auch ein anderes regenerieren. Es ist also sowieso keine große Sache. Das wollen wir kopieren. Und wir werden das in eine Umgebungsvariablendatei schreiben. Also müssen wir zurück zum Terminal wechseln, um das zu erstellen. Zurück im Terminal hier haben wir den OpenAI-API-Schlüssel in unserer Zwischenablage, aber wir müssen eine Datei erstellen, um ihn zu speichern. Und wir werden eine spezielle Datei erstellen Umgebungsvariablendatei bezeichnet wird, auch bekannt als Punkt- oder Punkt-ENV. Wir wollen diese grundlegende Textdatei erstellen. Ich werde hier den Nano-Texteditor verwenden, aber Sie können jeden beliebigen Texteditor verwenden, nano und es sind Punkt d und V. Bitte verwenden Sie diese Benennung. Drücken Sie die Eingabetaste. Und es hat diese leere Datei erstellt. Und hier gebe ich einen Variablennamen ein und füge dann den API-Schlüssel ein. Also der Variablenname, ich verwende den Open AI API-Schlüssel, entspricht dann ohne Leerzeichen. Und dann füge ich hier den API-Schlüssel von OpenAI ein. Gut. Ich lasse das offen weil wir in einer Minute darauf zurückkommen werden , nachdem wir den 11 Labs-API-Schlüssel haben , der sich wieder im Browser befindet. Ähnlich wie zuvor. Bei Betapunkt 11 Labore Punkt io. Bitte erstellen Sie ein Konto. Falls Sie noch keins haben. Wenn Sie ein Konto haben, melden Sie sich hier an. Sobald Sie sich angemeldet haben, müssen wir zum Kontomenü gehen , und diesmal klicken wir auf das Profil. Jetzt können wir den API-Schlüssel hier nicht sehen, also müssen wir auf die Schaltfläche I klicken , damit er sichtbar wird. Wir können das jederzeit sehen, du kannst ein neues regenerieren , jederzeit wie zuvor. Lassen Sie uns das kopieren und einfügen und zurück zum Terminal gehen. Diese ENV-Punkt-Datei ist immer noch geöffnet, was gut ist. Also müssen wir eine neue Linie erstellen. Und dieses Mal verwenden wir dasselbe Format, aber wir nennen es 11 Labs. Der API-Schlüssel entspricht keinen Leerzeichen. Und wieder fügen wir den API-Schlüssel dort ein. Das ist alles, was wir für diese Datei brauchen. Also können wir diese Datei speichern und beenden. Wenn du hier Nano verwendest, dann machst du Control X. Und dann wirst du aufgefordert, es zu speichern. Ja. Und wir schließen die Datei und gehen zurück zum Terminal. Wir haben also unsere API-Schlüssel bereit und in einer ENV-Punkt-Datei gespeichert. Darauf werden wir mit Python zugreifen . Wir haben alle Python-Module installiert. Wir sind bereit, mit dem Programmieren zu beginnen. 3. Umgebungsvariablen: Nun zu den lustigen Sachen, der Programmierung, und ich habe hier eine leere Python-Datei, die ich Create Podcasts Punkt p-y genannt habe. Ich habe dafür gesorgt, dass sich dies im selben Ordner befindet wie die ENV-Punkt-Datei, in der wir die API-Schlüssel zuvor gespeichert haben. Sie befinden sich also in demselben Ordner in diesem Programm. Ich werde es in Stücke aufteilen. Und dieser erste Teil wird ein bisschen Code sein , der diese API-Schlüssel abruft und sie einfach auf dem Bildschirm ausdruckt, um sicherzustellen, dass das funktioniert. Und dann werden wir sie in den anderen Abschnitten verwenden. Konzentrieren wir uns also zuerst darauf. Dazu müssen wir zunächst einige Module importieren. Und wir brauchen drei für diesen Abschnitt. Das erste ist also ein Modul, das speziell für den Umgang mit den Umgebungsvariablen entwickelt wurde, den API-Schlüsseln von Punkt n, das ist der Name des Moduls. Und wir werden nur einen Teil davon importieren, der als Load bezeichnet wird. Und wir werden diese Methode anwenden. Als Nächstes müssen wir das eingebaute Betriebssystemmodul importieren. Und dann endlich sollte alles schon für Sie installiert sein. Es heißt Open AI, OpenAI-Modul. Sobald wir diese Module importiert haben, führen wir als Erstes die Ladefunktion aus und bereiten sie so auf das Abrufen der API-Schlüssel vor. Das ist super einfach. Es ist nur voller Klammern. Als Nächstes müssen wir einen Ort vorbereiten, an dem der API-Schlüssel vorübergehend im Programm gespeichert werden kann. Und das OpenAI-Modul hat speziell dafür eine Eigenschaft. Das wird es also mit Open AI verwenden. Und dann die API-Schlüsseleigenschaft. Und wir weisen dem API-Schlüssel dies in unserer Variablendatei zu. Und hier können wir das Betriebssystemmodul verwenden , um dieses Betriebssystem abzurufen. Und versuchen Sie, sich den Namen der Variablen zu merken , die wir zuvor verwendet haben. Und ich bin mir ziemlich sicher, dass es ein offener AI-API-Schlüssel war. Okay, jetzt können wir dasselbe für 11 Labore machen. Dieses Mal haben wir kein 11-Labs-Modul, also erstellen wir einfach unsere eigene Variable nennen sie 11 Labs API-Schlüssel. Und wieder entspricht das OS dot get der Umgebungsvariablen. Und es heißt Live and Lab API Key. Das sollte alles sein, was wir brauchen , um uns die API-Schlüssel zu holen. Der Grund, warum wir das tun, anstatt sie fest in das Programm zu codieren, ist, dass, wenn wir dieses Programm, diesen Code auf GitHub oder wo auch immer teilen , die Leute sehen können wie die API-Schlüssel sind, wenn sie hier sind. Und wir wollen nicht, dass sie privat sein sollen, das soll geheim sein. Wir speichern sie in einer lokalen Umgebungsvariablendatei, die auf unserem Computer verbleibt. Aber dann können wir diesen Code frei teilen und die API-Schlüssel bleiben geheim. Stellen wir sicher, dass dies funktioniert, indem wir die API-Schlüssel für die Terminals ausdrucken . Drucken Sie also den Open-Ai-Dot-API-Schlüssel aus und drucken Sie den API-Schlüssel von print labs underscore. Ein kleiner Unterschied zwischen den beiden da, oder? Ich werde das speichern und lass uns zum Terminal gehen und es ausführen. Hier im Terminal werden wir das Programm ausführen, indem wir Python eingeben. Python könnte für dich genug sein. In meinem Fall muss ich Python three und dann den Namen der Datei eingeben . Erstellen Sie also Podcasts mit dem Punkt p-y und drücken Sie die Eingabetaste. Und es funktioniert. Es druckt die API-Schlüssel, die wir in der Umgebungsvariablendatei gespeichert haben . Perfekt, das heißt, wir sind bereit, mit dem nächsten Teil fortzufahren, bei dem es darum geht, Inhalte zu schnappen und dann die KI damit zu spielen. 4. Grabe RSS-Inhalte: Lassen Sie uns unser Programm etwas weiter aufbauen als, aber zuerst möchte ich diese Zeilen entfernen, die die API-Schlüssel ausdrucken. Die brauchen wir nicht. Also werden wir das loswerden. Was ich allerdings brauche, ist ein RSS-Feed, denn ich nehme die Schlagzeilen aus einem RSS-Feed und verwende sie als Eingabe für den GBT Chat in den Browser. Und ich habe bereits einen RSS-Feed vorbereitet. Ich lebe in Japan, also verwende ich eine aus der Japan Times, den Schlagzeilen. Und ich möchte nur darauf hinweisen, dass der RSS-Feed aus mehreren Artikeln besteht und jeder hat den Titel, eine Beschreibung, auch verschiedene andere Elemente, aber ich bleibe einfach beim Titel und der Beschreibung und kombiniere diese als Zusammenfassung der Nachricht für Chat GPT. Ich brauche also nur die URL dieses Feeds und so ziemlich jeder RSS-Feed sollte ausreichen. Und ich gehe zurück zu unserem Programm. Und lassen Sie uns eine neue Variable für diesen Newsfeed erstellen , die dieser URL entspricht. Ich mag es, diese Variablen ganz oben im Programm zu belassen , damit jeder reinkommen und den RS ändern kann. RSS-Feed später einfach ohne den gesamten Code nach unten scrollen zu müssen. Als Nächstes möchte ich daran arbeiten, den Inhalt tatsächlich zu erfassen. Und bevor ich das mache, drucke ich hier einfach etwas ins Terminal aus , das besagt, dass wir den RSS-Feed jetzt bearbeiten. Und dann drucke ich die Stufen für die verschiedenen Teile aus , während wir das Programm schreiben , sodass wir, wenn wir das Programm ausführen , wissen, an welchem Teil gerade gearbeitet wird. Wir können auch sehen, wann es fehlschlägt, wann es Fehler gibt, wir können sehen, in welchem Bit sich diese Fehler befinden. Also lassen Sie uns einfach, um unserer selbst willen, einen Ausdruck geben. Ich bewerte den RSS-Feed, oder? Und um das zu tun, brauchen wir ein wirklich gutes Modul namens Feed Parser, das es uns super einfach machen wird. Also importieren wir es wie zuvor. Feed-Paar importieren. Gut. Und das bedeutet, dass wir in nur wenigen Zeilen diesen Inhalt aus dem RSS-Feed abrufen können. Jetzt weisen wir die Ausgabe der Feed-Parser-Verarbeitung einer neuen Variablen namens feed zu. Deshalb verwenden wir hier den Feed-Parser. Parser, und wir verwenden eine seiner Methoden namens Pass. Und das Argument dafür ist die URL der RSS-Feeds. Das ist also nur der Newsfeed , den wir zuvor vorbereitet haben. Wenn wir uns den Feed schnappen, können wir dem Chat DBT nicht einfach mehrere Informationen geben . Was wir wirklich wollen, ist ein bisschen Inhalt. Also werde ich eine leere Variable haben. Ich nehme mir eine Minute Zeit. Und dann bei jeder Nachricht werde ich bei jeder Nachricht die neue Zusammenfassung anhängen. Am Ende haben wir also eine Variable, die alle Nachrichtenzusammenfassungen zusammenfasst . Das sind neue Geschichten. Also werde ich eine Variable Stories nennen und das ist zunächst nur ein leerer Wunsch. Der RSS-Feed, den sie verwenden, hat meiner Meinung nach etwa 30 Artikel und ich möchte nicht so viele. Ich möchte, dass die Podcasts ziemlich kurz sind. Also werde ich es auf zehn beschränken und eine weitere Variable erstellen, die ich später verwenden kann. Also Stories, nennen wir es Stories Limit ist gleich zehn. Okay, jetzt sind wir bereit, das Feed-Objekt zu durchsuchen, das all diese RSS-Feed-Daten enthalten sollte . Zum Durchschauen. Wir werden eine For-Schleife erstellen. Und nennen wir jedes Element im RSS-Feed-Element, weil es das ist, was es für das Element im Feed-Objekt ist. Und es gibt eine Eigenschaft namens Einträge. Das allein reicht aus, um alle Gegenstände zu ergattern. Aber wie gesagt, ich möchte es auf die ersten zehn beschränken. Wir können hier also eine clevere Python-Abkürzung verwenden und die eckigen Klammern verwenden. Und dann verwenden wir das Speicherlimit hier nach einem Doppelpunkt. Also Codon und dann zehn oder Speicherlimit und dann ein Doppelpunkt am Ende, weil es eine For-Schleife ist. Dadurch werden automatisch alle Elemente auf die ersten zehn gekürzt. Innerhalb jeder Iteration der Schleife. Wir werden diesen leeren Speicher aufbauen, der variabel ist. Geschichten sind also gleichbedeutend mit Geschichten plus, weil wir jedes Mal Daten anhängen. Und weil wir all diese neuen Geschichten zu einer Zeichenfolge zusammenfügen , möchte ich klarstellen, dass Sie mit GBT chatten , wenn eine neue Geschichte beginnt. Also lasst uns eine neue Geschichte haben, den Anfang jeder Geschichte. Und dann die Elemente im RSS-Feed, sie haben ein Titelelement und sie haben ein Beschreibungselement. Also schnappen wir sie uns, indem wir den Artikelpunkttitel eingeben. Setzen Sie danach einen Punkt. Und dann holen wir uns die Artikelbeschreibung. Und das sollte es für die Weitergabe des RSS-Feeds sein. Ich möchte sichergehen, dass es funktioniert. Also werde ich die Geschichten einfach variabel ausdrucken. Sobald alles hinzugefügt wurde, stellen wir sicher, dass es funktioniert, indem wir zum Terminal gehen und das Programm ausführen. Also speichere ich diese Datei im Terminal. Und nach wie vor Python oder Python drei. Und der Name des Dateimoderators. Kreuze deine Finger. Das ging schnell. Da haben wir es. Es hat den RSS-Feed abgerufen und alles zu einer langen Zeichenfolge zusammengefasst. Dies ist perfekt als Eingabe für GPT, was wir als Nächstes tun werden. 5. Verwendung von ChatGPT: Stimmt, es geht uns gut. Wir haben den Inhalt der RSS-Feeds, also wenden wir uns dem Chat-GPT zu. Ich werde diese Druckzeile dort löschen. Wir müssen die Story-Variable nicht mehr ausdrucken, aber ich werde eine Zeile hinzufügen, die den nächsten Verarbeitungsschritt ausdruckt . Also sagen wir, dass der Chat verarbeitet wird, GPT. Mit diesem verwenden wir das OpenAI-Modul, das wir bereits importiert haben. Es gibt also keine neuen Module zum Importieren. Um das zu verwenden, müssen wir das Ergebnis oder die Ausgabe von Chat-GPT einer Variablen zuweisen . Nennen wir es also Chat. Ich sage, das wird aus dem Open AI-Modul stammen. Und es gibt einen Dienst namens Chat Completion. Sie haben andere Dienste wie Bilderzeugung und solche Dinge. Aber wir verwenden hier einen Text-Chat. Und darin gibt es eine Erstellungsmethode. Die Methode create benötigt verschiedene Argumente, benötigt jedoch mindestens zwei, und sie sind modal. Und hofft auf die Komma-Nachrichten. Und Nachrichten sind eigentlich ein Array. Zuallererst kann mit dem Modell das KI-Modell spezifiziert werden, das wir verwenden möchten. In Zukunft wird es wahrscheinlich viele Dinge geben, aus denen Sie wählen können. Aber im Moment haben Sie derzeit so ziemlich GPT 3.5. Also GPT Bindestrich 3.5 und es gibt einen namens Turbo. Und dies ist das fortschrittlichste öffentlich verfügbare KI-Modell. In Zukunft wird sich das wahrscheinlich ändern. Behalten Sie also bitte ihre API-Dokumentation im Auge , um herauszufinden, was die neueste und beste ist. Das Modell ist vorerst GPT 3.5 Turbo. Und Nachrichten sind eine Reihe von Objekten. Jedes Objekt hat eine Rolle und einen Inhalt. Und wir werden nur ein Objekt verwenden, um es einfach zu halten. Wir wollen also eine Rolle, weil es hier ein Objekt ist, ich werde Rolle und Inhalt verwenden. Die Rolle kann eines von drei Dingen sein. Ein Benutzer, das ist die Rolle, die tatsächlich den Befehl oder die Anfragen an das Chat-TBT-System sendet , was Chat GPT gewissermaßen darüber informiert, was es ist. Also z.B. bist du ein hilfsbereiter, höflicher Assistent, so etwas. Und dann ist der Assistent die dritte Rolle. Und das könnte eine Art Hintergrundinformation sein , z. B. wenn Sie ihm einen Haufen Daten senden, könnten Sie sagen, dass diese Daten gesammelt wurden und im März 2023, so etwas. Solche Sachen brauchen wir nicht. Wir bleiben nur bei der einen Rolle des Basisbefehls. Und das bedeutet, dass die Rolle Benutzer sein wird. Der Inhalt ist die eigentliche Anfrage , dass wir einen Chat GBT senden. Ich habe hier verschiedene Versuche und Irrtümer gemacht und mir einen ziemlich langen Befehl ausgedacht, also füge ich ihn ein, um Zeit zu sparen. Und da ist es. Bitte schreibe die folgenden Schlagzeilen und Zusammenfassungen in einer Diskussionsform um, gesprächige Art, als würde jemand in einem Podcast darüber sprechen. Wie Sie sehen können, habe ich hier verschiedene zusätzliche Teile hinzugefügt hier verschiedene zusätzliche Teile weil ich es weiter optimieren musste, um das zu bekommen, was ich wirklich wollte. Und natürlich können Sie das auch optimieren, indem Sie sich die Ausgabe anhören. Das ist also die Anfrage. Aber natürlich müssen wir die Schlagzeilen selbst mit einbeziehen. Am Ende dieser Anfrage werde ich also einfach die Variable stories anhängen , die die Ausgabe von Chat-TBT abrufen wird. Aber es wird uns auch ein paar andere Dinge geben . Und wir wollen nur den Kerninhalt, die Kernreaktion. Lassen Sie uns das also extrahieren, indem wir eine neue Variable erstellen, den Chat-Inhalt. Und wir werden es der Chat-Ausgabe entnehmen , die wir gerade erstellt haben. Und darin wird es ein Auswahlfeld geben. Und wir wollen nur das erste Element, kein Element aus dem Auswahl-Array und dann die Nachricht und dann den Inhalt. Das ist also die feste Methode, die wir durchgedrungen haben, um nur den Inhalt zu erhalten , den Chat DBT zurückgibt. Das sollte es sein. Schauen wir also, ob es funktioniert indem wir es wie bisher auf das Terminal ausdrucken und Chat-Inhalte ausdrucken. Und ich speichere das und gehe jetzt zum Terminal und probiere es aus. Ich werde das Programm hier ausführen. Zuallererst wissen Sie das vielleicht oder auch nicht, aber wenn Sie im Terminal den Aufwärtspfeil auf Ihrer Tastatur drücken , werden Befehle ausgeführt, die Sie zuvor eingegeben haben, sodass Sie sie nicht erneut eingeben müssen. Also habe ich einfach ein paar Mal nach oben gedrückt und das ist der, den ich möchte, Podcasts erstellen, Punkt p-y , Enter drücken und schon läuft das Programm. Und jetzt ist er so weit, das ist gut. Jetzt warten wir nur noch darauf, dass Chat GBT etwas zurückgibt. Dann gehen wir, hat ein paar Sekunden gedauert, aber das sieht ziemlich gut aus, keine Fehler. Und wenn man das nur durchliest, sieht das netter aus, irgendwie guter Podcast-Inhalt. Und ich bin immer beeindruckt , dass es das aus Schlagzeilen übernommen hat und es dann in etwas umwandeln kann , das ziemlich natürlich aussieht. Was wir als Nächstes tun müssen, ist, dies mithilfe der 11 Labs-API in Audio umzuwandeln . 6. Konvertierung in Audio: Nun, das läuft soweit gut. Fahren wir also mit dem nächsten Teil fort, der darin besteht, die Audioausgabe tatsächlich zu generieren. Und wie bisher werde ich einfach eine Zeile ausdrucken, um zu sagen, was passiert. Also Audio verarbeiten, so etwas. Okay, jetzt gibt es kein 11-Labs-Modul für Python. Stattdessen werden wir ein paar Dinge benutzen. Wir werden das JSON-Modul verwenden , weil wir Daten im JSON-Format verarbeiten werden. Und wir werden ein Anforderungsmodul importieren, das sich mit dem tatsächlichen Senden von Postanfragen über das Internet befasst . Um diese zu importieren, kehren wir zum Anfang des Programms zurück, importieren JSON und importieren dann Anfragen. Wenn wir uns nun mit der 11 Labs-API befassen, gibt es tatsächlich verschiedene Stimmen, die wir verwenden können. Also müssen wir die gewünschte Stimme angeben, indem wir die Sprach-ID angeben. Das alles ist in der 11 Labs API-Dokumentation aufgeführt. Also ich werde es hier nicht durchgehen, aber ich habe schon einen, schon fertig. Also füge ich das zuerst zu einer neuen Variablen und wir nennen es Voice ID. Und das ist die ID, an die man sich nur schwer erinnern kann. Ich habe es eingeklebt. Es ist eigentlich für einen weiblichen amerikanischen Jungen namens Rachel. Und ich finde, das klingt sehr natürlich. Deshalb entscheide ich mich für diesen. Als Nächstes möchten wir das Anforderungsmodul verwenden , um diese Anfrage tatsächlich zu senden und die Antwort zu erhalten. Lassen Sie uns dazu eine neue Variable haben, um die Ausgabe in der Audioausgabe zu speichern. Wir werden das Anforderungsmodul verwenden und müssen tatsächlich Postdaten senden. Post ist also die Methode. Und dann gibt es drei Argumente wir in der Post-Methode verwenden werden. Das erste Argument für die Post-Methode ist nur die URL der API. Das ist nur eine Zeichenfolge, und ich habe sie in der Zwischenablage, also füge sie ein. Aber wir müssen auch die Stimmidee der Stimme hinzufügen , die wir wollen. Hängen Sie also die Sprach-ID an. Die nächsten beiden Argumente sind Daten und Header. Beschäftigen wir uns also zuerst mit Daten. Und die Daten werden im angrenzenden Format vorliegen. Daten sind also gleich. Und hier verwenden wir das JSON-Modul. Und es hat eine Methode namens Dumps, die benachbarte Objekte akzeptiert. In diesem Objekt fügen wir zwei Dinge ein, Text- und Spracheinstellungen. Der Text ist ziemlich einfach, weil wir ihn bereits fertig haben. Und das ist die Ausgabe von Chat GBT. Es ist also Chat-Inhalt. Und dann die Spracheinstellungen. Lass mich das einfach hochstellen. Die Seite mit den Spracheinstellungen ist ein weiteres Objekt, das im Fall von 11 Labs nur zwei Einstellungen enthält, wie wir den Ton oder die Ausdruckskraft der Stimme steuern können . Die beiden Einstellungen sind Stabilitäts - und Ähnlichkeitsschub. Zuallererst Stabilität. Dies sind beide Werte 0-1. Und Stabilität ist das , wonach es sich anhört. Die Stimme klingt ziemlich stabil, wenn Sie einen hohen Wert haben , und viel ausdrucksvoller, wenn Sie einen niedrigen Wert haben, ich setze sie auf 0,2. Ich habe ein paar Dinge ausprobiert und ich mag 0.2 sehr. Im folgenden Video erkläre ich, was diese bedeuten, und ich werde ein wenig demonstrieren, wie Sie diese Einstellungen ändern können. Aber lassen Sie uns zunächst bei 0,2 bleiben und dann den Ähnlichkeitsschub. Ich habe nicht festgestellt, dass das einen großen Unterschied macht. Also bleibe ich für diesen einfach bei Null. Dann fahren wir mit dem Header-Argument der Header dieser Post-Methode fort. Das dritte Argument ist ebenfalls ein Objekt , diesmal mit drei Eigenschaften. Der erste ist der Inhaltstyp , der Anwendungs-JSON sein wird, da wir ein angrenzendes Objekt senden. Wir senden auch einen API-Schlüssel. Das ist die nächste Immobilie. Also benötigen wir in diesem Fall den API-Schlüssel für Bindestriche. Und wir wollen es hier nicht direkt in das Programm eingeben , aber das ist okay, weil wir es bereits als Variable haben , die wir gleich zu Beginn erstellt haben. Wir können also den API-Schlüssel für 11 Lampen verwenden, den wir vorbereitet haben. Und die dritte Eigenschaft ist das Format der Daten , die wir erhalten möchten. Und wir wollen eigentlich ein Audioformat. Also können wir akzeptieren. Und das wird Audio Slash Mpeg, MP Zhe sein. Okay, das ist alles was wir brauchen. Und so haben wir die Postmethode zum Senden bereit. Und als Nächstes müssen wir uns mit der Reaktion und dem Output befassen , den wir zurückbekommen. Ich werde den Code einfach ein bisschen nach oben verschieben. Und in den Ergebnissen der 11 Labore wird es einen sogenannten Statuscode geben , der uns sagt, ob es funktioniert hat oder nicht. Also ich denke, es ist eine gute Idee, sich das zu schnappen und das Häkchen zu entfernen. Zuallererst. Wenn also die Audioausgabe, das Objekt und innerhalb die Statuscode-Eigenschaft, dieser Eigenschaft die Statuscode-Eigenschaft, 200 entspricht, dann bedeutet das, dass alles funktioniert hat. Also setzen wir dort einfach einen Platzhalter ein. Tun Sie etwas. Andernfalls wollen wir etwas ausdrucken , um uns mitzuteilen , dass es nicht funktioniert hat. Also drucken wir eine Nachricht vom Audioausgang auf den Bildschirm aus. 11 Lampen wird also eine Fehlermeldung angezeigt, falls ein Problem aufgetreten ist. Das wollen wir ausdrucken. Also Audioausgabe, und das ist dort eine Texteigenschaft. Wenn also etwas schief geht, können wir verstehen, ob es daran liegt uns die Credits ausgehen oder an etwas anderem. Ich habe festgestellt, dass 11 Labs ziemlich schnell ein paar Credits verbrauchen, da die Audiogenerierung ziemlich intensiv ist. Wie dem auch sei, das ist für den Fall, dass etwas schief geht, aber hoffentlich geht alles gut. In diesem Fall können wir jetzt in dieser Zeile etwas tun, das Audio, das wir erhalten haben, in eine Audiodatei umwandeln , eine MP3-Datei. Also verwenden wir den Befehl width mit, und dann öffnen wir eine Audiodatei und nennen sie test dot mp3. Sie können es nennen, wie Sie möchten, und wenn es nicht existiert, wird es automatisch erstellt. Aber wir müssen hier ein paar Flaggen hinzufügen. W und b. W bedeutet richtig, es befindet sich also im Schreibmodus. Wir können Inhalte in die MP3-Datei schreiben, und B bedeutet, dass es sich um Binärdaten handelt, die Binärdatei. Und dann müssen wir dieser Ausgabedatei einfach einen Namen zuweisen . Also nennen wir es Ausgabedatei. Mit dieser Datei werden wir den Inhalt des Audios schreiben , das wir von 11 Labors erhalten haben. Also mit dieser Datei, Ausgabedatei, richtig, was werden wir hineinschreiben? Wir werden den Inhalt der Audioausgabe schreiben. Also Audioausgabe, und das hat eine Inhaltseigenschaft. Das sollte alles sein, was wir brauchen, um die Audiodatei zu erstellen. zum Abschluss Lassen Sie uns zum Abschluss noch eine Zeile zum Ausdrucken haben , die besagt, dass alles fertig ist oder unvollständig oder so. Ich werde diese Datei speichern. Und wenn wir es jetzt ausführen und die Daumen drücken, sollte es funktionieren. Also hier im Terminal drücke ich noch einmal den Aufwärtspfeil auf meiner Tastatur. Erstellen Sie Podcasts mit den Punkten p-y. Lass uns gehen. Also nach wie vor geht es los und schnappt euch die Sachen im RSS-Feed schon. Das geht schnell. Es verwendet jetzt Chat GBT, um das in einen eher gesprächigen Diskussionsstil umzuwandeln . Es hat einige Texte, ist wahrscheinlich nicht identisch mit dem Text , den wir zuvor hatten, aber es sieht immer noch ziemlich gut aus. Und so wird das jetzt, wenn Sie möchten, von der KI-Stimme aufgenommen und hoffentlich als Datei namens Tech test dot mp3 gespeichert. Okay, das ist gerade fertig und es wurden keine Fehlermeldungen angezeigt, was großartig ist. Gehen wir nun zu dem Ordner, in dem wir gearbeitet haben. Richtig, es gibt eine Datei namens Test Dot MP3. Es sind 1,2 MB, was gut aussieht. Lass es uns spielen. Hallo und willkommen zum heutigen Podcast, in dem wir einige der neuesten Nachrichten aus Japan besprechen werden . Erster Schritt, es funktioniert. Es funktioniert. Ich hoffe, Sie können hören , dass es zwei Vokale gibt kein erster Einsatz von mich ist kein erster Einsatz von Atomwaffen erstaunlich realistisch. Ich bin sehr beeindruckt. Wir können uns den Inhalt im Terminal ansehen und die Gelegenheit nutzen, zu gehen. Sie liest das tatsächlich. Japan und Südkorea haben für mich ein Paket im Visier. Ja, klingt wirklich gut. Beeindruckend. Also haben wir unser Programm erstellt. Du solltest sehr stolz auf dich sein, und es funktioniert. Wir haben eine Audiodatei, das ist es also wirklich. Aber ich möchte im nächsten Video darauf eingehen, nur ein paar Möglichkeiten, wie Sie die Einstellungen hier anpassen können, um das Gefühl, den Ton oder die Ausdruckskraft zu ändern. Also, wir sehen uns im nächsten Video. 7. Optimierungseinstellungen: Also funktioniert alles. Das ist großartig. Aber ich möchte Ihnen nur ein paar Möglichkeiten zeigen, wie Sie kontrollieren können, was sowohl aus Chat GBT als auch Audio als Chat-GPT herauskommt . Und dafür möchte ich den Audiobereich nur vorübergehend löschen, möchte ich den Audiobereich nur vorübergehend löschen weil ich keine Credits damit verschwenden möchte , Audio zu generieren, wenn ich mich auf den Chat-DBT-Bit konzentriere. Also das reicht vorerst. Die Create-Funktion, die wir zuvor für Chat GBT gesehen haben , benötigt mindestens zwei Argumente. Es gibt mehrere andere, und Sie können die API-Dokumentation einsehen, um all die verschiedenen Argumente zu verstehen , die Ihnen zur Verfügung stehen. Aber der, der den größten Einfluss hat , den ich gefunden habe, seine Temperatur. Und du kannst dir das als Kreativität vorstellen . Es geht 0-2. Ich denke, die Standardeinstellung ist 1.0. Relativ gesehen bedeutet keine Kreativität, dass Sie jedes Mal, wenn Sie denselben Befehl ausführen, so ziemlich dieselbe oder fast dieselbe Antwort erhalten jedes Mal, wenn Sie denselben Befehl ausführen, so ziemlich dieselbe oder fast dieselbe Antwort . Diese hohe Zahl, die maximal zwei, wird uns viel Kreativität geben. Und genau das möchte ich hier zeigen. Verwenden wir also eine Temperatur von zwei. Spar dir das. Und wir gehen rüber und führen den Befehl erneut aus. Da haben wir es. Oh, das ist sehr kreativ. Also fängt es irgendwie an, okay, Willkommen in unserer heutigen Klasse, wir diskutieren über bla, bla, bla. Aber wie Sie sehen können, wenn wir immer weiter nach unten gehen , ist es nur Müll. Das ist also wirklich kreativ. Sie möchten die Temperatur also wahrscheinlich nie als Wert von zwei verwenden , die niedrigste 10, wie ich bereits erwähnt habe. Dadurch erhalten Sie wahrscheinlich eine viel stabilere Leistung und jedes Mal so ziemlich das Gleiche. Es hängt davon ab, was du willst. Sie können bei dieser vorhersehbaren Ausgabe bleiben. Die Standardeinstellung, die ich finde, ist absolut in Ordnung. Ich neige generell dazu, es leer zu lassen. Ich verwende das Temperaturargument nicht es sei denn, ich möchte die Kreativität kontrollieren. Das ist aber nicht sehr hilfreich. Wie dem auch sei, das liegt an dir. Damit kannst du herumspielen. Schauen wir uns jetzt die Audiosteuerungen an. Was die Audioeinstellungen angeht, gibt es so ziemlich nur zu, zu den Spracheinstellungen, Stabilitäts - und Ähnlichkeitsverbesserungen, die wir zuvor gesehen haben. Zuallererst, Steigerung der Ähnlichkeit. Dies ist am effektivsten, wenn Sie eine benutzerdefinierte Stimme haben und dies tun können. Ich denke, du musst vielleicht einen kostenpflichtigen Tarif mit 11 Lampen haben, aber du kannst Sprachproben zur Verfügung stellen und es wird versuchen, eine KI-Stimme zu erzeugen, die dieser sehr ähnlich ist. Sie können also einen Ähnlichkeitsschub verwenden, um es sehr ähnlich oder weniger ähnlich zu machen. Wenn Sie es sehr hoch haben, kann es meiner Meinung nach zu Artefakten kommen, die auftauchen. Ich habe festgestellt, dass es nicht viel bewirkt , wenn wir die eingebauten Stimmen verwenden. Eine höhere Zahl klingt vielleicht etwas klarer, aber laut API-Dokumentation besteht ein gewisses Risiko, dass Artefakte auftreten. Also habe ich es einfach bei Null belassen und es war in Ordnung. Die Stabilitätseinstellung hat einen größeren Unterschied. Und es ist ein bisschen wie ihr kreatives Setting von Chat DBT. Es steuert die Ausdruckskraft der Stimme. Eine höhere Zahl macht es also stabiler. Ich bin eigentlich ein bisschen langweilig. Und eine niedrige Zahl ist, die Stimme ist sehr ausdrucksstark. Anstatt meine Credits zu generieren und zu verbrauchen, habe ich jetzt zwei Testdateien erstellt. Es ist also viel schneller für uns, den Unterschied zwischen diesen beiden Einstellungen zu hören . Ich habe ein paar Beispieldateien, die ich hier vorbereitet habe. Und hören wir uns die erste Bindung mit der größtmöglichen Stabilität eines Bonds an. Hallo. Dies ist ein Beispiel der Stimme namens Rachel aus 11 Labors mit einer Stabilitätseinstellung von eins und einer Ähnlichkeitsverstärkung von Null. Okay, es klingt ziemlich gut, ziemlich natürlich, aber auch irgendwie langweilig. Versuchen wir es also mit einer Stabilitätseinstellung von Null, was das Minimum ist. Hallo. Dies ist ein Beispiel der Stimme namens Rachel aus 11 Labors mit der Stabilitätseinstellung Null und einer Ähnlichkeitsverstärkung von Null. Wow, das freut sie sehr. Das ist möglicherweise zu ausdrucksstark. Ich habe es mit ein paar Proben gemacht und bin auf Null gesunken. Gehen wir für eine Sekunde zurück zum Programm. Ja, die Stabilitätseinstellung von Null ist mir wirklich zu viel. Ich mag 0,2. Ich habe gesehen, dass andere Leute in Diskussionsforen etwas zwischen 0,2 und 0,4 empfohlen haben. Also nimm diese und einen Ähnlichkeitsschub. Du kannst versuchen, damit herumzuspielen, aber im Allgemeinen ist Null oder sogar Eins in Ordnung. Es gibt keinen großen Unterschied. Auf diese Weise können Sie also die Ausgabe von Chen GBT und dem 11 Labs Audio steuern . Seien Sie vorsichtig, denn die Audioverarbeitung ist viel intensiver. Und deshalb werden Sie Ihre 11 Labs-Credits viel schneller verbrauchen als die Chat-GBT Credits. Ich empfehle, jedes Mal, wenn Sie eine neue Audiodatei generieren, eine Kopie davon zu erstellen und die Einstellungen für Stabilität und Ähnlichkeitsmissbrauch, die Sie verwendet haben, aufzuzeichnen Einstellungen für Stabilität und Ähnlichkeitsmissbrauch, die Sie verwendet haben, , sodass Sie diese Kopie immer noch haben, falls sie überschrieben wird . Sie können in Zukunft auf eine Beispieldatei zurückgreifen. Wie dem auch sei, ich denke, wir haben alles getan, was jetzt noch übrig ist , nur noch einmal zusammenzufassen, was wir gelernt haben. 8. Wir kommen zum Ende.: Da haben wir es. Sie wissen jetzt, wie Sie ganz einfach aus Schlagzeilen einen KI-gestützten Podcast erstellen können . Und wir haben im Laufe des Kurses hoffentlich viel gelernt . Lassen Sie uns also kurz die spezifischen Fähigkeiten zusammenfassen , die wir behandelt haben. Verwenden von Python zum Abrufen von Inhalten aus einem RSS-Feed. Generierung menschenähnlicher Texte mithilfe der Chat-GPT-API. Konvertierung von Text in Sprache mithilfe der 11 Labs API. Erstellen einer MP3-Audiodatei aus der Text-to-Speech-Ausgabe. Ich hoffe, Ihnen hat der Kurs gefallen und Sie fanden ihn nützlich. Jetzt, wo Sie es abgeschlossen haben, könnten die erlernten Fähigkeiten in Zukunft für eine Vielzahl verschiedener Projekte eingesetzt werden . Sie können natürlich täglich oder wöchentlich automatisch Audiodateien generieren und sie dann auf Ihren bevorzugten Podcast-Host hochladen. Einige Beispiele sind Bus Sprout, Simple Cost oder Transistor FM. Sie könnten alternativ den Code verwenden , den wir entwickelt haben, um andere Online-Dienste wie die Bildgenerierung oder sogar die Videogenerierung zu verwenden . Es sollte ziemlich einfach sein, den Code so zu optimieren eine Vielzahl von Online-APIs verwendet. Abschließend möchte ich mich bei Ihnen dafür bedanken , dass Sie an diesem Kurs teilgenommen haben. Es war ein Vergnügen, es dir beizubringen, und bitte denk daran, Übung macht den Meister. Ihre Programmierkenntnisse also weiter und erstellen Sie interessante Projekte. Und ganz wichtig, viel Spaß dabei. Wenn Sie Feedback oder Fragen haben, Sie diese gerne im Diskussionsbereich hinterlassen. Und falls Sie es noch nicht getan haben, denken Sie bitte darüber nach, eine Bewertung zu hinterlassen, damit andere Lernende diesen Kurs finden und von ihm profitieren können. Das war's also für mich. Und ich wünsche dir alles Gute für deine Programmierabenteuer.