Stellen Sie sich vor: Sie öffnen Telegram, öffnen einen Bot und zeichnen Sprachnachrichten auf, auf die Sie Textantworten aus dem GPT-Chat erhalten. Dieser Chatbot speichert Ihre Konversation, bis Sie Ihren Nachrichtenverlauf zurücksetzen. In diesem Artikel geben wir eine detaillierte Anleitung für eine benutzerfreundliche Erfahrung.

Der Einsatz von GPT-Voice-Chat geht über normale Gespräche hinaus. Dies ist besonders nützlich für Aufgaben wie das Schreiben von Artikeln oder das Verfassen von E-Mails, insbesondere wenn Sie in einer Nicht-Muttersprache arbeiten. Formulieren Sie einfach eine Nachricht aus dem Diktat, und mit ein paar Iterationen hilft Ihnen GPT Chat dabei, Ihren Text zu verfeinern und zu verfeinern, um das perfekte Ergebnis zu erzielen.

Schritt 1: Erstellen Sie einen Telegram-Bot und richten Sie Pipedream als Datenquelle ein

Um beim Senden einer Sprachnachricht an Telegram Antworten vom GPT-Chat zu erhalten, müssen wir das „Gehirn“ für unseren Telegram-Bot installieren. Dieses „Gehirn“ sollte in der Lage sein, die Nachricht zu verarbeiten, in Text umzuwandeln, sie an den GPT-Chat zu senden, den Verlauf unserer Gespräche einzubeziehen und die GPT-Chat-Antwort zu übermitteln. Pipedream, ein leistungsstarkes Tool zur Erstellung automatisierter Arbeitsabläufe, hilft uns bei der Automatisierung.

Unsere erste Aufgabe besteht darin, in Pipedream eine neue Datenquelle namens „Source“ einzurichten. Diese Quelle führt jedes Mal eine Automatisierung aus, wenn unser Telegram-Bot eine neue Nachricht erhält. Durch die Einrichtung dieser Quelle in Pipedream habe ich den Grundstein für ein reibungsloses und bequemes Sprachkommunikationssystem in Telegram gelegt und dabei die erweiterten Funktionen der GPT-Chat-Technologie genutzt.

Siehe auch  Untersuchungen der Stanford University ergaben, dass die Leistung des KI-Chatbots ChatGPT sehr instabil war_model_task_accuracy

Schritt 2: Richten Sie den Pipedream-Workflow ein, um Audio in Text umzuwandeln

In Schritt 2 ist es unser Ziel, die Umwandlung von Sprachnachrichten in Text zu automatisieren. Dazu habe ich in Pipedream einen neuen Workflow erstellt, der bei Eingang einer neuen Nachricht von der zuvor konfigurierten Quelle ausgelöst wird.

// stop_if_not_file_or_command export default defineComponent({ async run({steps, $ }) { const message =steps.trigger.event.message; if (!message.voice || !message.voice.file_id) { return $.flow. exit(“message.voice.file_id does not exist”) } else if (typeof message.text === ‘string’ && message.text.length !== 0 && message.text[0] === “/”) { return $.flow.exit(“message.text ist ein Befehl”) } }, })

Zunächst müssen wir einen kleinen Codeausschnitt hinzufügen, um den Trigger anzuhalten, wenn er nicht benötigt wird. Dadurch wird sichergestellt, dass unser System effizient und nur dann arbeitet, wenn es benötigt wird. Laden Sie als Nächstes die an Telegram gesendete Audiodatei hoch. Da wir zunächst nur die Datei-ID haben, müssen wir die eigentliche Datei abrufen, bevor wir fortfahren können.

