昨年の11月にOpenAI から新しいバージョンの OpenAI Python API ライブラリがリリースされていました。
このアップグレードは破壊的変更であるため、以前に作成したコードは修正する必要があるようです。
印象に残った変更ポイントは、新バージョンではインスタンス化されたクライアントの利用を推奨するようになったことです。
例えば、これまで
openaiモジュールに定義されていたopenai.ChatCompletion.create関数
を呼んでいた処理が、
インスタンス化されたOpenAIオブジェクトのchat.completions.createメソッド
を呼ぶ処理に変更されました。
もう一つ印象に残った変更ポイントは、LLMからのレスポンス(出力)にpydanticが採用されたことです。レスポンスは、pydanticモデル(BaseModelクラスを継承したクラス)のオブジェクトとなります。JSONへの変換も容易にできるようです。
開発スピードがとても速いので、書籍を書いている人は大変だろうなと思ってしまいます。