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)


この記事が気に入ったらサポートをしてみませんか?