// download_the_file import fs from „fs“; Importieren Sie TelegramBot aus „node-telegram-bot-api“; export default defineComponent({ props: { telegram_bot_api: { type: “app”, app: “telegram_bot_api”, } }, async run({steps, $ }) { // Ersetzen Sie den Wert unten durch das Telegram-Token, das Sie von @ erhalten BotFather const token = this.telegram_bot_api.$auth.token; const fileId =steps.trigger.event.message.voice.file_id; const bot = new TelegramBot(token); // const stream = bot.getFileStream(fileId); / / wait fs.createWriteStream(`tmp/${fileId}`); const fileLocalPath = `/tmp/${fileId}.oga`; let fileWriter = fs.createWriteStream(fileLocalPath); //Stream zum Schreiben in die Datei erstellen / / Wrap, um zu versprechen, „await“ zu verwenden, da Streams nicht asynchron/await-basiert sind (sie basieren auf Ereignissen) const getReadStreamPromise = () => { return new Promise((resolve,ject) => { const stream = bot.getFileStream(fileId ); //Strean in Dateibytes abrufen stream.on(‘data’, (chunk) => { console.log(‘getting data’) fileWriter.write(chunk); //Block für Block in unsere Datei kopieren }) stream.on(‘error’, (err) => { console.log(‘err’) Reject(err); }) stream.on(‘end’, () => { console.log(‘end’) fileWriter.end(); //Schließen Sie den Schreibstream, sobald alle Daten geschrieben wurden.solve(); }) }) } console.log(‘Downloaden und Speichern der Datei starten’); Warten Sie auf getReadStreamPromise(); console.log(‘Datei gespeichert’); return fileLocalPath }, })

// oga_to_mp3 import ffmpeg from „fluent-ffmpeg“; ffmpegInstaller aus „@ffmpeg-installer/ffmpeg“ importieren; export default defineComponent({ async run({steps, $ }) { // ffmpeg mit dem installierten Paket einrichten ffmpeg.setFfmpegPath(ffmpegInstaller.path); const inputPath =steps.download_the_file.$return_value const outputPath = “/tmp/output .mp3”; // Konvertieren Sie die OGA-Datei mit ffmpeg in MP3.wait new Promise((resolve,ject) => { ffmpeg(inputPath) .output(outputPath) .on(“end”,solve) .on(“error” , ablehnen) .run(); }); // Den Pfad zur gespeicherten MP3-Datei zurückgeben return outputPath; }, });

Am Ende von Schritt 2 wandelt unser Pipedream-Workflow die Sprachnachricht problemlos in Text um und legt damit den Grundstein für die weitere GPT-Chat-Integration in späteren Schritten.

Schritt 3: Verbesserung des Workflows für die GPT-Chat-Integration und Datenspeicherung

In Schritt 3 geht es darum, den GPT-Chat in unseren Workflow zu integrieren und den Gesprächsverlauf zu extrahieren, um Antworten zu generieren. Beginnen wir mit dem Zugriff auf unseren in den Datenspeichern von Pipedream gespeicherten Gesprächsverlauf, um sicherzustellen, dass unser GPT-Chat über den notwendigen Kontext verfügt, um aussagekräftige Antworten zu liefern.

