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

使用Chainlit开发OpenAI API应用时遇SSL握手失败错误求助

解决Chainlit+OpenAI开发中SSL证书验证失败的问题

执行chainlit run main.py启动服务后,服务器虽能运行,但出现以下SSL握手错误:

E0828 02:21:10.694000000 20136 src/core/tsi/ssl_transport_security.cc:1446] Handshake failed with fatal error SSL_ERROR_SSL: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED.

这个错误本质是OpenAI API请求时的SSL证书验证失败,并非Chainlit本地服务器的问题,以下是修复步骤:

一、先修正代码中的两处错误

你的代码存在功能异常的潜在问题,建议先修复:

  1. API_KEY环境变量键名错误:OpenAI官方要求的环境变量是OPENAI_API_KEY,而非openAi_API_KEY;
  2. temprature拼写错误:应为temperature;
  3. 回复内容提取错误:直接将response转成字符串会返回API原始响应结构,需提取实际对话内容。

修正后的代码:

import chainlit as cl
import openai
import os

# 正确设置环境变量并读取API_KEY
os.environ['OPENAI_API_KEY'] = '你的真实API_KEY'
openai.api_key = os.getenv('OPENAI_API_KEY')

@cl.on_message
async def main(message : str):
    response = openai.ChatCompletion.create(
        model = 'gpt-3.5-turbo',
        messages = [
            {"role":"system","content":"你是一个表单收集助手,需要询问用户的姓名、邮箱和电话号码"},
            {"role":"user","content":message}
        ],
        temperature = 1
    )   
    # 提取AI的回复内容
    await cl.Message(content=response['choices'][0]['message']['content']).send()

二、修复SSL证书验证失败问题

方法1:更新本地CA证书

这是最安全的解决方案,不同系统操作如下:

  • Windows:执行pip install --upgrade certifi更新Python的证书库;
  • macOS:找到Python安装目录,运行Install Certificates.command脚本(比如/Applications/Python 3.11/Install Certificates.command);
  • Linux(Ubuntu/Debian):执行sudo apt update && sudo apt install --reinstall ca-certificates更新系统证书。

方法2:临时禁用SSL验证(仅测试环境使用)

如果只是临时测试,可在代码开头添加以下代码跳过证书验证,但生产环境绝对禁止使用:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

方法3:排查网络环境

  • 如果使用代理服务器,确保代理配置正确,且允许访问api.openai.com;
  • 暂时关闭防火墙、VPN等网络工具,重试请求看是否恢复正常。

内容的提问来源于stack exchange,提问作者Puranjay Kwatra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:06:07