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

使用SpaCy-LLM调用企业Azure OpenAI API遇403错误求助

解决方案:SpaCy-LLM对接Azure OpenAI时传递自定义认证头

1. 规范.env环境变量配置

将所有敏感信息存入.env文件,示例如下:

AZURE_OPENAI_ENDPOINT="你的Azure OpenAI服务端点"
AZURE_OPENAI_API_KEY="你的Azure OpenAI API密钥"
AZURE_OPENAI_DEPLOYMENT="你的模型部署名称"
ENTERPRISE_AUTH_TOKEN="企业要求的认证令牌"

2. 修改config.cfg配置文件

在LLM模型配置中添加headers参数,直接传入所需的认证头字典(支持读取环境变量):

[paths]
train = null
dev = null
vectors = null
init_tok2vec = null

[system]
gpu_allocator = null
seed = 0

[nlp]
lang = "zh"
pipeline = ["llm"]
batch_size = 128

[components]

[components.llm]
factory = "llm"

[components.llm.model]
@llm_models = "spacy.AzureOpenAI.v2"
name = "gpt-35-turbo"
endpoint = ${env:AZURE_OPENAI_ENDPOINT}
api_key = ${env:AZURE_OPENAI_API_KEY}
deployment_name = ${env:AZURE_OPENAI_DEPLOYMENT}
# 这里传入自定义认证头,替换为企业要求的键值对
headers = {"Authorization": "Bearer ${env:ENTERPRISE_AUTH_TOKEN}", "X-Enterprise-Id": "你的企业ID"}

[components.llm.task]
@llm_tasks = "spacy.TextCat.v3"
labels = ["正面", "负面"]

3. 调整运行代码确保环境变量加载

使用python-dotenv加载.env文件,保证配置能读取到环境变量:

import spacy
from dotenv import load_dotenv

# 加载.env中的环境变量
load_dotenv()

# 加载配置文件初始化nlp对象
nlp = spacy.load("config.cfg")

# 测试调用
doc = nlp("这款产品使用体验很差")
print(doc.cats)

4. 错误排查要点

如果仍出现403错误,检查以下内容:

  • 环境变量是否拼写正确,无多余空格或引号
  • headers中的键值对是否完全匹配企业API的认证要求
  • Azure OpenAI的端点、API密钥、部署名称是否与后台配置一致

内容的提问来源于stack exchange,提问作者Virad Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 15:17:00