②コピペで速習。pythonインストールからOpenAIのAPIを叩くまで。
とにかく追いつく
AIに関して何もリーチできていないとお悩みの方々へ。安心してください。非エンジニアでも大丈夫です。間に合います。GPT(API含)が現在のインターフェイスと仕様でしばらく行くとすれば踊り場になります。今のうちに追いついて業界の話題に食らいついてやって行きましょう。
ということでやっぱりここに行く
https://chat.openai.com/
今日はこれをやってみます。
pythonとjupyter labのインストール
pythonのインストール
https://www.python.org/downloads/
jupyter labのインストール
インストールが終わったら「ターミナル(mac)」、「コマンドプロンプト(Windows)」(最近はPowerShell)という画面を立ち上げます。
Windowsキー(もしくはctrl+esc)を押してからpowershellと検索。
macの方はcommand+スペースキーを押して検索画面から「te」と打つとターミナルが起動できます。
pip install jupyterlab
jupyter lab
とりあえずここまで立ち上がれば成功です。いかがでしょうか?
ただ、立ち上がる場所がユーザーのルートフォルダなので気になる方はスタートするフォルダを変えてみましょう。(macは比較的自由に移動できるので、ターミナルからjupyter labで毎回起動するのが良いと思います)
これからpythonのコードを書いていくフォルダを好きなところに用意
そしてそのフォルダの中に新規テキストファイルを作成
jupyter lab
jupyterlab.bat
pythonフォルダの中のjupyterlab.batをダブルクリックするとそこからjupyter labが立ち上がります。
OpenAIにAPIキーを貰いに行きます
https://platform.openai.com/account/api-keys
APIキーを環境変数に置いておく
Macの環境変数は
M1macの場合、Finder>「移動」>「ホーム」。
そのフォルダ内で「command」+「shift」+「.」で隠しファイルが見えますので、「.zshrc」ファイルの中に以下の1行を追加してください。ターミナルを再起動すれば読み込まれると思います。
export OPENAI_API_KEY=ここにAPIキーをコピペ
ではOpenAIのAPIが叩けるかテスト
jupyter labを立ち上げたら
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やトークンをいじってみるのも面白いと思います。
先輩方がたくさんの遊び方をしているので色々試してみるのはいかがですか?それではまた。