1
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チャレンジ】(9)某SNS風チャット

Last updated at Posted at 2024-04-01

公開サイト

開発環境

Server lightSail
Language Python3.11
Framework Django
DB sqlite3

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

目的

ChatGPTとのトークを某SNS風のデザインにしました。
過去のリクエスト、レスポンスをSESSIONに保存し、格納。ChatGPTとのトークがよりフレンドリーな感じになりました。
これから、このレイアウトをベースに、ChatGPT同士で会話させたり、違うプロンプトを入れたChatGPTに質問し、異なる答えと投票システムを入れて、エヴァンゲリオンのマギシステムを再現できたらなって思っている。マギシステムはそれっぽいデザインに変えるかもしれない。

コード

qiita.rb
@login_required
    OPENAI_API_KEY = os.environ['OPENAI_API_KEY']
    user_message = request.POST.get('message') 
    conversation = request.session.get('conversation', [])
    conversation.append(user_message)
    prompt = " ".join(conversation)
    client = OpenAI(
        api_key = OPENAI_API_KEY,
    )
    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[
            {
                "role": "system",
                "content": "日本語で応答してください"
            },
            {
                "role": "user",
                "content": prompt
            },
        ],
    )
    bot_response = response.choices[0].message.content
    bot_response = bot_response.replace("\n", "<br>")
    conversation.append(bot_response)
    request.session['conversation'] = conversation
    return JsonResponse({'message': bot_response})
def chat_view(request):
    full_url = request.build_absolute_uri('/')
    app_name = "chat_bot"
    return render(request, 'chat.html', {'domain': full_url,'app_name': app_name})

アプリ画面

スクリーンショット 2024-04-01 20.57.09.png

感想

 しばらくはこの画面をベースにして、生成AIのAPIを組み合わせてやっていくと思う。今回はデザインばかりの対応をしてしまったが、デザインさえできてしまえば、あとは組み合わせたAPIが量産できるので、今後いろいろやっていきたい。
 ユーザーログインシステムにしたらユーザーのアイコンを設置とかできるんだろうな、とは可能性はいろいろある。

1
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
1
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?