{ „osnovaUnitId“: null, „url“: „https://booster.osnova.io/a/relevant?site=vc&v=2“, „place“: „post_inside“, „site“: „vc“, „ Einstellungen”: {“Modi”:{“externalLink”:{“buttonLabels”:[“\u0423\u0437\u043d\u0430\u0442\u044c”,”\u0427\u0438\u0442\u0430\u0442\u044c”,”\u041d\u0430\u0447\u0430\u0442\u044c”,”\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c”,”\u041a\u0443\u043f\u0438\u0442\u044c”,”\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c”,”\u0421\u043a\u0430\u0447\u0430\u0442\u044c”,”\u041f\u0435\u0440\u0435\u0439\u0442\u0438″]}},”deviceList”:{“desktop”:\u0414\u0435\u0441\u043a\u0442\u043e\u043f,”smartphone”:\u0421\u043c\u0430\u0440\u0442\u0444\u043e\u043d \u044b”,”tablet”:”\u041f\u043b\u0430\u043d\u0448\u0435\u0442\u044b”}} }

Dann fügen wir unserem Dialog einen versteckten Hinweis hinzu, um den Gesprächsfluss zu verbessern. Wenn die Konversation zu lang wird und das GPT-Chat-Speicherlimit überschreitet, müssen wir die Anzahl der Nachrichten nach der Aufforderung reduzieren, um eine optimale Leistung aufrechtzuerhalten.

/ add_hidden_start_of_conversation const prompt = ( `Als Assistentin fungieren. Ihr Name ist Donna. Sie sind weiblich. Sie sollten freundlich sein. Sie sollten keinen offiziellen Ton verwenden. Ihre Antworten sollten einfach und lakonisch, aber informativ sein. Bevor Sie eine Antwort geben, überprüfen Sie die obigen Informationen noch einmal. Versuchen Sie es zu lösen Aufgaben Schritt für Schritt. Ich schicke Ihnen Fragen oder Themen zur Diskussion und Sie werden mir antworten `); export default defineComponent({ async run({steps, $ }) { const messages =steps.get_history.$return_value; // Neue Nachrichten definieren const newMessages = [ { role: ‘user’, content: prompt, }, ]; // Neue Nachrichten dem vorhandenen Nachrichtenarray voranstellen return […newMessages, …messages]; }, })

// verringerte_history_tokens const maxCharsForDialog = 15000; const charsForDialog = (messages) => { let result_string = 0; for (let i = 0; i maxCharsForDialog) { // 1 Nachricht entfernen messages.splice(2, 1); messagesLen = charsForDialog(messages); } console.log(“Texte aus bereinigten Nachrichten length: “, charsForDialog(messages)); Return Messages; }, })

Dieser Schritt stellt sicher, dass unser GPT-Chat relevante und kontextbezogene Antworten liefert und so das gesamte Benutzererlebnis verbessert.

Schritt 4: Speichern Sie neue Nachrichten für zukünftige Gespräche in den Pipedream-Datenspeichern

Im letzten Schritt unseres Workflows konzentrieren wir uns auf das Speichern der neuesten Nachrichten im Konversationsverlauf. Dazu speichern wir sowohl die Nachricht des Nutzers als auch die GPT-Chat-Antwort.

Zuerst konvertiere ich jede Nachricht mithilfe spezieller Funktionen in einen String. Dieser Prozess stellt sicher, dass unsere Gesprächsdaten in einem geeigneten Format für die zukünftige Speicherung und Nutzung vorliegen.

// user_message_to_str export default defineComponent({ async run({steps, $ }) { return JSON.stringify(steps.create_transcription.$return_value.transcription) }, })

Anschließend fügen wir die konvertierten Nachrichten dem entsprechenden Konversationsverlauf in den Pipedream-Datenspeichern hinzu. Beispielsweise erlauben Sie GPT Chat, beim Erstellen neuer Antworten auf diese Nachrichten zu verweisen, was zu genaueren Antworten im Hinblick auf den Kontext führt.

Nach Abschluss dieser Schritte ist unser GPT-Chat-Sprachworkflow nun voll funktionsfähig und einsatzbereit.

// Assistant_message_to_str export default defineComponent({ async run({steps, $ }) { return JSON.stringify(steps.chat.$return_value.generated_message.content) }, })

Schritt 5: Genießen Sie die GPT-Voice-Chat-Ergebnisse

Sie haben also gelernt, wie Sie mithilfe von Pipedream eine effiziente sprachaktivierte GPT-Chat-Integration in Telegram erstellen, um den gesamten Prozess zu automatisieren. Dieses leistungsstarke Tool kann uns in vielerlei Hinsicht helfen, vom Schreiben von Artikeln bis zum Verfassen von E-Mails.

Zu den realen Beispielen für die Verwendung unseres GPT-Voice-Chats gehören das Schreiben von Artikeln und das Erstellen von E-Mails in einem iterativen Prozess. Durch die Bereitstellung eines ersten Inputs können gut formulierte Nachrichten einfach und effizient erstellt werden. Obwohl Versuche, strategische Marketingsitzungen mit diesem Bot durchzuführen, noch keine nennenswerten Ergebnisse erbracht haben, ist das Potenzial für einfache Sprachkommunikation klar.

Ich empfehle Ihnen, mithilfe dieser Anleitung Ihren eigenen GPT-Voice-Chat einzurichten. Wenn Sie Fragen haben, schreiben Sie in die Kommentare.

5/5 - (148 votes)
Anzeige

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein