| """ | |
| 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": "" | |
| } | |