GoogleColaboratoryで激ヤバAI「GPT-3」を使おう！(2021年12月現在)

#GPT-3のヤバさ
**GPT-3**は、OpenAIが開発している自然言語処理のモデルです。まるで人間のような振る舞いをします。どれくらいヤバいかと言うと、「あまりにも高度な文章が作成できる」危険性が故に、
###GPT-3に関する論文の公開を延期させた
ぐらいです・・・ヤバいですね。
これを使うと、
・文章の続きを**自動生成**
・チャットで**人工知能とお喋り**
・自然言語(人間の使う英語とか)から**プログラミングコードを書いてくれる**
とかの機能を使うことが出来ます！興味そそられますよね！では、始めていきましょう！
#はじめに
OpenAIが開発している言語モデル**「GPT-3」**のAPIを用いると、自分でGPT-3を用いたプログラムが使えます。ただ、**どのように使用するのか**、そもそも**APIキーがどこにある**のか迷ってしまったため共有したいと思います。
**※注意点**
この情報は**2021年12月現在**のものです。今後、**変わる可能性がある**のでお気を付けください。

#開発環境
Google Colaboratory

#手順
**①ネットで「GPT-3 API」と検索→公式サイトに入る**
![OpenAI ホーム.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/74aa8e60-07e9-30c1-7e76-478145924093.png)

**②SIGN UPをしてアカウントを作る**
![openai アカウント.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/96df923d-5f35-9d17-e8f5-d60342d5b2cb.png)

**③上の「Examples」を押して、好きな機能を選択。そして「Open in Playground」**

![openai ex.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/9cd449aa-a789-811d-92f8-091ced3a7d13.png)
![chat play.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/7c1729d2-895d-a15a-058d-4cb4b792392f.png)

**④「View Code」をクリック。そして、「developer quickstart」**
![view code.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/79334efe-22bf-07eb-22f0-6408110a1724.png)
![qucik.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/883d897c-96e7-d544-6638-15e85e43b62f.png)
※表示されているコードをコピーしてGoogle Colaboratoryに貼り付けておいてください。
**このPlayground上でも、チャット機能など試せるので遊んでみてください！**

**⑤自分のAPIキーを取得**
![secret key.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1925070/f6426a5e-8506-92ca-ed04-d14f05ba4be5.png)
**⑥Google Colaboratoryで「openai」パッケージをインストール**

```
!pip install openai
```
※以下のような実行結果が出ることがあります。この時は**ランタイムを再起動**しましょう。

```
WARNING: The following packages were previously imported in this runtime:
  [pandas]
You must restart the runtime in order to use newly installed versions.
```

**⑦表示されていたコードを実行(注意点あり)**

```python
import os
import openai

openai.api_key = "自分のAPIキー" #注意点1

start_sequence = "\nAI:"
restart_sequence = "\nHuman: "

response = openai.Completion.create(
  engine="davinci",
  prompt="The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.\n\nHuman: Hello, who are you?\nAI: I am an AI created by OpenAI. How can I help you today?\nHuman: ",
  temperature=0.9,
  max_tokens=150,
  top_p=1,
  frequency_penalty=0,
  presence_penalty=0.6,
  stop=["\n", " Human:", " AI:"]
)
print(response) #注意点2
```
**・注意点1**
サンプルコードでは

```python
openai.api_key = os.getenv("自分のAPIキー")
```
でしたが、これを実行すると

```
AuthenticationError: No API key provided. You can set your API key in code using 'openai.api_key = <API-KEY>', or you can set the environment variable OPENAI_API_KEY=<API-KEY>). If your API key is stored in a file, you can point the openai module at it with 'openai.api_key_path = <PATH>'. You can generate API keys in the OpenAI web interface. See https://onboard.openai.com for details, or email support@openai.com if you have any questions.
```
というエラーが出ます。

```python
openai.api_key = "あなたのAPIキー" 
```
このように「openai.api_key」に**直接APIキーを入れる**とエラー無く実行出来ます。

**・注意点2**
OpenAIのサンプルには

```python
print(response)
```
がありませんでしたが、これが無いと**実行結果が表示されません。**
**実行結果**は以下のようになります。

```
{
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "text": "\u00a0What's your name?"
    }
  ],
  "created": 1639089642,
  "id": "cmpl-4DMNePtdJ4GEYmXH1kdJlC9UtqCHZ",
  "model": "davinci:2020-05-03",
  "object": "text_completion"
}
```
**「text」**に続きの文章が生成されています！
#おわりに
少しでも参考になればと思います！