OpenAI API: How do I handle errors in Python?

题意:在使用OpenAI API进行Python开发时,怎样处理错误?

问题背景:

I tried using the below code, but the OpenAI API doesn't have the AuthenticationError method in the library. How can I effectively handle such error.

我尝试使用下面的代码,但是OpenAI API的库中并没有AuthenticationError这个方法。我该如何有效地处理这种错误

python 复制代码
import openai

# Set up your OpenAI credentials
openai.api_key = 'YOUR_API_KEY'

try:
    # Perform OpenAI API request
    response = openai.some_function()  # Replace with the appropriate OpenAI API function

    # Process the response
    # ...
except openai.AuthenticationError:
    # Handle the AuthenticationError
    print("Authentication error: Invalid API key or insufficient permissions.")
    # Perform any necessary actions, such as displaying an error message or exiting the program

问题解决:

Error handling with the OpenAI Python SDK v1.0.0 or newer

在使用OpenAI Python SDK v1.0.0或更新版本时处理错误

• If you don't want to handle error types individually:

如果您不想单独处理每种错误类型:

python 复制代码
import os
from openai import OpenAI, OpenAIError
client = OpenAI()
OpenAI.api_key = os.getenv('OPENAI_API_KEY')

try:
  # Make your OpenAI API request here
  response = client.completions.create(
    model="gpt-3.5-turbo-instruct",
    prompt="Say this is a test"
  )
  print(response)
except OpenAIError as e:
  # Handle all OpenAI API errors
  print(f"Error: {e}")

• If you want to handle error types individually:

如果您想单独处理每种错误类型:

Note: Because there are a lot of classes for error handling, it might not be so elegant to import them individually. Instead, use import openai and all classes for error handling will be imported automatically. But the code is a bit different now.

注意:由于存在许多用于错误处理的类,因此单独导入它们可能不太优雅。相反,使用import openai会自动导入所有用于错误处理的类。但是,现在的代码会有所不同。

python 复制代码
import os
import openai # Import openai
from openai import OpenAI # But don't import OpenAIError
client = OpenAI()
OpenAI.api_key = os.getenv('OPENAI_API_KEY')

try:
  # Make your OpenAI API request here
  response = client.completions.create(
    model="gpt-3.5-turbo-instruct",
    prompt="Say this is a test"
  )
  print(response)
except openai.BadRequestError as e: # Don't forget to add openai
  # Handle error 400
  print(f"Error 400: {e}")
except openai.AuthenticationError as e: # Don't forget to add openai
  # Handle error 401
  print(f"Error 401: {e}")
except openai.PermissionDeniedError as e: # Don't forget to add openai
  # Handle error 403
  print(f"Error 403: {e}")
except openai.NotFoundError as e: # Don't forget to add openai
  # Handle error 404
  print(f"Error 404: {e}")
except openai.UnprocessableEntityError as e: # Don't forget to add openai
  # Handle error 422
  print(f"Error 422: {e}")
except openai.RateLimitError as e: # Don't forget to add openai
  # Handle error 429
  print(f"Error 429: {e}")
except openai.InternalServerError as e: # Don't forget to add openai
  # Handle error >=500
  print(f"Error >=500: {e}")
except openai.APIConnectionError as e: # Don't forget to add openai
  # Handle API connection error
  print(f"API connection error: {e}")

See the official OpenAI GitHub Python repository.

查询官方文档

Error handling with the OpenAI Python SDK v0.28.0

使用OpenAI Python SDK v0.28.0进行错误处理

Your code isn't correct. 你的代码不准确

Change this... 将下面的语句

python 复制代码
except openai.AuthenticationError

...to this. 修改成

python 复制代码
except openai.error.AuthenticationError
相关推荐
浅浅28010 分钟前
numpy、pandas内存优化操作整理
数据结构·经验分享·python·学习·性能优化·numpy·pandas
MCP星球15 分钟前
我们离Agent终极形态又近了一步:全球首个支持谷歌A2A(Agent-to-Agent)协议的智能体注册网站上线Product Hunt,未来智能体协作网络
ai·agent·智能体·智能体协作·a2a·a2a协议·agent network·智能体网络·谷歌a2a·agent2agent
拓端研究室TRL27 分钟前
Python+AI提示词比特币数据预测:Logistic逻辑回归、SVC及XGB特征工程优化实践
开发语言·人工智能·python·算法·逻辑回归
就叫飞六吧28 分钟前
Python自动化selenium-一直卡着不打开浏览器怎么办?
python·selenium·自动化
亚林瓜子33 分钟前
AWS Elastic Beanstalk的部署Python Flask后端服务(Hello,World)
python·flask·aws·eb
weixin_3077791339 分钟前
实现AWS Step Function安全地请求企业内部API返回数据
开发语言·python·云计算·aws
小研学术1 小时前
如何用AI辅助数据分析及工具推荐
论文阅读·人工智能·ai·数据挖掘·数据分析·deepseek
zhangjipinggom1 小时前
怎么安装python3.5-以及怎么在这个环境下安装包
开发语言·python
格子先生Lab1 小时前
Java反射机制深度解析与应用案例
java·开发语言·python·反射
Samuel-Gyx2 小时前
2025第十六届蓝桥杯python B组满分题解(详细)
python·职场和发展·蓝桥杯