HTTP Error 401: Unauthorized 0.7 https://www.dmxapi.cn/v1 TimeoutError The read ...
错误信息
Ran TIANDAO_CONFIG=/home/gongbo/srpg/config.example.json python3 -c 'import json, time; from main import load_config; from llm_doubao import DoubaoLLM; payload="events = "+json.dumps([{
│ "type": "NPC_TALK", "npc": "老张", "memory": "今夜风凉,酒馆里尚有温酒"}], ensure_ascii=False); cfg=load_config(); urls=["https://api.openai.com/v1", "https://www.dmxapi.cn/v1"];
│ [((lambda c,u: (c.update(base_url=u, provider="doubao", model="doubao-seed-2-1-turbo-260628", temperature=0.75, max_tokens=64, timeout=12), c))(dict(cfg), url)) for url in []];
│ … +4 lines
└ https://api.openai.com/v1 HTTPError HTTP Error 401: Unauthorized 0.7
https://www.dmxapi.cn/v1 TimeoutError The read operation timed out 12.1
AI 解决方案
🔍 报错分析
1. 🌐 错误翻译
原文:https://api.openai.com/v1 HTTPError HTTP Error 401: Unauthorized 0.7
译文:https://api.openai.com/v1 HTTP错误 HTTP错误401:未授权 0.7
原文:https://www.dmxapi.cn/v1 TimeoutError The read operation timed out 12.1
译文:https://www.dmxapi.cn/v1 超时错误 读取操作超时 12.1
2. 🎯 原因分析
https://api.openai.com/v1 发送请求时,认证失败,通常是由于缺少有效的 API Key 或 API Key 配置错误。https://www.dmxapi.cn/v1 发送请求时,请求超时,可能原因是网络连接问题、服务端响应缓慢或未正确配置超时参数。3. 💡 解决方案
#### 针对401未授权错误
确保正确配置 OpenAI API Key,在请求头中添加认证信息。
import os
import requests
from requests.auth import HTTPBasicAuth
# 从环境变量获取 API Key
openai_api_key = os.environ.get("OPENAI_API_KEY")
if not openai_api_key:
raise ValueError("请设置 OPENAI_API_KEY 环境变量")
# 正确的认证方式(以实际认证方式为准,示例为基本认证格式)
headers = {
"Authorization": f"Bearer {openai_api_key}"
}
# 示例请求
response = requests.get("https://api.openai.com/v1/models", headers=headers)
response.raise_for_status()
#### 针对超时错误
检查网络连接,增加合理的超时参数,并确认服务端可用性。
import requests
# 设置合理的超时参数
timeout = 15 # 超时时间调整为15秒
try:
# 示例请求,设置超时
response = requests.get("https://www.dmxapi.cn/v1", timeout=timeout)
response.raise_for_status()
except requests.exceptions.Timeout:
print("请求超时,请检查网络连接或稍后重试")
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
4. 🛡️ 预防措施
requests配合urllib3的重试功能)应对偶发网络问题。Postman 提前测试接口连通性和认证有效性;在代码中通过 logging 模块记录请求状态和错误信息,便于排查。