②コピペで速習。pythonインストールからOpenAIのAPIを叩くまで。

とにかく追いつく

AIに関して何もリーチできていないとお悩みの方々へ。安心してください。非エンジニアでも大丈夫です。間に合います。GPT(API含)が現在のインターフェイスと仕様でしばらく行くとすれば踊り場になります。今のうちに追いついて業界の話題に食らいついてやって行きましょう。

ということでやっぱりここに行く

https://chat.openai.com/

今日はこれをやってみます。

pythonとjupyter labのインストール
ではこの通りにやって行きます

pythonのインストール

https://www.python.org/downloads/
このボタンを押してインストール
windowsの人はこれでいいと思います。
↑PATHを通すに必ずチェックしてください

jupyter labのインストール

インストールが終わったら「ターミナル(mac)」、「コマンドプロンプト(Windows)」(最近はPowerShell)という画面を立ち上げます。
Windowsキー(もしくはctrl+esc)を押してからpowershellと検索。
macの方はcommand+スペースキーを押して検索画面から「te」と打つとターミナルが起動できます。

windowsはこんな画面です
pip install jupyterlab
こんなふうにインストールが始まります
jupyter lab
コマンドを打つとブラウザ経由でjupyter labが立ち上がりましたでしょうか?

とりあえずここまで立ち上がれば成功です。いかがでしょうか?
ただ、立ち上がる場所がユーザーのルートフォルダなので気になる方はスタートするフォルダを変えてみましょう。(macは比較的自由に移動できるので、ターミナルからjupyter labで毎回起動するのが良いと思います)

一度jupyter labをshut downします。PowerShellも閉じちゃっていいです。
これでブラウザも閉じられます。

これからpythonのコードを書いていくフォルダを好きなところに用意

C:¥pythonみたいにしてみました

そしてそのフォルダの中に新規テキストファイルを作成

1行だけ「jupyter lab」と書いてください。ファイルネームは「jupyterlab.bat」
jupyter lab
jupyterlab.bat

pythonフォルダの中のjupyterlab.batをダブルクリックするとそこからjupyter labが立ち上がります。

OpenAIにAPIキーを貰いに行きます

https://platform.openai.com/account/api-keys
+ Create new secret keyから
ここでAPIキーを発行します。一度しか見えないのでしっかりコピペしてください。
わからなくなっちゃったら再発行すればいいです。
Usageから無料で使える5ドルの残量確認ができます。

APIキーを環境変数に置いておく

検索画面に「環境変数」と打つと編集画面に行けます。
新規のユーザー環境変数を作ります。
変数名は「OPENAI_API_KEY」で値にコピペしたAPIキーを貼り付け

Macの環境変数は

M1macの場合、Finder>「移動」>「ホーム」。
そのフォルダ内で「command」+「shift」+「.」で隠しファイルが見えますので、「.zshrc」ファイルの中に以下の1行を追加してください。ターミナルを再起動すれば読み込まれると思います。

export OPENAI_API_KEY=ここにAPIキーをコピペ

ではOpenAIのAPIが叩けるかテスト

jupyter labを立ち上げたら

この蛇のボタンを押して
untitled.ipynbを適当にリネームしときます。
このセルの中にコピペしちゃいましょう。
import openai
import os
import time

apikey = os.environ['OPENAI_API_KEY']
openai.api_key = apikey

def ask_gpt(question, model="gpt-3.5-turbo"):
    response = openai.ChatCompletion.create(
        model=model,
        messages=[
            {"role": "system", "content": "\
            you are best assistant.you think step by step.output must be Japanese.\
             "},
            {"role": "user", "content": question}
        ],
        max_tokens=2000,
        temperature=0.7,
    )
    return response.choices[0].message['content'].strip()

print("入力してください(終了するには 'q' と入力)")

while True:
    user_question = input("USER: ")
    if user_question.lower() == 'q':
        break

    start_time = time.time()
    ai_response = ask_gpt(user_question)
    end_time = time.time()

    time_taken = end_time - start_time
    print("AIの回答: ", ai_response)
    print("実行時間: {:.2f} 秒\n-------------".format(time_taken))


2023/12/07編集
OpenAIのAPI仕様が1.0以上にアップデートしたことにより
コンプリーションの投げかけが変わりました。

pip install --update openai #モジュールのアップデート 
import os
import time

from openai import OpenAI
client = OpenAI(api_key=os.environ['OPENAI_API_KEY'])

def ask_gpt(inputs, model="gpt-4-1106-preview"): #def  ask_gpt(inputs, model="gpt-3.5-turbo-0613"):
    response = client.chat.completions.create(
        model=model,
        messages=[
            {"role": "system", "content": "\
            you are best assistant.you think step by step.output must be Japanese.\
             "},
            {"role": "user", "content": inputs}
        ],
        max_tokens=2000,
        temperature=0.7,
    )
    return response.choices[0].message.content.strip()

print("入力してください(終了するには 'q' と入力)")

while True:
    user_question = input("USER: ")
    if user_question.lower() == 'q':
        break

    start_time = time.time()
    ai_response = ask_gpt(user_question)
    end_time = time.time()

    time_taken = end_time - start_time
    print("AIの回答: ", ai_response)
    print("実行時間: {:.2f} 秒\n-------------".format(time_taken))

###こんな感じで修正
response = client.chat.completions.create(
ここと
response.choices[0].message.content.strip()
この辺りに変更です
モジュールの呼び込みも
from openai import OpenAI client = OpenAI(api_key=os.environ['OPENAI_API_KEY'])
このようになったようです

詳しくはMigration Guideに書いてあります。
https://github.com/openai/openai-python/discussions/742


青く囲まれているセルを選択して「shift」+「enter」で実行されます。

ここに入力して行きます。長いプロンプトはエディタなどで整形するといいかもしれません。
USER:  うxリサーチャーが新商品の評価をするフローを教えてください
AIの回答:  1. 新商品の特徴を理解する:最初に、新商品の特徴を理解しましょう。製品の目的、機能、利点、価格などを把握することが必要です。

2. 製品の調査:次に、製品の調査を行います。製品の設計、品質、信頼性、競合製品との比較などを調べます。

3. 製品のテスト:製品を実際にテストして、品質、機能、操作性、耐久性などを評価します。

4. データの収集:製品に関するデータを収集します。市場調査、消費者の意見、競合情報、業界の動向などを調べます。

5. 評価:収集したデータを分析し、製品の評価を行います。強み、弱み、改善点、市場への適合性などを評価します。

6. レポートの作成:最後に、評価結果をまとめたレポートを作成します。製品の評価の概要、分析データ、結論、提言などを含めます。

以上が、新商品の評価をするフローです。
実行時間: 30.54-------------

質問でグダグダになってますが、とりあえず返答してくれました。
ここまでできれば、かなりAIの世界は広がったんではないでしょうか。
promptやトークンをいじってみるのも面白いと思います。

先輩方がたくさんの遊び方をしているので色々試してみるのはいかがですか?それではまた。