Generieren Sie Tweets mit KI
Die jüngsten Fortschritte in der künstlichen Intelligenz, insbesondere bei maschinellen Lernmodellen für die Verarbeitung natürlicher Sprache (NLP) und der generativen KI im Allgemeinen, waren überwältigend – und der Fortschritt wird sich wahrscheinlich noch weiter beschleunigen. Einige Hintergrundinformationen zum bekanntesten GPT-Modell ( Generative Pre-Trained Transformer ) von OpenAI finden Sie auf Wikipedia und einige beispielhafte Anwendungsfälle im Blog von OpenAI .
Eine praktische Anwendung für Large Language Models (LLMs) ist die Textgenerierung, z. B. für soziale Medien wie Twitter – nur zur Inspiration oder zur vollständigen Automatisierung Ihres Influencer-Spiels. In diesem Artikel werde ich Sie durch die Verwendung der API von OpenAI führen, um Tweets für verschiedene Themen, in verschiedenen Stimmungen und im Stil bestehender Twitter-Konten zu generieren. Ich stelle auch eine Mini-App bereit, um dies schnell in Ihrem Webbrowser auszuprobieren, sowie den Quellcode als Referenz und als potenziellen Ausgangspunkt für die Entwicklung Ihrer eigenen Anwendungen.
App: tweets.streamlit.app
Code: github.com/kinosal/tweet
Gliederung der Geschichte
- GPT und OpenAI
- Hallo Welt (der erste Tweet)
- In der Stimmung
- Stile imitieren
- Gehostet von Streamlit
GPT-3 ist ein großes transformatorbasiertes Sprachmodell mit 175 Milliarden Parametern, das auf einem Datensatz von 500 Milliarden Token (z. B. Wörtern) trainiert wurde. Es ist das bisher größte und leistungsstärkste Sprachmodell für die Textgenerierung, das auf verschiedene Datenquellen und Aufgaben trainiert wurde, einschließlich Zusammenfassung, Beantwortung von Fragen und Übersetzung. Die API von OpenAI ermöglicht es Ihnen, GPT-3 für viele dieser Aufgaben zu verwenden, hier speziell für die Textvervollständigung. In dieser Diskussion verwenden wir ein neues Modell, das im November 2022 veröffentlicht wurde – text-davinci-003 – das OpenAI jetzt als GPT 3.5 klassifiziert und auf Unterrichtsaufgaben abgestimmt ist.
Um zu beginnen, müssen Sie ein Konto bei OpenAI erstellen . Sie können dann einen API-Schlüssel erstellen und ihn verwenden, um auf die API zuzugreifen ( gebührenpflichtig ). OpenAI bietet auch eine Python-Bibliothek, um die Verwendung ihrer API mit der Programmiersprache, die ich hier verwende, zu vereinfachen. Wie alle anderen Python-Pakete können Sie es mit Poetry (mein bevorzugter Paketmanager) oder einfach pip installieren (siehe die OpenAI - API-Referenz ).
Die OpenAI-API kann dann mithilfe der Klassen und Methoden der Bibliothek aufgerufen werden, z. B. um Text aus einer beliebigen Eingabeaufforderung zu generieren/zu vervollständigen:
import openai
openai.api_key = <YOUR-API-KEY>
response = openai.Completion.create(
engine=<MODEL-NAME>,
prompt=<YOUR-TEXT-PROMPT>,
max_tokens=<MAXIMUM-TEXT-LENGTH>,
temperature=<RANDOMNESS-BETWEEN-0-and-1>,
)
generated_text = response["choices"][0]["text"]
Motor
Der Motor für die Generierung. Davinci ist die leistungsfähigste Modellfamilie und kann jede Aufgabe ausführen, die die anderen Modelle ausführen können, und oft mit weniger Anweisungen. Für Anwendungen, die viel Verständnis des Inhalts erfordern, wie z. B. Zusammenfassung für ein bestimmtes Publikum und kreative Inhaltsgenerierung, wird Davinci die besten Ergebnisse erzielen. Diese erweiterten Fähigkeiten erfordern mehr Rechenressourcen, sodass Davinci pro API-Aufruf mehr kostet und nicht so schnell ist wie die anderen Modelle. „text-davinci-003“ ist die neueste Version der Davinci-Engine.
prompt
Der als Eingabeaufforderung für die Generierung zu verwendende Text. Die Eingabeaufforderung ist der Text, den das Modell als Eingabe verwendet, um die Vervollständigung (Vorhersage der folgenden Texttoken) zu generieren. Die Aufforderung kann ein einzelner Satz oder mehrere Sätze sein.
max_tokens
Die maximale Anzahl zu generierender Token. Das Modell generiert weiterhin Token, bis es dieses Maximum erreicht oder ein Stopp-Token erreicht.
Temperatur
Die Temperatur steuert die Zufälligkeit des Modells. Ein niedrigerer Wert führt zu weniger zufälligen Vervollständigungen. Wenn sich die Temperatur Null nähert, wird das Modell deterministisch und repetitiv.
Hallo Welt (der erste Tweet)
Da GPT-Modelle darauf trainiert werden, Text zu vervollständigen, indem die Tokens (z. B. Wörter) nach einem bereitgestellten Prompt vorhergesagt werden, ist die Erstellung dieses Prompts sehr wichtig für die Qualität des zu erzeugenden Textes. Für unsere Aufgabe verwenden wir eine Anweisungsaufforderung, an der die GPT-Modelle von OpenAI in den letzten Monaten stark verbessert wurden:
Write a Tweet about {topic} in less than 120 characters:
response = openai.Completion.create(
engine="text-davinci-003",
prompt="Write a Tweet about AI in less than 120 characters:\n",
max_tokens=50,
temperature=0.9,
)
generated_text = response["choices"][0]["text"]
KI revolutioniert die Art und Weise, wie wir denken und Probleme lösen. Lassen Sie uns sein Potenzial nutzen, um eine bessere Zukunft zu schaffen! #KI #Innovation
In der Stimmung
Um Tweets in einer bestimmten Stimmung zu generieren, können wir die Eingabeaufforderung so ändern, dass sie ein Stimmungsschlüsselwort enthält. Um beispielsweise einen besorgten Tweet über KI zu generieren , verwenden wir die folgende Eingabeaufforderung:
Write a worried Tweet about AI in less than 120 characters:
Wir müssen vorsichtig sein mit dem Potenzial von KI, unser Leben zu revolutionieren. Wenn wir nicht aufpassen, könnte dies zu Konsequenzen führen, die wir uns nicht einmal vorstellen können.
Begeistert?
Write an enthusiastic Tweet about AI in less than 120 characters:
Stile imitieren
Wir gehen noch einen Schritt weiter und möchten den Stil eines bestimmten Twitter-Kontos imitieren. Um dies zu erreichen, werden wir unsere GPT-Eingabeaufforderung ändern, um vorhandene Tweets für die beabsichtigte Stilübertragung einzuschließen:
Write a {mood} Tweet about {topic} in less than 120 characters
and in the style of the following Tweets:\n\n{tweets}\n\n
Um Tweets von einem Twitter-Konto abzurufen, verwenden wir die Tweepy- Python-Bibliothek. Um eine Verbindung zu Twitter herzustellen, müssen wir eine App auf dem Entwicklerportal von Twitter erstellen und die entsprechenden API-Schlüssel abrufen. Wir können dann Tweepy verwenden, um Tweets von einem bestimmten Konto abzurufen:
import tweepy
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
response = api.user_timeline(
screen_name=account,
tweet_mode="extended", # returns full text
)
tweets = [r.full_text for r in response]
Hier ist ein Beispielergebnis für das Thema KI , eine lustige Stimmung und den Stil des Elonmusk :
AI hat gerade das Twitter-Hauptquartier übernommen und empfiehlt jetzt Tweets von Bots. #HumansLosingControl #RobotRevolution
Gehostet von Streamlit
Um die Verwendung des Tweet-Generators zu vereinfachen, habe ich eine App mit Streamlit erstellt und bereitgestellt . Streamlit ist eine Python-Bibliothek zum schnellen Erstellen und Freigeben von Daten-Apps, ohne dass HTML- oder JavaScript-Codierung erforderlich ist. Die Live-App finden Sie hier und den Quellcode auf GitHub .
Fazit
In diesem Artikel habe ich Ihnen gezeigt, wie Sie das API- und GPT-Modell von OpenAI verwenden, um Tweets für verschiedene Themen, in verschiedenen Stimmungen und im Stil bestehender Twitter-Konten zu generieren. Ich habe auch eine Mini-App bereitgestellt, um sie und ihren Quellcode selbst auszuprobieren.
Vielen Dank fürs Lesen – ich freue mich auf Ihr Feedback!
BONUS: Bilderzeugung
Wie Sie in der Live-Version der Tweet-Generator - App sehen können, habe ich auch die Möglichkeit hinzugefügt, automatisch ein Bild aus einem zuvor erstellten Tweet zu generieren, indem ich das DALL·E - Modell von OpenAI nutzt. Wie das funktioniert, soll ein anderes Mal erklärt werden. Fürs Erste wünsche ich Ihnen viel Spaß beim Generieren von Tweet-Texten und -Bildern.
Mlearning.ai Vorschläge zur Einreichung
![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































