""" xAI API相关功能模块 - 提供xAI API的调用和验证功能 """ import requests def validate_api_key(api_key): """ 验证xAI API密钥是否有效 Args: api_key (str): 需要验证的xAI API密钥 Returns: dict: 包含验证结果的字典,包括: - success (bool): API密钥验证成功为True,失败为False - return_message (str): 验证响应的具体消息,成功时为"200: Success!",失败时为错误详情 - balance (float): 账户余额,固定为0 - states (str): 账户状态,xAI没有Tier等级,默认为空字符串 """ url = "https://api.x.ai/v1/chat/completions" headers = { "Authorization": f"Bearer {api_key}", "Content-Type": "application/json" } payload = { "model": "grok-2-1212", "max_tokens": 1, "messages": [ {"role": "user", "content": "Hello"} ] } try: response = requests.post(url, headers=headers, json=payload) if response.status_code == 200: return { "success": True, "return_message": "200: Success!", "balance": 0, "states": "" } else: return_message = "" try: error_data = response.json() if "error" in error_data: return_message = error_data["error"].get("message", "") return_message = f"{response.status_code}: {return_message}" except: return_message = f"{response.status_code}: {response.text or f'HTTP错误'}" return { "success": False, "return_message": return_message, "balance": 0, "states": "" } except Exception as e: error_str = str(e) print(f"验证API密钥时出错: {error_str}") return { "success": False, "return_message": f"500: 请求异常: {error_str}", "balance": 0, "states": "" }