| import sys |
| import google.generativeai as genai |
| import openai |
| import os |
| from dotenv import load_dotenv |
|
|
| load_dotenv() |
|
|
| def check_gemini_api_key(): |
| """检测 Gemini API Key 是否可用""" |
| try: |
| genai.configure(api_key=os.getenv("GEMINI_API_KEY")) |
| model = genai.GenerativeModel("gemini-2.5-flash") |
| response = model.generate_content("hi") |
| print("✅ Gemini API Key 可用") |
| print(f" 响应: {response.text[:50]}...") |
| return True |
| except Exception as e: |
| print(f"❌ Gemini API Key 不可用: {e}") |
| return False |
|
|
| def check_openai_api_key(): |
| """检测 OpenAI API Key 是否可用""" |
| try: |
| client = openai.OpenAI(api_key=os.getenv("OPENAI_API_KEY")) |
| response = client.chat.completions.create( |
| model="gpt-3.5-turbo", |
| messages=[{"role": "user", "content": "hi"}], |
| max_tokens=10 |
| ) |
| print("✅ OpenAI API Key 可用") |
| print(f" 响应: {response.choices[0].message.content[:50]}...") |
| return True |
| except openai.AuthenticationError: |
| print("❌ OpenAI API Key 无效或已过期") |
| return False |
| except openai.APIError as e: |
| print(f"❌ OpenAI API 错误: {e}") |
| return False |
| except Exception as e: |
| print(f"❌ OpenAI API Key 检测失败: {e}") |
| return False |
|
|
| def check_deepseek_api_key(): |
| """检测 DeepSeek API Key 是否可用""" |
| try: |
| client = openai.OpenAI( |
| api_key=os.getenv("DEEPSEEK_API_KEY"), |
| base_url=os.getenv("DEEPSEEK_BASE_URL", "https://api.deepseek.com/v1"), |
| ) |
| model_name = os.getenv("DEEPSEEK_MODEL_NAME", "deepseek-chat") |
| response = client.chat.completions.create( |
| model=model_name, |
| messages=[{"role": "user", "content": "hi"}], |
| max_tokens=10 |
| ) |
| print("✅ DeepSeek API Key 可用") |
| print(f" 响应: {response.choices[0].message.content[:50]}...") |
| return True |
| except openai.AuthenticationError: |
| print("❌ DeepSeek API Key 无效或已过期") |
| return False |
| except openai.APIError as e: |
| print(f"❌ DeepSeek API 错误: {e}") |
| return False |
| except Exception as e: |
| print(f"❌ DeepSeek API Key 检测失败: {e}") |
| return False |
|
|
| def check_both_keys(): |
| """同时检测两个 API Key""" |
| print("=" * 40) |
| print("开始检测 API Keys...") |
| print("=" * 40) |
| |
| gemini_valid = check_gemini_api_key() |
| print() |
| openai_valid = check_openai_api_key() |
| |
| print("\n" + "=" * 40) |
| print("检测结果汇总:") |
| print(f" Gemini: {'✅ 可用' if gemini_valid else '❌ 不可用'}") |
| print(f" OpenAI: {'✅ 可用' if openai_valid else '❌ 不可用'}") |
| print("=" * 40) |
| |
| return gemini_valid, openai_valid |
|
|
| if __name__ == "__main__": |
| target = (sys.argv[1] if len(sys.argv) > 1 else "all").strip().lower() |
| if target == "gemini": |
| check_gemini_api_key() |
| elif target == "openai": |
| check_openai_api_key() |
| elif target == "deepseek": |
| check_deepseek_api_key() |
| else: |
| check_both_keys() |
|
|