czty's picture
Add files using upload-large-folder tool
b2c86fd verified
Raw
History Blame Contribute Delete
3.22 kB
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()