1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

コンソールでChatGPT風に対話する

Last updated at Posted at 2023-03-04

やりたいこと

OpenAI API(gpt-3.5-turboなど)を使い、コンソール上でChatGPT風の対話ができるようにする。

実行にかかる費用

1,000トークンあたり0.002$
初回無料枠の18$に収まる範囲であれば無料。
Usageページにて確認できる。
image.png

コード

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---")
    

コード以外の設定

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を使う機会が少なかったので、練習を兼ねて実装した。今後はこれを機に色々作りたい。ファインチューニングができないとか、その他今一つ理解しきれていないことも多く、色々と調べ理解を深めていきたい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?