This commit is contained in:
2026-02-04 14:38:52 +08:00
commit a5147b1429
29 changed files with 4489 additions and 0 deletions

99
test_qianwen_api.py Normal file
View File

@@ -0,0 +1,99 @@
"""通义千问API连接测试脚本"""
import sys
from pathlib import Path
# 添加项目路径到sys.path
project_root = Path(__file__).parent
sys.path.insert(0, str(project_root))
from modules.api_client import APIClient
def test_qianwen_api():
"""测试通义千问API连接"""
print("=" * 50)
print("通义千问API连接测试")
print("=" * 50)
try:
# 创建API客户端
print("\n1⃣ 正在初始化API客户端...")
client = APIClient()
# 设置为qianwen提供商
print("2⃣ 切换到通义千问提供商...")
client.set_provider('qianwen')
# 获取配置信息
config = client.get_provider_config()
print(f"\n📋 当前配置:")
print(f" - 提供商: qianwen")
print(f" - 模型: {config.get('model', 'N/A')}")
print(f" - API地址: {config.get('base_url', 'N/A')}")
print(f" - API密钥: {'已配置' if config.get('api_key') else '未配置'}")
print(f" - 最大tokens: {config.get('max_tokens', 'N/A')}")
print(f" - 温度参数: {config.get('temperature', 'N/A')}")
# 检查API密钥
if not config.get('api_key'):
print("\n❌ 错误: API密钥未配置")
print(" 请在 config/api_config.yaml 中配置 qianwen.api_key")
return False
# 发送测试请求
print("\n3⃣ 发送测试请求...")
test_prompt = "请用一句话介绍你自己。"
print(f" 测试Prompt: {test_prompt}")
print("\n⏳ 等待API响应...")
response = client.call_api(test_prompt)
# 显示响应
print("\n✅ API连接成功!")
print(f"\n📤 API响应:")
print("-" * 50)
print(response)
print("-" * 50)
# 响应统计
print(f"\n📊 响应统计:")
print(f" - 响应长度: {len(response)} 字符")
print(f" - 响应行数: {response.count(chr(10)) + 1}")
print("\n" + "=" * 50)
print("✅ 通义千问API连接测试成功!")
print("=" * 50)
return True
except Exception as e:
print("\n" + "=" * 50)
print("❌ API连接测试失败!")
print("=" * 50)
print(f"\n错误类型: {type(e).__name__}")
print(f"错误信息: {str(e)}")
# 常见错误提示
print("\n💡 可能的解决方案:")
if "api_key" in str(e).lower() or "unauthorized" in str(e).lower():
print(" - 检查API密钥是否正确")
print(" - 确认API密钥是否有效且未过期")
elif "timeout" in str(e).lower() or "connect" in str(e).lower():
print(" - 检查网络连接")
print(" - 确认API地址是否正确")
print(" - 尝试使用VPN或代理")
elif "max_tokens" in str(e).lower():
print(" - 调整max_tokens参数")
else:
print(" - 查看详细错误信息")
print(" - 检查API配置文件格式")
import traceback
print(f"\n📝 详细错误堆栈:")
print("-" * 50)
traceback.print_exc()
print("-" * 50)
return False
if __name__ == "__main__":
success = test_qianwen_api()
sys.exit(0 if success else 1)