OPENAI - AZURE SSL error certification verification error

题意:OPENAI - AZURE SSL 错误:证书验证错误

问题背景:

whenever i make a request to azure-openai to create some embeddings the result is the error:

每当我向 Azure-OpenAI 发出创建嵌入的请求时,结果都会出现以下错误:

python 复制代码
Error communicating with OpenAI: HTTPSConnectionPool(host='form-chatgpt-open-ai.openai.azure.com', port=443): Max retries exceeded with url: //openai/deployments/embedding_01/embeddings?api-version=2023-03-15-preview (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1007)')))

if needed i can provide the code

如果需要,我可以提供代码。

i really don't know how to solve this. i am not behind any vpn, tried to use other wi-fis. has anyone encountered the same problem?

我真的不知道如何解决这个问题。我没有使用任何VPN,也尝试过使用其他Wi-Fi。有没有人遇到过同样的问题?

问题解决:

Codemakers215 answer will not work with openAI > 1.0 anymore. It switched over to use http_client as extra parameter and used httpx under the hood. This gives us more flexibility and not have to change the source anymore.

Codemakers215 的答案在 OpenAI > 1.0 中不再适用了。OpenAI 已经改为使用 http_client 作为额外参数,并在底层使用了 httpx。这给了我们更多的灵活性,不再需要更改源代码。

Also the azure parameters changed a bit.

此外,Azure 的参数也稍微有些变化。

To use it first install 要使用它,首先安装

python 复制代码
pip install httpx[http2]

Option 1: Disable SSL check选项 1:禁用 SSL 检查

python 复制代码
from langchain.schema import AIMessage, HumanMessage
from langchain.chat_models import AzureChatOpenAI

azure_configs ={      
    "azure_endpoint" : "https://<your oai url>.openai.azure.com/",
    "openai_api_version" :"2023-07-01-preview",
    "azure_deployment" : "<your deployment name>",
    "openai_api_key" :"your key",
    "openai_api_type" :"azure",
    "http_client": httpx.Client(verify=False)
}
llm = AzureChatOpenAI(**azure_configs)
result = llm( [HumanMessage(content='Tell me about pluto')])

Option 2: Use custom certs from the CA Store

选项 2:使用来自 CA 存储的自定义证书

When you are behind a firewall or your Company uses custom certs, or you use venv and don't have all the certs in your store, you have to

当你处于防火墙后面,或你的公司使用自定义证书,或者你使用虚拟环境(venv)且存储中没有所有证书时,你需要

  • export the cert from the browser based on your azure url (see solution above)

根据你的 Azure URL 从浏览器导出证书(参考上面的解决方案)

  • attach it to the CA Store (see solution above)

将其附加到 CA 存储中(参考上面的解决方案)

At that point you can check if the default response is working again

此时,你可以检查默认响应是否再次正常工作

python 复制代码
url ="https://platform.openai.com/" # or your azure url
response = requests.get(url)

The issue is still with openai module. The default httpx setting does not uses the requests.certs path. That's where you can just send it through via:

问题仍然出在 OpenAI 模块上。默认的 httpx 设置不使用 requests.certs 路径。你可以通过以下方式直接发送它:

python 复制代码
requests.certs.where()

All together: 总之:

python 复制代码
from langchain.schema import AIMessage, HumanMessage
from langchain.chat_models import AzureChatOpenAI

azure_configs ={      
    "azure_endpoint" : "https://<your oai url>.openai.azure.com/",
    "openai_api_version" :"2023-07-01-preview",
    "azure_deployment" : "<your deployment name>",
    "openai_api_key" :"your key",
    "openai_api_type" :"azure",
    "http_client": httpx.Client(verify=requests.certs.where())
}
llm = AzureChatOpenAI(**azure_configs)
result = llm( [HumanMessage(content='Tell me about pluto')])
相关推荐
MicrosoftReactor7 小时前
技术速递|Canvas 如何让 Agentic Workflow 更可见、可控、更高效
ai·agent·canvas
前沿在线8 小时前
百度文心助手推出任务引擎 2.0,日活用户同比增长 83%,日均对话轮次增长超 2 倍
人工智能·ai·大模型
张忠琳11 小时前
【deepseek-harness】DeepSeek Harness (dsh) 系统级架构分析之二
ai·agent·deepseek·harness
DevOps老兵12 小时前
AI全栈知识07:向量数据库 - Milvus/Chroma实战
数据库·ai·milvus
wujian831113 小时前
AI手机版怎么直接生成word?用“AI 导出鸭”把碎片时间变成专业文档
人工智能·ai·chatgpt·智能手机·word·ai导出鸭
赵大仁15 小时前
Structured Output 落地:JSON Schema、重试与前端校验
前端·ai·大模型·工程化·json schema
小七-七牛开发者15 小时前
dsh 拆解系列 Vol.01:没有特权内核的 Agent 运行时
ai·大模型·agent·claude·token·工作流·skill·claudecode·ai coding
嘟哩DuliDuli15 小时前
AI 短剧生成为什么要有角色库、场景库和镜头卡
android·人工智能·安全·ai·软件工程
码士集团小青17 小时前
编辑 OpenCode × DeepSeek 配置优化实战:一次「费用 和 Token 效率优先」的深度重构
人工智能·ai