AI

ChatGPT,AI 開発メモ

ChatGPTのAPIを12行のコードで試す(Python編)

ChatGPT APIは、OpenAIのGPT技術を利用した人工知能チャットボットです。
このAPIは、ユーザーが自然な言語で質問や会話をすることができ、応答を自動的に生成することができます。
いろいろな言語で実現可能ですが、今回はPythonで実装してみます。
では、早速試してみましょう。

C#で実装したサンプルは別記事にしています。

AI
ChatGPT(gpt-3.5-turbo)のAPIを30行のコードで試す(C#編)

ChatGPT APIは、OpenAIのGPT技術を利用した人工知能チャットボットです。このAPIは、ユーザーが自然な言語で質問や会話をすることができ、応答を自動的に生成することができます。いろいろな ...

続きを見る

APIは使用量に応じて料金が発生します。
無駄なトークンを使用しないように注意しましょう。

完成イメージ

質問をすれば応えてくれる

全体的な流れ

  1. OpenAIアカウントの開設
  2. APIキーの発行
  3. SDKのダウンロード
  4. プログラミング
  5. 動かしてみる

下準備

OpenAIアカウントの開設

https://openai.com/product を開き、真ん中にある「Get Started」からアカウントを作成します。
なお、SMSによる電話番号認証が必要です。

公式サイトからアカウントを作成する

APIキーの発行

https://platform.openai.com/account/api-keys を開き、「Create new secret key」を押して、新規のAPIキーを発行します。
APIキーはこの画面を閉じると再確認できないので、コピーしてどこかに保存しておきましょう。

APIキーは他人に知られないようにしましょう。

APIキー発行画面
APIキー

ライブラリのダウンロード

pip コマンドでライブラリをインストールします。

pip install openai

ここまでで下準備は完了です。

コードを書く

pythonの新規ファイルに次のコードを書きます。
下準備で用意したAPIキーは3行目(『取得したAPIキーをここに設定する』の部分)に設定してください。

model="gpt-3.5-turbo" の部分には、gpt-3.5-turboを指定するのを忘れずに。

import openai

openai.api_key = "取得したAPIキーをここに設定する"

while True:
    s = input("Enter your question : ")
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "user", "content": s},
        ],
    )
    print(response["choices"][0]["message"]["content"])
    print()

実行確認

プログラムを実行すると「Enter your question :」が表示されます。
質問を入力し、Enterを押下するとChatGPTが返事を返してくれます。

実行!

チャットの設定をする

messagesのroleをsystemにすることでチャットの設定をすることができます。
例えば{"role": "system", "content": "嘘を答えてください。"}とすると、嘘を応えるようになります。

        messages=[
            {"role": "system", "content": "嘘を答えてください。"},
            {"role": "user", "content": s},
        ],

稼働状態の確認

https://platform.openai.com/account/usage を開くと、使用したトークン、APIのモデルなどを確認することができます。
無駄遣いしないよう、適宜確認しましょう。

稼働状態の確認

インタラクティブな会話にしたい

トークンの消費が多いので今回は紹介していませんが、過去の会話も含めてやりとりを送ることで会話を続けることも可能です。
messeagesのリストにこちらの質問を一つだけ入力して送付していますが、
ここを<過去の質問内容>、<過去の回答>、<新しい質問>のリストになるようにして、
送付すれば過去の質問と回答を考慮した新しい回答を得ることができます。

インタラクティブな会話になる一方、使用するトークンが多いので、会話数の制限を付けることをおすすめします。

まとめ

ChatGPT APIを使用する(改行を除いて)30行ほどのサンプルコードを掲載しました
トークンの使用料がかかるのでやりたい放題とはいかないですが、
チャットの設定、質問のしかたなどを変更すれば、まだまだ楽しめそうですね。


-ChatGPT,AI, 開発メモ
-,