【ChatGPTのベース】GPT3を使ってTwitterのリプに自動返信してみた

【ChatGPTのベース】GPT3を使ってTwitterのリプに自動返信してみた

今回はChatGPTのベースであるGPT3(文章生成AI)を使ってTwitterのリプに自動返信しました。

【コードはこちら】
# インストールがまだの方
pip install openai
pip install schedule
pip install tweepy

# モジュールをインポート
import openai
import schedule
import time
import tweepy

# Twitter認証(APIキー等の取得方法は概要欄へ)
API_KEY=”取得したAPI_KEYを記入してください”
API_SECRET=”取得したAPI_SECRETを記入してください”
ACCESS_TOKEN=”取得したACCESS_TOKENを記入してください”
ACCESS_TOKEN_SECRET=”取得したACCESS_TOKEN_SECRETを記入してください”

auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)

# OpenAIのAPIキーを記入(取得方法は概要欄へ)
openai.api_key = “取得したAPI_KEYを記入してください”

# モデル設定
model = “text-davinci-003”

# 自動返信するツイートのID
tweet_id =

# 自動返信を実行
# 自動返信が終わったリプのツイートIDを入れる
finish_list=[]

def gpt3_reply():

# 自分宛のリプを取得
mentions=tweepy.Cursor(api.mentions_timeline).items(10)

# 対象のツイートIDでまだ返信をしていなければGPT3が自動返信
for mention in mentions:
if mention.in_reply_to_status_id == tweet_id:
if mention.id in finish_list:
pass
else:
prompt = mention.text
# 文章生成
completions = openai.Completion.create(
model=model,
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)

# 生成結果を取得してツイート
message = completions.choices[0].text
if len(message) 小なり(変換してください) 140:
api.update_status(status=’@’ + mention.user.screen_name + message, in_reply_to_status_id=mention.id)
finish_list.append(mention.id)

else:
pass

return finish_list

# 定期実行
schedule.every(1).minutes.do(gpt3_reply)

while True:
schedule.run_pending()
time.sleep(6)

【Twitter APIの取得方法】
https://arika-blog.com/twitter-api/

【OpenAIのAPY keyの取得方法】
https://arika-blog.com/openai/

【Completion.create()のパラメータについて】
https://beta.openai.com/docs/api-reference/completions/create

【価格について】
https://openai.com/api/pricing/

【トークン数を調べる】
https://beta.openai.com/playground

blog
https://arika-blog.com/
Twitter

#python
#ChatGPT
#GPT3
#Twitter
#API
#OpenAI
#自動化
#文章生成AI
#twitterbot
#bot

Twitterカテゴリの最新記事