Lambdaでエラー「Unable to import module ‘main’: No module named ‘jiter.jiter’」が発生した時の対応方法について解説

aws

 ライブラリと実行用のpyファイルをzip化し、Lambdaにアップロードして作成したLambda関数をAPI Gatewayに設定し、ローカルのreactで問題なく動作するか検証していた時に発生しました。エラー時の検証環境、原因、解決方法について簡単に解説します。

検証環境

Windows11
Python 3.11.9 (FastAPIのバージョン0.99.0を使用できるようにするため。)
FastAPI 0.99.0 (Lambdaでエラーが発生しないようにするため。)
Docker Desktop 4.40.0 (Lambdaにアップロードするために使用。Amazon Linux 環境(x86_64)でビルドする必要があるため。)

原因

 最新のopenaiのバージョン1.71.0でjiterも合わせてインストールされてしまい、現状のAWS Lambdaでは対応していないためです。

解決方法

 openaiのバージョンをjiterがインストールされないバージョンである1.39.0をインストールします。自分の場合はrequrements.txtに必要なライブラリをまとめているので、「openai」を「openai==1.39.0」に変更して対応しました。ただ、別のエラー(TypeError: Client.__init__() got an unexpected keyword argument ‘proxies’)が発生したので次はこちらのエラーの原因と解決方法について書きたいと思います。

参考

[1]https://qiita.com/naoto_koyama/items/a3af50f858dbd62d63db

コメント

タイトルとURLをコピーしました