公開中サイト
開発環境
Server | lightSail |
Language | Python3.11 |
Framework | Django |
DB | sqlite3 |
ローカル環境ではPythonのvenvを使用。エディタはvs codeです。
目的
とにかくSNSには乱暴な言葉が多く飛び交っている。そういう言葉遣いを投稿する前に、綺麗な文章にしようというのが目的のアプリ。
これで少しは地球も綺麗になるはずです。なにより自分がSNS弱者で乱暴な意見を言ってしまいがちなので、自分のために作りました。私同様にSNSやインターネットの中ではネット弁慶になりがちな人はぜひ、ChatGPTさんに校正してもらってから、POSTしましょう。
補足
最初はXのAPIと接続してPOSTすることを考えたけど、それだと私のアカウントを閲覧者全員に使わせることが可能になるので、リンクボタンだけにしました。COPYボタンで生成後のテキストをクリップボードにコピーできます。リンクボタンでXを開いてPOSTするという流れです。会員制のサイトなどであれば、X連携などの仕様で個々人の校正アプリとして使うことも可能なのではないかなと思います。ジョークアプリの傾向が強いです。
コード
client = OpenAI(
# This is the default and can be omitted
api_key = OPENAI_API_KEY,
)
# ChatGPT
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{
"role": "user",
"content": "ここに新しいユーザーの入力を置く"
},
{
"role": "system",
"content": """
下記規則に従って文章を書き直してください。
・日本語で応答してください。
・140文字以内に書き直してください。
・差別的な表現があったら書き直してください。
・不適切な表現があったら書き直してください。
・暴力的な表現があれば削除してください。
・性的な表現があれば削除してください。
・できるだけ丁寧な言葉遣いに書き直してください。
そして書き直した文章だけ回答してください。説明などは一切しないでください。
なおした文章だけを返してください。
"""
},
{
"role": "user",
"content": sentence
},
],
)
chat_results = response.choices[0].message.content
アプリ画面
感想
プロンプトを仕込んでおけば、ある程度の構成をしてくれることは気づいた。チャットが過去の履歴を引き継いでしまうのでどうすればいいかと思っていたら、最初のユーザーに"ここに新しいユーザーの入力を置く"と記入することで履歴削除ができるらしい。(chatGPT4談)
強すぎる言葉を使うと、校正しないでその言葉に反応してしまうのは仕方ないか。あらかじめプロンプトを仕込むことでChatGPTに基盤となる人格?を埋め込むことは理解できた。
まだ3作目のアプリだし、しばらくは簡単でシンプルなアプリが続くとは思う。