ACHE623 2025-02-20 18:23 采纳率: 0%
浏览 1594

openai.APIConnectionError: Connection error. 请问怎么解决呢?

这是我学习langchain时,跟着学习视频运行的第一个代码
我的python版本是3.10.0
openai的密钥也添加在环境变量当中了
梯子是猫猫,挂在新加披或者日本的,能够正常访问openai页面
试了很多中办法都没用:


#引入langchain牌天场最的提示词模版
from langchain_core.prompts import ChatPromptTemplate
#引入langchain openai sdk
from langchain_openai import ChatOpenAI
llm = ChatOpenAI()


prompt = ChatPromptTemplate.from_messages([
    ("system","你是世界级的技术专家"),  #角色
    ("user","{input}") #用户提示词input
])
#通过langchain的链式调用,生成一个chain
#使用|将定义的llm ai大模型和提示词模板promt链接起来
chain =prompt | llm
result = chain.invoke({"input":"帮我写一篇关于AI的技术文章,100个字"})
print(result)

但是报错:


Traceback (most recent call last):
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_transports\default.py", line 101, in map_httpcore_exceptions
    yield
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_transports\default.py", line 250, in handle_request
    resp = self._pool.handle_request(req)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_sync\connection_pool.py", line 256, in handle_request
    raise exc from None
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_sync\connection_pool.py", line 236, in handle_request
    response = connection.handle_request(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_sync\http_proxy.py", line 288, in handle_request
    connect_response = self._connection.handle_request(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_sync\connection.py", line 101, in handle_request
    raise exc
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_sync\connection.py", line 78, in handle_request
    stream = self._connect(request)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_sync\connection.py", line 156, in _connect
    stream = stream.start_tls(**kwargs)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_backends\sync.py", line 154, in start_tls
    with map_exceptions(exc_map):
  File "E:\pyenv\pyenv-win-master\pyenv-win\versions\3.10.0\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ConnectError: EOF occurred in violation of protocol (_ssl.c:997)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 1003, in _request
    response = self._client.send(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_client.py", line 914, in send
    response = self._send_handling_auth(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_client.py", line 942, in _send_handling_auth
    response = self._send_handling_redirects(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_client.py", line 979, in _send_handling_redirects
    response = self._send_single_request(request)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_client.py", line 1014, in _send_single_request
    response = transport.handle_request(request)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_transports\default.py", line 249, in handle_request
    with map_httpcore_exceptions():
  File "E:\pyenv\pyenv-win-master\pyenv-win\versions\3.10.0\lib\contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\httpx\_transports\default.py", line 118, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ConnectError: EOF occurred in violation of protocol (_ssl.c:997)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "E:\StudyLangchain\pythonProject\.venv\test1.py", line 51, in <module>
    result = chain.invoke({"input":"帮我写一篇关于AI的技术文章,100个字"})
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\langchain_core\runnables\base.py", line 3024, in invoke
    input = context.run(step.invoke, input, config)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\langchain_core\language_models\chat_models.py", line 284, in invoke
    self.generate_prompt(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\langchain_core\language_models\chat_models.py", line 860, in generate_prompt
    return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\langchain_core\language_models\chat_models.py", line 690, in generate
    self._generate_with_cache(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\langchain_core\language_models\chat_models.py", line 925, in _generate_with_cache
    result = self._generate(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\langchain_openai\chat_models\base.py", line 783, in _generate
    response = self.client.create(**payload)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_utils\_utils.py", line 279, in wrapper
    return func(*args, **kwargs)
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\resources\chat\completions\completions.py", line 879, in create
    return self._post(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 1290, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 967, in request
    return self._request(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 1027, in _request
    return self._retry_request(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 1105, in _retry_request
    return self._request(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 1027, in _request
    return self._retry_request(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 1105, in _retry_request
    return self._request(
  File "E:\StudyLangchain\pythonProject\.venv\lib\site-packages\openai\_base_client.py", line 1037, in _request
    raise APIConnectionError(request=request) from err
openai.APIConnectionError: Connection error.

进程已结束,退出代码为 1

请问该如何解决呢?

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2025-02-20 19:32
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    根据您提供的代码和报错信息,您遇到了一个SSL连接问题。请您尝试以下解决方法:
    1. 确保您的Python版本与OpenAI SDK兼容。您可以查看OpenAI官方文档或GitHub页面来确认兼容性。
    2. 确保您的网络连接稳定并且没有被防火墙或代理服务器阻止。您可以尝试在不使用猫猫梯子的情况下运行代码,看看是否仍然出现相同的错误。
    3. 检查您的OpenAI密钥是否正确并且已经添加到环境变量中。您可以再次确认密钥是否有效。
    4. 尝试更新您的HTTP请求库(例如httpx)到最新版本,可能存在bug已经在最新版本中修复。 根据报错信息中提到的"EOF occurred in violation of protocol",此错误通常涉及到SSL/TLS协议相关问题,可能是因为SSL连接时发生了异常导致的。尝试上述方法中的一种或多种解决方法,希望能帮助您解决问题。 如果问题仍然存在,请尝试在正常网络环境下运行代码,排除猫猫梯子可能引起的问题。如果仍然无法解决,请提供更多细节或尝试与OpenAI支持团队联系以获取帮助。
    评论

报告相同问题?

问题事件

  • 修改了问题 2月20日
  • 创建了问题 2月20日