-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_google_api.py
More file actions
67 lines (56 loc) · 2.1 KB
/
Copy pathtest_google_api.py
File metadata and controls
67 lines (56 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import os
import sys
from openai import OpenAI
from dotenv import load_dotenv
# 加载 .env 文件
load_dotenv()
def test_google_api_connectivity():
"""
测试 Google API (Gemini via OpenAI compatibility) 的连通性
"""
print("=== 开始测试 Google API 连通性 ===")
# 从环境变量获取配置
api_key = os.getenv("INSIGHT_ENGINE_API_KEY", "AIzaSyB-HY2AzpNlK1MrIo9PXvRoF7ZOm3oX3vg")
base_url = os.getenv("INSIGHT_ENGINE_BASE_URL", "https://generativelanguage.googleapis.com/v1beta/openai/")
# 强制使用 gemini-2.0-flash 进行测试
model_name = "gemini-2.0-flash"
print(f"API KEY: {api_key[:8]}...{api_key[-4:]}")
print(f"Base URL: {base_url}")
print(f"Model: {model_name}")
try:
client = OpenAI(
api_key=api_key,
base_url=base_url
)
print("\n正在获取可用模型列表...")
try:
models = client.models.list()
print("可用模型:")
for model in models:
print(f"- {model.id}")
except Exception as list_err:
print(f"无法列出模型: {list_err}")
print("\n正在发送测试请求...")
response = client.chat.completions.create(
model=model_name,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello, simply reply 'Connection Successful!' if you receive this message."}
],
max_tokens=20
)
print("\nRaw Response:")
print(response)
content = response.choices[0].message.content
print(f"\n[SUCCESS] Test Passed! API Response: \n{content}")
return True
except Exception as e:
print(f"\n[FAILURE] Test Failed! Error: \n{str(e)}")
print("\n可能的原因:")
print("1. 网络连接问题(需要科学上网?)")
print("2. API Key 无效")
print("3. Base URL 配置错误")
print("4. 模型名称错误")
return False
if __name__ == "__main__":
test_google_api_connectivity()