type
status
date
slug
summary
tags
category
icon
password
问题描述
在使用 OpenAI Python 库时,您可能会遇到以下错误:
此问题通常在使用
openai tools fine_tunes.prepare_data -f training_data.jsonl
命令时出现,并且在 OpenAI 库升级到 v1.55.3 或 v1.56 后仍然存在。根本原因
该错误是由于
httpx
库更新到 0.28 版本后,移除了已弃用的 proxies
关键字参数。而旧版本的 OpenAI Python 库仍然在使用该参数,导致初始化客户端时出现 TypeError
。解决方案
方案一:降级 httpx 版本(推荐)
最简单直接的解决方案是将
httpx
库降级到 0.27.2 版本。操作步骤:
- 卸载当前 httpx 版本(如果已安装)
- 安装指定版本的 httpx
注意: 如果您使用的是 pip,确保 httpx 的安装在 openai 之后,或者使用 "httpx<0.28" 来限制版本,防止 openai 的依赖覆盖已安装的 httpx。
方案二:Google Colab 快速修复
如果您在使用 Google Colab,可以尝试以下步骤:
- 在代码单元中运行以下命令:
- 在新单元中写入并运行:
os.kill 命令用于重启运行时,确保新的库版本生效。有些用户可能不需要此步骤。
方案三:自定义 HTTP 客户端
如果降级
httpx
版本不可行,您可以创建一个自定义 HTTP 客户端,移除 proxies
参数:方案四:使用 proxy 或 mount 参数
其他注意事项
- Python 版本: 避免使用不明智的 Python 3.13 版本,建议使用更稳定的版本,如 Python 3.9 或 3.10。
- 依赖冲突: 如果遇到依赖冲突问题,如 "jupyter-server requires anyio<4,>=3.1.0",请尝试更新
jupyter-server
到最新版本,或手动解决依赖冲突。
- OpenAI 版本: 某些用户反映将 OpenAI 版本升级到 1.56.1 可以解决问题,但最佳实践仍然是降级
httpx
版本。
- Docker 环境: 如果您在使用 Docker,确保在
requirements.txt
文件中明确指定httpx==0.27.2
,并在构建镜像时安装依赖。
- 验证解决方案: 在解决问题后,务必验证您的代码是否可以正常运行。
总结
Client.__init__()
出现意外的关键字参数 'proxies'
错误,主要是由于 OpenAI Python 库与 httpx
库版本不兼容导致的。通过本文提供的解决方案,您可以快速解决此问题,确保您的 OpenAI 应用正常运行。- 作者:Doiiars
- 链接:http://doiiars.com/article/openai-client-proxies-error
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章