4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChatGPT API を使ってコードレビューしてくれるアプリを作りました

Posted at

はじめに

最近話題の ChatGPT の API を触ってみたいと思い、入力したコードの修正点やアドバイスをくれる Web アプリケーションを作ってみました。
https://ku6kaw-code-doctor-code-doctor-ptktx3.streamlit.app/

技術スタック

Version
言語 Python 3.10.6
フレームワーク Streamlit 1.20.0
ライブラリ Openai 0.27.2

概要

Code_Doctor_2023-03-14-23-18-47.png

  • プログラミング言語をプルダウンメニューから選択します。

    Code_Doctor_2023-03-14-23-04-50.png

  • レビューしてほしいコードを貼り付けます。

    Code_Doctor_2023-03-14-23-08-22.png

  • 生成ボタンを押します。

  • 簡単なアドバイスや修正案が表示されます。

    Code_Doctor_2023-03-14-23-27-36.png

ソースコード

import streamlit as st
import openai
import os

openai.api_key = "OPENAI_API_KEY"

def generate_advice(code, language):
    res = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {
                "role": "system",
                "content": f"Please output at least 3 advices for the input program in Japanese. The language specification should follow {language} ."
            },
            {
                "role": "user",
                "content": code
            },
        ],
    )
    return res["choices"][0]["message"]["content"]

language_list = ["Python", "JavaScript", "Java", "Go", "C", "C++", "Ruby", "PHP", "Swift", "TypepScript"]

st.title("Code Doctor")
st.header('プログラムのアドバイスを行うアプリです')
selected_language = st.selectbox("プログラミング言語を選択してください", language_list)
text_input = st.text_area("アドバイスしてほしいコードを入力してください", "")

if st.button("生成"):
    advices = generate_advice(text_input, language=selected_language)
    st.write(advices)
 

まとめ

今回、chatGPT API と streamlit を初めて使ってみましたが、めちゃくちゃ簡単に開発、デプロイができました!(プログラムファイルは 1 つだけ)

使い方がわかったので、chatGPT をもっと生かしたオリジナリティあるプロダクトを次は作ってみたいですね!

参考

4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?