#はじめに
OpenAIが開発している言語モデル**「GPT-3」**をGoogle Colaboratoryで実行するとエラーが出ました。その解決法が分かったので共有します。
#どんなエラー?
Open AIが公開しているサンプルコードは以下です。
import os
import openai
openai.api_key = os.getenv("あなたのAPIキー")
response = openai.Completion.create(
engine="davinci",
prompt="I'm happy.", #どの文章から始めるか
temperature=0.7,
max_tokens=64,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
しかし、これをGoogle Colaboratoryで実行すると以下のようなエラーが出ました。
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.
#解決法
以下のようにするとエラーが出ず、実行出来ました。
import os
import openai
#os.getenvを入れない
openai.api_key = "あなたのAPIキー"
response = openai.Completion.create(
engine="davinci",
prompt="I'm happy.", #どの文章から始めるか
temperature=0.7,
max_tokens=64,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
このように「openai.api_key」に直接APIキーを入れるとエラー無く実行出来ました。
#ちなみに
上の正解のコードを実行しても何も表示されないと思います。なぜなら実行結果がresponseに入っているからです。
なのでprintをすると実行結果が表示されます。
コード
import os
import openai
openai.api_key = "あなたのAPIキー"
response = openai.Completion.create(
engine="davinci",
prompt="I'm happy.",
temperature=0.7,
max_tokens=64,
top_p=1,
frequency_penalty=0,
presence_penalty=0
)
print(response)
実行結果
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"text": "\n\nHe's happy.\n\nWe're happy.\n\nI love you.\n\nI love you too.\n\nThe End"
}
],
"created": 1639086805,
"id": "cmpl-4DLdtMQ4ZoXT46DJFPy3PGNoYdVGS",
"model": "davinci:2020-05-03",
"object": "text_completion"
}
**「text」**に続きの文章が生成されています!
#おわりに
解決法は非常に簡単でした。ただ検索しても中々出てこなかったので共有しました。
参考になればと思います!