InvalidRequestError: Must provide an 'engine' or 'deployment_id' parameter to create … の対応
結論
環境変数の設定を先に実行する。
(例)
os.environ["OPENAI_API_TYPE"] = "azure"
詳細
・以下コードを実行したとき、以下エラーが発生した。
<実行したコード>
(色々省略)
embeddings = OpenAIEmbeddings(
deployment=EMBEDDING_LLM_DEPLOYMENT_NAME,
openai_api_version=EMBEDDING_LLM_API_VERSION,
chunk_size=1,
)
FAISS.from_documents(documents, embeddings)
<発生したエラー>
InvalidRequestError: Must provide an 'engine' or 'deployment_id' parameter to create a <class 'openai.api_resources.embedding.Embedding'>
<対策>
上記結論のとおり。
他にもOPEN AIを使うときは以下の環境変数が必要になることもある。
※自分の場合はVERSIONは設定しなくてもエラーが出なかった
(例)
os.environ["OPENAI_API_BASE"] = "https://aoaihltest1.openai.azure.com/"
os.environ["OPENAI_API_KEY"] = "キー" ※自分で取得したキー
os.environ["OPENAI_API_VERSION"] = "2023-05-15"
背景
・chatGPTを利用して社内向けのQAシステムを作成しようとしている。
・上記エラーになったが、対策を検索しても見つからなかったこと、エラーメッセージと対策が紐づかなかったことから、記録しておくことにした。
・embeddingsを表示したときにopenai_api_type=''となっていることから値の設定が必要なのでは、と気付いた。
(なお、1週間前までは明示的に設定しなくても設定できていた)
OpenAIEmbeddings(client=<class 'openai.api_resources.embedding.Embedding'>, model='text-embedding-ada-002', deployment='text-embedding-ada-002', openai_api_version='2023-05-15', openai_api_base='https://aoaihltest1.openai.azure.com/', openai_api_type='', openai_proxy='', embedding_ctx_length=8191, openai_api_key='自分のキー', openai_organization='', allowed_special=set(), disallowed_special='all', chunk_size=1, max_retries=6, request_timeout=None, headers=None, tiktoken_model_name=None, show_progress_bar=False)
この記事が気に入ったらサポートをしてみませんか?