Python StreamlitでOpenAIのGPT-3モデルを使ってチャットしてみる

***今回は、Python StreamlitでOpenAIのGPT-3モデルを使ってチャットをする一例を紹介します。Streamlitライブラリ、OpenAI APIが提供するライブラリopenaiライブラリをつかって、GPT-3を呼び出してテキスト生成や質問応答などのタスクを行うことができます。***

:::note info 
- **1. 2023年2月現在、OpenAI GPT-3をPythonから使うには、OpenAIが提供するopenaiパッケージを使用します。**
- **2. openapiを使うには別途OpenAIのAPIキーを取得する必要があります。APIキーを正しく設定することで、このコードを実行することができます。**
- **3. OpenAI APIキーを取得するには、OpenAIのWebサイトにアクセスしてアカウントを作成してください。アカウント作成後、APIキーを取得するためのページにアクセスできます。URLは次の通りです。**
  https://platform.openai.com/account/api-keys
- **4. openaiのライブラリーをインストールしておきます。**
```
pip install openai
```
- **5. streamlitのライブラリーをインストールしておきます。**
```
pip install streamlit
```

:::

それでは実際に、OpenAIのGPT-3モデルを使ってチャットができるコードを紹介します。


```Python:GPT.py
import openai
import streamlit as st

# Replace "YOUR_API_KEY" with your actual OpenAI API key
openai.api_key = "取得したAPIキー"

st.title("GPT3 Chatbot")

# Get the user's message
message = st.text_input("Enter your message:")

# Generate a response from GPT if the user has entered a message
if message:
  response = openai.Completion.create(
    engine="text-davinci-002",
    prompt=f"/japanese {message}",
    max_tokens=1024,
    n=1,
    stop=None,
    temperature=0.5,
  ).choices[0].text
  #Display the response from GPT
  st.write(f"GPT response: {response}")

```

## 2. 実行する

```
>　 streamlit run GPT.py
```
![run.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2075298/ac8fdf94-00f2-6773-2535-0a2a5045e14b.png)

Webブラウザで表示されているURLを開いてみる。


# 3. 結果

![sample.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2075298/014ac24f-518d-6a54-428c-6c4e2195022e.png)



結果、Strealit上のWebブラウザででチャットができています。


この情報が皆様のなんらかのお役に立てることを望んでおります。
皆さんも、お試しください。

<table border="0" cellpadding="0" cellspacing="0"><tr><td><div style="border:1px solid #95a5a6;border-radius:.75rem;background-color:#FFFFFF;width:504px;margin:0px;padding:5px;text-align:center;overflow:hidden;"><table><tr><td style="width:240px"><a href="https://hb.afl.rakuten.co.jp/ichiba/14f168ca.485dc5c9.14f168cb.b3e40f57/_RTLink71449?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2Fae770ef9c5aa402d410516fc252474c8%2F&link_type=picttext&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiIyNDB4MjQwIiwibmFtIjoxLCJuYW1wIjoicmlnaHQiLCJjb20iOjEsImNvbXAiOiJkb3duIiwicHJpY2UiOjAsImJvciI6MSwiY29sIjoxLCJiYnRuIjoxLCJwcm9kIjoxLCJhbXAiOmZhbHNlfQ%3D%3D" target="_blank" rel="nofollow sponsored noopener" style="word-wrap:break-word;"  ><img src="https://hbb.afl.rakuten.co.jp/hgb/14fd8852.00a017ee.14fd8853.823bacf4/?me_id=1213310&item_id=20185382&pc=https%3A%2F%2Fthumbnail.image.rakuten.co.jp%2F%400_mall%2Fbook%2Fcabinet%2F3669%2F9784798063669.jpg%3F_ex%3D240x240&s=240x240&t=picttext" border="0" style="margin:2px" alt="" title=""></a></td><td style="vertical-align:top;width:248px;"><p style="font-size:12px;line-height:1.4em;text-align:left;margin:0px;padding:2px 6px;word-wrap:break-word"><a href="https://hb.afl.rakuten.co.jp/ichiba/14f168ca.485dc5c9.14f168cb.b3e40f57/_RTLink71449?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2Fae770ef9c5aa402d410516fc252474c8%2F&link_type=picttext&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiIyNDB4MjQwIiwibmFtIjoxLCJuYW1wIjoicmlnaHQiLCJjb20iOjEsImNvbXAiOiJkb3duIiwicHJpY2UiOjAsImJvciI6MSwiY29sIjoxLCJiYnRuIjoxLCJwcm9kIjoxLCJhbXAiOmZhbHNlfQ%3D%3D" target="_blank" rel="nofollow sponsored noopener" style="word-wrap:break-word;"  >Pythonプログラミング逆引き大全 400の極意 [ 金城俊哉 ]</a></p><div style="margin:10px;"><a href="https://hb.afl.rakuten.co.jp/ichiba/14f168ca.485dc5c9.14f168cb.b3e40f57/_RTLink71449?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2Fae770ef9c5aa402d410516fc252474c8%2F&link_type=picttext&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiIyNDB4MjQwIiwibmFtIjoxLCJuYW1wIjoicmlnaHQiLCJjb20iOjEsImNvbXAiOiJkb3duIiwicHJpY2UiOjAsImJvciI6MSwiY29sIjoxLCJiYnRuIjoxLCJwcm9kIjoxLCJhbXAiOmZhbHNlfQ%3D%3D" target="_blank" rel="nofollow sponsored noopener" style="word-wrap:break-word;"  ><img src="https://static.affiliate.rakuten.co.jp/makelink/rl.svg" style="float:left;max-height:27px;width:auto;margin-top:0"></a><a href="https://hb.afl.rakuten.co.jp/ichiba/14f168ca.485dc5c9.14f168cb.b3e40f57/_RTLink71449?pc=https%3A%2F%2Fproduct.rakuten.co.jp%2Fproduct%2F-%2Fae770ef9c5aa402d410516fc252474c8%2F%3Fscid%3Daf_pc_bbtn&link_type=picttext&ut=eyJwYWdlIjoiaXRlbSIsInR5cGUiOiJwaWN0dGV4dCIsInNpemUiOiIyNDB4MjQwIiwibmFtIjoxLCJuYW1wIjoicmlnaHQiLCJjb20iOjEsImNvbXAiOiJkb3duIiwicHJpY2UiOjAsImJvciI6MSwiY29sIjoxLCJiYnRuIjoxLCJwcm9kIjoxLCJhbXAiOmZhbHNlfQ==" target="_blank" rel="nofollow sponsored noopener" style="word-wrap:break-word;"  ><div style="float:right;width:41%;height:27px;background-color:#bf0000;color:#fff!important;font-size:12px;font-weight:500;line-height:27px;margin-left:1px;padding: 0 12px;border-radius:16px;cursor:pointer;text-align:center;">楽天で購入</div></a></div></td></tr></table></div><br><p style="color:#000000;font-size:12px;line-height:1.4em;margin:5px;word-wrap:break-word"></p></td></tr></table>