ChatGPTのAPIで、楽天ブックスの新刊コミックファイルをアップロードしてナレッジを使ってみた。カスタマイズGPTsじゃなくて、アシスタントって名前なのね。
ブラウザで使うChatGPTとAPIは、同じアカウントでも別料金体系なのでややこしい…。
しかも、ブラウザは月額20ドルで固定だけど、APIは従量課金制で結構なお値段!
jsonよりもcsvに変換した方が良い感じだった。
やっぱり、表計算的な方が解釈しやすいのかね~?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import os import pprint from openai import OpenAI os.environ["OPENAI_API_KEY"] = "" pp = pprint.PrettyPrinter(indent=2) client = OpenAI() # ファイルをアップロード file = client.files.create( file=open("books.json", "rb"), purpose='assistants' ) # ファイルをアシスタントに追加する assistant = client.beta.assistants.create( instructions="あなたは楽天ブックスのチャットボットです。ナレッジベースを活用して、顧客からの問い合わせに最適な対応をしましょう。", model="gpt-4-1106-preview", tools=[{"type": "retrieval"}], file_ids=[file.id] ) # スレッドを作成する thread = client.beta.threads.create() # スレッドにメッセージを追加する message = client.beta.threads.messages.create( thread_id=thread.id, role="user", content="" ) # アシスタントを実行する run = client.beta.threads.runs.create( thread_id=thread.id, assistant_id=assistant.id, instructions="本日が発売日のコミックを教えて" ) run = client.beta.threads.runs.retrieve( thread_id=thread.id, run_id=run.id ) messages = client.beta.threads.messages.list( thread_id=thread.id ) pp.pprint(messages) |