Python用のOpenAI APIライブラリにおけるエラーハンドリング
- POST
Python用のOpenAI APIライブラリにおけるエラーハンドリング はじめに Python用のOpenAIのライブラリを使って、OpenAIのAPIを利用するに当たって、エラー発生時のエラーハンドリングを適切に実装にするために、 OpenAIのライブラリに実装されているエラークラスとリトライについて解説します。
前提条件 検証時の環境情報は以下の通りです。
Python : 3.12 ライブラリバージョン : openai-1.34.0 API バージョン : 2024-05-01-preview リソース : Azure OpenAI モデル : gpt-4-32k エラークラス OpenAIのライブラリには、以下のエラークラスが実装されています。
APIStatusError 4xx - 5xx台のステータスコードが返された場合に発生する例外を表すクラスです。
サブクラスとして、以下のエラークラスが実装されています。
400 : openai.BadRequestError : トークン数がコンテキストウィンドウを超過した場合、コンテンツフィルターブロックされた場合などに発生 401 : openai.UnauthorizedError : APIの認証に失敗した場合などに発生 404 : openai.NotFoundError : リクエスト先のモデルデプロイメントが見つからない場合などに発生 (OpenAIサービス自体が存在しない場合は、APIConnectionErrorが発生する) 408 : openai.APITimeoutError : APIのタイムアウトが発生した場合に発生 409 : openai.ConflictError : リクエストが競合している場合に発生 422 : openai.UnprocessableEntityError : リクエストの項目不足などの理由でリクエストが処理できない場合に発生 429 : openai.RateLimitError : リクエストがレート制限を超えた場合に発生 500 : openai.