0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【生成AIアプリ100チャレンジ】(15)返信メール生成・校正アプリ

Last updated at Posted at 2024-04-14

開発環境

Server lightSail
Language Python3.11
Framework Django
DB sqlite3

ローカル環境ではPythonのvenvを使用。エディタはvs codeです。

目的

メールの文章を考えるのがめんどくさいので、雛形を生成AIに書いてもらって楽しようというアプリです。
会社と名前は、ChatGPTに送らないよう、最低限のセキュリティだけ行なっています。

返信メールの内容と簡単な返信メールの内容をチャットGPTにリクエストとして送信。
最適な文書に生成・校正していただけるというアプリです。
実際に私も同じ内容の処理をChatGPTに問い合わせていたので、これで時間短縮になります。
同じ指示をなん度もしていたので、これでとても楽になります。

個人情報を送らないように気をつけてください。

コード

qiita.rb
    chat_results = ""
    if request.method == "POST":
        form = ChatForm(request.POST)
        if form.is_valid():
            company = form.cleaned_data['company']
            name = form.cleaned_data['name']
            received_mail = form.cleaned_data['received_mail']
            response_mail = form.cleaned_data['response_mail']

            client = OpenAI(
                api_key = OPENAI_API_KEY,
            )
            response = client.chat.completions.create(
                model="gpt-4",
                messages=[
                    {
                        "role": "user",
                        "content": "ここに新しいユーザーの入力を置く"
                    },
                    {
                        "role": "system",
                        "content": f"""
                        常に新しいユーザーです。履歴は忘れてください。
                        名前も会社名も忘れてください。
                        あなたは日本語が詳しい優秀な校正編集者です。

                        受信メッセージ
                        \nーーーーーーーーーーーーーーーーーーーーーー\n
                        {received_mail}
                        \nーーーーーーーーーーーーーーーーーーーーーー\n
                        メールから受信したメッセージです。内容を把握してください。

                        返信メッセージ
                        \nーーーーーーーーーーーーーーーーーーーーーー\n
                        {response_mail}
                        \nーーーーーーーーーーーーーーーーーーーーーー\n
                        受信メッセージの内容を把握した上で、返信メッセージのテキストを丁寧にわかりやすくなるように日本語で校正してください。
                        必ずメール文章の構成をキープしてください。
                        説明などは不要ですので、校正した文章のみをレスポンスしてください。
                        """
                    }
                ],
            )
            chat_results = response.choices[0].message.content
            chat_results = chat_results.replace("\n", "<br>")
            chat_results = company + "<br>" + name + "<br><br>" + chat_results

    else:
        form = ChatForm()

実際に私がよく使うプロンプトを採用しています。
実用検証済みです。

アプリ画面

スクリーンショット 2024-04-14 13.53.07.png

感想

送信メールの応用で返信メールを作成しました。こちらの方がより実用的です。
少なくとも私は頻繁に使うことになるでしょう。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?