Error code: 401 - {'error': {'code': '', 'message': '无效的令牌 (request id: 20260413...

2026年04月13日 16:26 processing

错误信息

⚠ [llm] reminder extract FAIL | AuthenticationError: Error code: 401 - {'error': {'code': '', 'message': '无效的令牌 (request id: 20260413082630137295894sRHBk3Nl)', 'type': 'new_api_error'}} ⚠ [llm] chat FAIL | 0.3s | AuthenticationError: Error code: 401 - {'error': {'code': '', 'message': '无效的令牌 (request id: 20260413082630474380080S0NJvpHZ)', 'type': 'new_api_error'}} | input=你好

AI 解决方案

报错分析报告

1.错误翻译


原文:AuthenticationError: Error code: 401 | Invalid token
译文:认证错误:错误代码401 | 无效令牌

2. 原因分析


  • 根本原因:使用的API令牌无效(过期、错误或未被授权)

  • 发生位置:调用LLM的reminder extractchat接口时,身份验证失败

  • 上下文:请求携带的令牌无法通过DMXAPI平台的认证校验
  • 3. 解决方案


    import requests
    import os
    from dotenv import load_dotenv
    
    # 加载环境变量(推荐用.env文件存令牌)
    load_dotenv()
    VALID_TOKEN = os.getenv("DMXAPI_TOKEN")  # 替换为有效令牌
    
    def call_dmxapi_chat(input_text):
        url = "https://api.dmxapi.com/v1/chat"  # 实际接口地址以文档为准
        headers = {
            "Authorization": f"Bearer {VALID_TOKEN}",
            "Content-Type": "application/json"
        }
        payload = {"input": input_text}
        
        try:
            response = requests.post(url, headers=headers, json=payload, timeout=10)
            response.raise_for_status()  # 主动抛出HTTP错误
            return response.json()
        except requests.exceptions.HTTPError as e:
            print(f"API错误: {e.response.status_code} - {e.response.text}")
    
    # 使用示例
    result = call_dmxapi_chat("你好")
    print(result)
    

    4. 预防措施


  • 最佳实践1:用环境变量/密钥管理服务(如Vault)存储令牌,禁止硬编码

  • 最佳实践2:调用前先验证令牌有效性(如用/auth/verify接口),过期前自动刷新

  • 推荐工具python-dotenv(管理环境变量)、Postman(预检接口权限)


  • :需替换VALID_TOKEN为DMXAPI平台颁发的有效令牌,接口地址以官方文档为准。