You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在GCS运行Python Langchain时遭遇OpenAI APIConnectionError

问题分析与排查方向

核心原因推测

这个openai.APIConnectionError本质是部署在GCP的服务无法建立到OpenAI API的网络连接,本地正常说明代码逻辑没问题,问题出在GCP环境的网络配置、密钥权限或环境变量上。

具体排查步骤

  • 检查GCP服务的网络出站权限

    • 如果部署在App Engine标准环境,默认允许HTTPS出站请求,但如果使用了VPC连接器、自定义网络或防火墙规则,需要确认是否允许访问api.openai.com(端口443)。可以在GCP实例中执行curl https://api.openai.com/v1/models测试连通性。
    • 如果是Cloud Run或Compute Engine,检查VPC的出站规则,确保没有禁止外部HTTPS流量。
  • 验证OpenAI API密钥的配置与权限

    • 确认GCP环境中是否正确设置了API密钥的环境变量,避免硬编码密钥导致部署时缺失。可以在代码中添加print(f"API key set: {bool(api_key)}")验证密钥是否加载成功。
    • 检查密钥是否设置了IP白名单:如果本地IP在白名单内,但GCP实例的外部IP不在,会触发连接拒绝。可以临时使用无IP限制的密钥测试,或者将GCP实例的IP加入白名单。
  • 调整OpenAI客户端的网络参数

    • 初始化OpenAIEmbeddings时显式增加超时时间,避免因GCP网络延迟导致连接超时:
      embedding_function = OpenAIEmbeddings(
          openai_api_key=api_key,
          request_timeout=30  # 延长超时至30秒
      )
      
    • 如果GCP环境需要通过代理访问外部网络,设置对应的代理环境变量(HTTP_PROXY/HTTPS_PROXY),或者在初始化时传入proxy参数。
  • 确认Chroma持久化数据的完整性

    • 如果本地生成的Chroma向量数据(CHROMA_PATH目录)没有完整同步到GCP环境,Chroma会尝试重新生成embedding,此时会调用OpenAI API。需要确保CHROMA_PATH在GCP环境中可读写,且数据与本地一致。
  • 捕获更详细的错误信息

    • 修改代码捕获异常并打印详细信息,帮助定位具体的连接问题(比如DNS失败、SSL错误等):
      import openai
      
      def query_gpt(query, version):
          print(f"recieved {query}")
          query_text = query
          embedding_function = OpenAIEmbeddings(openai_api_key=api_key)
          print("created embedding_function")
          db = Chroma(persist_directory=CHROMA_PATH, embedding_function=embedding_function)
          print(f"created db: {db}")
          # Search the DB
          try:
              results = db.similarity_search_with_relevance_scores(query_text, k=5)
              print(f"results: {results}")
          except openai.APIConnectionError as e:
              print(f"Connection error details: {e.__dict__}")
              raise
      

内容的提问来源于stack exchange,提问作者zachary cohen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 02:14:56