見出し画像

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

https://ai.nuevo.jp/response_mail/

開発環境

| | |
|:------------:|:------------:|
| Server | lightSail |
| Language | Python3.11 |
| Framework | Django |
| DB | sqlite3 |

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

目的

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

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

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

コード

    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()

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

アプリ画面


感想

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

#Python #API #djangp #生成AI #ChatGPT

この記事が気に入ったらサポートをしてみませんか?