アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【OpenAI/ChatGPTPython
OpenAI Assistants APIメモ【1】ファイルのアップロードとIDの取得
POSTED BY
2024-03-12

https://platform.openai.com/docs/assistants/overview

Assistants APIは、今後ChatGPTをAPIで使用する上での標準となるであろうインターフェースである。
固有の情報が入ったヒント・ファイル群をアップロードしておいて、GPTにそのファイルを参照して質問に答えてもらうことができる。
また、会話の履歴はスレッドに自動保存・自動使用されるので、呼び出し側がプロンプトに履歴をくっつけて会話の管理をする必要がなくなっている。

固有情報ファイルのアップロード

答えさせたい情報が入ったファイルをアップロードする。当然情報ファイルは無しでも良い。この場合、Assistants APIはそのまま標準のChatGPTとして機能する。

https://platform.openai.com/docs/api-reference/files

まずは自社の就業規則がまとめられたPDF「my_company_rules.pdf」を用意し、それをアップロード。

Pythonopenai_api_upload_file.pyGitHub Source
import os
from openai import OpenAI
client = OpenAI()

file = client.files.create(
    file=open("my_company_rules.pdf", "rb"),
    purpose='assistants'
)

print(file)

実行結果

python3 openai_api_upload_file.py

FileObject(id='file-AAAABBBBCCCCDDDDFFFFGGGG', bytes=113136, created_at=1710223007, filename='my_company_rules.pdf', object='file', purpose='assistants', status='processed', status_details=None)

Assistants APIに使わせたいので、purposeオプションをassistantsにしている。
file-AAAABBBBCCCCDDDDFFFFGGGGが、登録されたこのファイルのIDである。ファイルオブジェクトをロードするには、

file = client.files.retrieve("file-AAAABBBBCCCCDDDDFFFFGGGG")

print(file)

とすればよい。上記と同じ情報が出力される。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】