LoginSignup
4
2

More than 1 year has passed since last update.

GPT-3をGoogle Colaboratoryで実行した時の"No API key provided"の対処法

Last updated at Posted at 2021-12-09

はじめに

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」に続きの文章が生成されています!

おわりに

解決法は非常に簡単でした。ただ検索しても中々出てこなかったので共有しました。
参考になればと思います!

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