環境
- AWS Lambda
- Python 3.12
先に解決策
openaiのバージョンを下げる(1.39.0にしたらエラーにならなかった)
何が起こったか
案件でAWS Lambdaを使ってChatGPTに投げたいということがあった。それこそchatGPTやQiitaを見ながら環境構築していきました。
そこではじめはUnable to import module 'lambda_function': No module named 'pydantic_core._pydantic_core
というエラーになったのですが、これは解決策が載っていたので特に問題なく。
次にタイトルにもある「No module named 'jiter.jiter'」と出ました。これはopenaiのライブラリで使っているらしく、レイヤーの中身を見ても確かにある。個別にjiterをrequirements.txtに書いても同じエラーになる。なぜだろうと調べたら以下の記事が出てきました。
これは
- Chaquopyを使用してAndroidアプリにOpenAIライブラリをインストールしようとした際、jiter という依存パッケージのインストールに失敗する
- jiter パッケージは Rust で書かれており、Chaquopy が現在 Rust のサポートを十分に提供していないため
ということが原因と書かれています。今回私の件で起きたことと全く同じ環境ではないのですが、解決策として
- OpenAI の古いバージョンを使用する
- jiter に依存しない OpenAI の古いバージョンを使用することで問題を回避できる可能性がある
とあり、さらに
- 一部のユーザーは OpenAI バージョン 1.39.0 を使用することで問題を解決できた
とあったので、1.39.0にしたらエラーがなくなりました。