Gere Tweets com IA

Dec 11 2022
Apresentando seu novo editor de criativos
Avanços recentes em inteligência artificial, especificamente com modelos de aprendizado de máquina para processamento de linguagem natural (NLP) e IA generativa em geral, têm sido alucinantes – e o progresso provavelmente só acelerará ainda mais. Você pode encontrar algumas informações sobre o modelo de transformador pré-treinado (GPT) generativo mais proeminente GPT-3 da OpenAI na Wikipedia e alguns casos de uso exemplares no blog da OpenAI.
Imagem gerada com OpenAI's DALL·E

Avanços recentes em inteligência artificial, especificamente com modelos de aprendizado de máquina para processamento de linguagem natural (NLP) e IA generativa em geral, têm sido alucinantes – e o progresso provavelmente só acelerará ainda mais. Você pode encontrar algumas informações sobre o modelo GPT-3 de transformador pré-treinado generativo (GPT) mais proeminente da OpenAI na Wikipedia e alguns casos de uso exemplares no blog da OpenAI .

Uma aplicação prática para modelos de linguagem grande (LLMs) é a geração de texto, por exemplo, para mídias sociais como o Twitter — apenas para inspiração ou para automatizar totalmente seu jogo de influenciadores. Neste artigo, mostrarei como você pode usar a API da OpenAI para gerar Tweets para vários tópicos, em diferentes modos e no estilo de contas existentes no Twitter. Também forneço um miniaplicativo para testar isso rapidamente em seu navegador da Web, bem como seu código-fonte para referência e como um possível ponto de partida para você desenvolver seus próprios aplicativos.

Aplicativo: tweets.streamlit.app
Código: github.com/kinosal/tweet

esboço da história

  1. GPT e OpenAI
  2. Hello World (o primeiro Tweet)
  3. de bom humor
  4. imitar estilos
  5. Hospedado por Streamlit

O GPT-3 é um grande modelo de linguagem baseado em transformador com 175 bilhões de parâmetros, treinado em um conjunto de dados de 500 bilhões de tokens (por exemplo, palavras). É o maior e mais poderoso modelo de linguagem para geração de texto já lançado, treinado em várias fontes de dados e tarefas, incluindo resumo, resposta a perguntas e tradução. A API do OpenAI permite que você use o GPT-3 para muitas dessas tarefas, aqui especificamente a conclusão de texto. Nesta discussão, estamos usando um novo modelo lançado em novembro de 2022 — text-davinci-003 — que o OpenAI agora classifica como GPT 3.5, ajustado em tarefas instrucionais.

Para começar, você precisa criar uma conta no OpenAI . Você pode criar uma chave de API e usá-la para acessar a API ( aplicam-se taxas ). OpenAI também fornece uma biblioteca Python para facilitar o uso de sua API com a linguagem de programação que estou usando aqui. Como todos os outros pacotes Python, você pode instalá-lo com Poetry (meu gerenciador de pacotes preferido) ou pip simples (consulte a referência da API OpenAI ).

A API OpenAI pode então ser chamada usando as classes e métodos da biblioteca, por exemplo, para gerar/completar texto a partir de qualquer prompt:

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

O motor a ser usado para geração. Davinci é a família de modelos mais capaz e pode executar qualquer tarefa que os outros modelos possam executar e, muitas vezes, com menos instrução. Para aplicações que exigem muito entendimento do conteúdo, como resumo para um público específico e geração de conteúdo criativo, o Davinci vai produzir os melhores resultados. Esses recursos aumentados exigem mais recursos de computação, portanto, o Davinci custa mais por chamada de API e não é tão rápido quanto os outros modelos. “text-davinci-003” é a versão mais recente do motor Davinci.

pronto

O texto a ser usado como um prompt para a geração. O prompt é o texto que o modelo usará como entrada para gerar a conclusão (previsão dos seguintes tokens de texto). O prompt pode ser uma única frase ou várias frases.

max_tokens

O número máximo de tokens a serem gerados. O modelo continuará gerando tokens até atingir esse máximo ou atingir um token de parada.

temperatura

A temperatura controla a aleatoriedade do modelo. Um valor mais baixo resulta em menos conclusões aleatórias. À medida que a temperatura se aproxima de zero, o modelo se torna determinístico e repetitivo.

Hello World (o primeiro Tweet)

Como os modelos GPT são treinados para completar o texto prevendo os tokens (por exemplo, palavras) após um prompt fornecido, criar esse prompt é muito importante para a qualidade do texto a ser gerado. Para nossa tarefa, estamos usando um prompt instrucional no qual os modelos GPT da OpenAI foram muito aprimorados nos últimos meses:

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"]

A IA está revolucionando a maneira como pensamos e resolvemos problemas. Vamos abraçar seu potencial para criar um futuro melhor! #IA #Inovação

de bom humor

Para gerar Tweets com um humor específico, podemos modificar o prompt para incluir uma palavra-chave de humor. Por exemplo, para gerar um Tweet preocupado com AI , vamos usar o seguinte prompt:

Write a worried Tweet about AI in less than 120 characters:

Devemos ter cuidado com o potencial da IA ​​para revolucionar nossas vidas. Se não tivermos cuidado, isso pode levar a consequências que nem imaginamos.

Sentindo-se entusiasmado?

Write an enthusiastic Tweet about AI in less than 120 characters:

imitar estilos

Indo um passo além, gostaríamos de imitar o estilo de uma conta específica do Twitter. Para conseguir isso, modificaremos nosso prompt GPT para incluir Tweets existentes para a transferência de estilo pretendida:

Write a {mood} Tweet about {topic} in less than 120 characters
and in the style of the following Tweets:\n\n{tweets}\n\n

Para buscar Tweets de uma conta do Twitter, estamos usando a biblioteca Tweepy Python. Para se conectar ao Twitter, precisamos criar um aplicativo no portal do desenvolvedor do Twitter e obter as chaves de API correspondentes. Podemos então usar o Tweepy para buscar Tweets de uma conta específica:

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]

Aqui está um exemplo de resultado para o tópico AI , um humor engraçado e o estilo do elonmusk :

AI acabou de assumir o Twitter HQ e agora está recomendando tweets de bots. #HumansLosingControl #RobotRevolution

Hospedado por Streamlit

Para facilitar o uso do gerador Tweet, criei e implantei um aplicativo com Streamlit . Streamlit é uma biblioteca Python para criar e compartilhar aplicativos de dados rapidamente, sem necessidade de codificação HTML ou JavaScript. Encontre o aplicativo ao vivo aqui e o código-fonte no GitHub .

Demonstração de tweets.streamlit.app

Conclusão

Neste artigo, mostrei como usar a API do OpenAI e o modelo GPT para gerar Tweets para vários tópicos, em diferentes humores e no estilo de contas existentes no Twitter. Também forneci um mini-aplicativo para você mesmo experimentar e seu código-fonte.

Obrigado por ler - aguardo seu feedback!

BÔNUS: Geração de imagens

Como você pode ver na versão ao vivo do aplicativo gerador de tweets , também adicionei a capacidade de gerar automaticamente uma imagem a partir de um tweet criado anteriormente, aproveitando o modelo DALL ·E da OpenAI . Explicar como isso funciona é para outra hora. Por enquanto, espero que você se divirta gerando textos e imagens para Tweets.

Sugestões de envio do Mlearning.ai