やりたいこと
OpenAI API(gpt-3.5-turboなど)を使い、コンソール上でChatGPT風の対話ができるようにする。
実行にかかる費用
1,000トークンあたり0.002$
初回無料枠の18$に収まる範囲であれば無料。
Usageページにて確認できる。
コード
chat_cli.py
import os
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]
messages = [{"role": "system", "content": ""}]
with open('C:\\xxxxxxxxx', 'r') as f:
msg_args = f.read()
print(msg_args)
while True:
if msg_args == "":
text = input("User: ").strip()
else:
text = msg_args
msg_args = ""
if text == "quit" or text == "exit":
break
elif:
continue
messages.append ({"role": "user", "content": text})
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo-0613",
#model="gpt-3.5-turbo-16K",
#model="gpt-4",
messages=messages,
temperature=0.2,
)
content = response["choices"][0]["message"]["content"]
messages.append({"role": "assistant", "content": content})
print("\n---\n Assistant:\n" + content + "\n---")
コード以外の設定
- openaiライブラリのインストール
- OpenAIのAPIキーを環境変数へ設定
pip install openai
setx OPENAI_API_KEY "YOUR_API_KEY"
つまづきポイント
openai.ChatCompletion.create
で下記エラーとなる。
openaiライブラリのバージョンを0.26.5 -> 0.27.0へ最新化したところ解消した。
AttributeError: module 'openai' has no attribute 'ChatCompletionion'?
※アップデートだけで解消しないケースもあり
AttributeError: module ‘openai’ has no attribute ‘ChatCompletion’
個人的に思うところ
単に対話するだけならブラウザのChatGPTを使えばよい。
今までAPIを使う機会が少なかったので、練習を兼ねて実装した。今後はこれを機に色々作りたい。ファインチューニングができないとか、その他今一つ理解しきれていないことも多く、色々と調べ理解を深めていきたい。