使用Python调用OpenAI API,如何验证微调模型删除是否成功?
处理OpenAI API的ModelDeleted对象以确认模型删除成功
当你调用OpenAI.models.delete()删除微调模型后,返回的ModelDeleted对象自带了判断删除状态的关键信息,你可以通过以下几种方式处理它:
直接检查核心状态字段
ModelDeleted对象最关键的字段是deleted(布尔类型),这是OpenAI API直接返回的删除结果标记。你可以直接通过它判断操作是否成功:from openai import OpenAI client = OpenAI(api_key="your-api-key") target_model_id = "your-fine-tuned-model-id" delete_result = client.models.delete(target_model_id) if delete_result.deleted: print(f"模型 {delete_result.id} 已成功删除") else: print(f"模型 {delete_result.id} 删除操作未完成")同时,你可以通过
delete_result.id确认被操作的模型ID是否正确,避免误删其他模型。二次验证(可选但更严谨)
如果你需要确保模型确实被移除,可以在拿到ModelDeleted对象后,尝试调用models.retrieve()接口检索该模型。如果模型已被删除,会抛出NotFoundError异常:from openai import OpenAI from openai import NotFoundError client = OpenAI(api_key="your-api-key") target_model_id = "your-fine-tuned-model-id" delete_result = client.models.delete(target_model_id) if delete_result.deleted: try: # 尝试检索已删除的模型 client.models.retrieve(target_model_id) print("警告:模型仍可被检索,删除可能未生效") except NotFoundError: print(f"模型 {target_model_id} 已彻底删除,无法检索") else: print(f"模型 {target_model_id} 删除失败")提取返回元数据
除了状态字段,ModelDeleted的object字段会固定返回"model.deleted",你可以用它来确认返回对象的类型,确保API调用没有返回错误格式的响应:print(f"返回对象类型: {delete_result.object}") # 预期输出: model.deleted
内容的提问来源于stack exchange,提问作者BlackDiamond
相关产品推荐
相关产品推荐

