model_engine = "text-davinci-003" completion = openai.Completion.create( engine=model_engine, prompt=prompt, max_tokens=1024, stop=None, temperature=0.5, timeout=1000, response = completion.choices[0].text print(response) chat_gpt("现在几点了")

执行报错:

APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1125)')))

1、urllib3降低版本到 1.25.11

pip install urllib3==1.25.11

参考大佬文章: 传送门

简单来说就是 1.26.0 版本的urllib3添加了HTTPS支持,但代理服务器不支持HTTPS,所以报错(pip走代理报错也差不多类似原因,具体请参考上文,有详细解读)

这个方法对部分人有用,但很不幸我是另一部分(哭)!

2、修改openai源码(亲测成功)

查看堆栈找到报错库的路径:

打开 api_requestor.py ,找到:

if not hasattr(_thread_context, "session")

分别在它上面和下面添加以下两行:

proxy = {
    'http': 'http://localhost:7890',
    'https': 'http://localhost:7890'
proxies=proxy

保存搞定,重新运行代码:

3、代码里设置环境变量(亲测成功)

添加以下代码:

import os
os.environ["http_proxy"] = "http://localhost:7890"
os.environ["https_proxy"] = "http://localhost:7890"

以上解决办法均来自网络,我只是个搬运工兼汇总~

谈谈我研究 OpenAI 的感受,Chatgpt的后台时基于 OpenAI 研发的,但是国内一直无法使用Chatgpt,2023年2月份研究了 OpenAI 接口,为了国内能体验ChatGpt,就自己搭建了网站,并集成了几十个接口到自己的网站,也有很多网友在注册使用(全免费) # 一、问题描述 可以fanqiang,但是使用 openai 的接口还是 如下的 openai .error. API ConnectionError: Error com municating with OpenAI 问题: ```cpp File "D:\Anaconda3\envs\gms\lib\site-packages\ openai \ api _resources\abstract\engine_ api _resource.py", line 153, in create response, _, a requests.exceptions.ConnectionError: HTTPSConnectionPool ( host ='127.0.0.1', port =443): Max retries exceeded with url: /?cdn=no host (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTP... os.environ[" OPENAI _ API _BASE"] = "国外的服务器"os.environ[" OPENAI _ API _KEY"] = "自己的key"如果方式1没用,那可能就是国内被墙掉的原因了。然后就可以正常访问了。 2. 《java核心技术 卷Ⅰ:基础知识(第9版)》:是一本最新的Java技术入门教程,主要介绍Java的基础知识和范例,内容涵盖了Java语言的基本概念、基本技术、面向对象编程、类、构造器、接口、内部类、包和异常处理等。3. 《Java 8实战(第2版)》:是一本介绍Java 8新特性的书籍,大量地使用示例和案例详细介绍了新增的特性,内容涵盖了lambda表达式、新特性stream API 、定制接口、时间日期 API 、并发 API 等等。使用 openai . Com pletion.create()方法来生成文本。 因为目前 openai 对地区限制的原因,即使设置了全局代理使用 API 调用 时,还是会出现科学上网代理的 误问题。再次运行 API 测试代码发现以及成功返回数据。 openai 库 == 0.26.5。”方法,并在此方法上方加入代理。 检查请求数据的编码、格式或大小, 误消息会告知所犯的特定 误。可以查看正在 调用 的特定 API 方法的文档(https://platform. openai . com /docs/ api -reference/)