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

使用Ragas评估RAG管道时遇SSL证书验证失败错误求助

SSL证书验证失败导致Ragas评估Azure OpenAI连接错误

问题场景

我使用以下代码评估RAG管道,已确认数据集格式符合Ragas要求,且Azure OpenAI密钥配置正确,但调用evaluate方法时出现连接错误:

for query in questions:
    content,answer = rag_pipeline(query)
    answers.append(answer)
    contexts.append([content])

# To dict
data = {
    "question": questions,
    "answer": answers,
    "contexts": contexts,
    "ground_truths": ground_truths
}

# Convert dict to dataset
print(data)
dataset = Dataset.from_dict(data)

result = evaluate(dataset = dataset,
                    #is_async = True, 
                    metrics=[context_precision,
                            context_recall,
                            faithfulness,
                            answer_relevancy,
                            ],
)

df = result.to_pandas()

错误信息

openai.APIConnectionError: Connection error.
Traceback (most recent call last):
  File "C:\Users\VI20095818\Documents\EDJ\evaluation\ragas_testing.py", line 417, in <module>
    result = evaluate(dataset = dataset,
  File "C:\Users\VI20095818\Documents\edjenv\lib\site-packages\ragas\evaluation.py", line 230, in evaluate
    raise e
  File "C:\Users\VI20095818\Documents\edjenv\lib\site-packages\ragas\evaluation.py", line 212, in evaluate
    raise ExceptionInRunner()
ragas.exceptions.ExceptionInRunner: The runner thread which was running the jobs raised an exeception. Read the traceback above to debug it. You can also pass `raise_exception=False` incase you want to show only a warning message instead.
Task was destroyed but it is pending!

核心错误

httpx.ConnectError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)

解决方案

1. 临时禁用SSL验证(仅测试环境)

通过修改Ragas使用的OpenAI客户端配置跳过SSL验证,生产环境禁止使用:

import httpx
from openai import AzureOpenAI
from ragas import set_openai_client

# 初始化带SSL跳过的Azure OpenAI客户端
client = AzureOpenAI(
    azure_endpoint="你的Azure端点",
    api_key="你的API密钥",
    api_version="你的API版本",
    http_client=httpx.Client(verify=False)
)
# 让Ragas使用该客户端
set_openai_client(client)

2. 配置企业根CA证书(内网环境)

如果是企业内网,导入信任的CA证书文件(.pem格式):

import httpx
from openai import AzureOpenAI
from ragas import set_openai_client

client = AzureOpenAI(
    azure_endpoint="你的Azure端点",
    api_key="你的API密钥",
    api_version="你的API版本",
    http_client=httpx.Client(verify="/path/to/企业CA证书.pem")
)
set_openai_client(client)

也可通过环境变量全局配置:

import os
os.environ["REQUESTS_CA_BUNDLE"] = "C:\\path\\to\\企业CA证书.pem"  # Windows路径格式

3. 检查代理设置

若使用代理,确保代理地址正确且证书被信任:

  • 确认HTTPS_PROXY环境变量指向有效代理
  • 代理需要证书时,在客户端配置中指定代理证书路径

4. 更新依赖库

旧版本可能存在SSL相关bug,更新至最新版:

pip install --upgrade ragas openai httpx

内容的提问来源于stack exchange,提问作者VIKRANT KUMAR SINGH

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 13:30:23