初めに

ChatGPTは、OpenAIが開発した強力な言語モデルで、人間のようなテキストを生成することができます。言語翻訳、質問応答、テキスト生成など、様々なタスクに利用することができます。今回は、MacのコンソールからChatGPT (正確には OpenAI API)を使用する方法について説明します。

Step 1. API キーの取得

ChatGPTを使うには、まずOpenAIの以下のサイトからAPIキーを取得する必要があります。
https://beta.openai.com/account/api-keys

APIキーを取得したら、curlのようなツールを使ってコマンドラインからAPIにリクエストを行うことができます。ここでは、curlを使ってAPIにプロンプトを送信し、ChatGPTからレスポンスを受信する例を示します。

curl -X POST -H "Content-Type: application/json" -d '{"prompt": "Hello, how are you?", "model": "text-davinci-002"}' https://api.openai.com/v1/completions -H "Authorization: Bearer YOUR_API_KEY_HERE"

Step 2. Pythonスクリプトの作成

APIとターミナルから対話するもう一つの方法は、Openai pythonライブラリを使用することです。まずは、pipでライブラリをインストールします。

pip install openai

そして、このライブラリを使って、pythonスクリプトを使ってAPIと対話できます。

import openai
openai.api_key = "YOUR_API_KEY_HERE"

response = openai.Completion.create(
    engine="text-davinci-003",
    prompt='Hello, how are you?',
    max_tokens=1024
)
print(response["choices"][0]["text"])

スクリプトの準備ができたら、Macのターミナルでどこからでもアクセスできるようにしたいです。それを実現するには、いくつかの方法がありますが最も簡単な方法を紹介します。

Step 3. エイリアスを作成する

スクリプトのエイリアスを .bash_profile ファイル(もしくは、.bashrc、もしくは、.zshrc)に定義することでどこからでもアクセスできるようにできます。エイリアスとは、あるコマンドを別のコマンドを入力して実行できるようにするショートカットのことです。エイリアスを作成するには、.bash_profile ファイルに次の行を追加します。

alias chatgpt='python /path/to/script/scriptname.py'

これにより、先ほどのスクリプトに対して、chatgpt と入力するだけでアクセスできるようになります。テストしてみましょう。ただし、実行する前に、エイリアスの反映が必要なので、ターミナルを再起動するか、以下を実行します。

source ~/.bash_profile

Step 4. 文字列を渡せるようにする

先ほどの Python スクリプトでは、文字列を渡すことができないので、正直使い物になりません。そこで、Python に引数を渡せるようにします。
先ほどの Python スクリプトを以下のように変更します。

import openai
import sys

openai.api_key = "YOUR_API_KEY_HERE"

prompt = sys.argv[1]

response = openai.Completion.create(
    engine="text-davinci-003",
    prompt=prompt,
    max_tokens=1024
)
print(response["choices"][0]["text"])

これにより、ターミナルから以下のように、引数を渡すことができるようになります。

おわりに

ChatGPT (OpenAI API) をMacのコンソールから使用するのは簡単で、curlかopenai pythonライブラリなどのどちらかを使用することができます。スクリプトの準備ができたら、エイリアスを作成する、などして、Mac端末のどこからでもアクセスできるようにすることができます。これにより、スクリプトを実行するたびにスクリプトのディレクトリに移動する必要がなくなり、スクリプトの利用がより簡単になりました。今後改善すべき点としては、今のプログラムのままだと一回のやりとりで終わってしまうので、何度もやりとりができるようにすることです。これは Python で標準入力を受け付けるようにすることで可能です。

ChatGPT 研究所では今後も継続的に ChatGPT 関連の情報について発信していきますので、フォロー (@ctgptlb)よろしくお願いします。この革命的なテクノロジーの最前線に立つ機会をお見逃しなく!