#!/usr/bin/env python3 """Simplified Qwen API connectivity test (no project code dependencies)""" import os # Set API Key (provided by user) API_KEY = "sk-426efxxxxxxxxxxxxxxxxxxxxxxxxxaba" def check_dashscope_import(): """Test if dashscope SDK is correctly installed""" print("=" * 60) print("Step 1: Test dashscope SDK import") print("=" * 60) try: import dashscope print(f"✅ dashscope SDK installed") print(f" Version: {dashscope.__version__ if hasattr(dashscope, '__version__') else 'unknown'}") return dashscope except ImportError as e: print(f"❌ Cannot import dashscope: {e}") return None def check_api_key(dashscope): """Test if API Key is valid""" print("\n" + "=" * 60) print("Step 2: Test Qwen API Key connectivity") print("=" * 60) print(f"API Key: {API_KEY[:20]}... (hidden)\n") try: # Set API Key dashscope.api_key = API_KEY # Import Generation from dashscope from dashscope import Generation # Send simple test request print("Sending test request to Qwen API...") response = Generation.call( model='qwen-turbo', prompt='Say "Hello"', result_format='message' ) # Check response if response.status_code == 200: result_text = response.output.choices[0].message.content print(f"\n✅ API call successful!") print(f" Status code: {response.status_code}") print(f" Response content: {result_text}") print(f" Input tokens: {response.usage.input_tokens}") print(f" Output tokens: {response.usage.output_tokens}") return True elif response.status_code == 401: print(f"\n❌ Authentication failed (401)") print(f" Error message: {response.message}") print(f" Please check if API Key is correct") return False else: print(f"\n❌ API call failed") print(f" Status code: {response.status_code}") print(f" Error message: {response.message}") return False except Exception as e: print(f"\n❌ Exception occurred during test: {e}") import traceback traceback.print_exc() return False def check_json_format(dashscope): """Test JSON format return""" print("\n" + "=" * 60) print("Step 3: Test JSON format return") print("=" * 60) try: dashscope.api_key = API_KEY from dashscope import Generation prompt = 'Generate a simple JSON: {"name": "test", "value": 123}' print(f"Prompt: {prompt}\n") print("Sending request...") response = Generation.call( model='qwen-turbo', prompt=prompt, result_format='message' ) if response.status_code == 200: result_text = response.output.choices[0].message.content print(f"✅ JSON format test successful") print(f" Response content: {result_text[:100]}...") return True else: print(f"❌ JSON format test failed: {response.message}") return False except Exception as e: print(f"❌ Test failed: {e}") return False def main(): print("\n" + "=" * 60) print("Qwen API Simplified Connectivity Test") print("=" * 60 + "\n") # Step 1: Test SDK import dashscope = check_dashscope_import() if not dashscope: return 1 # Step 2: Test API Key api_test = check_api_key(dashscope) if not api_test: return 1 # Step 3: Test JSON format json_test = check_json_format(dashscope) # Summary print("\n" + "=" * 60) print("Test Summary") print("=" * 60) print(f"✅ DashScope SDK import: Success") print(f"{'✅' if api_test else '❌'} API Key connectivity: {'Success' if api_test else 'Failed'}") print(f"{'✅' if json_test else '❌'} JSON format test: {'Success' if json_test else 'Failed'}") if api_test and json_test: print("\n🎉 All tests passed! Qwen API integration is ready.") return 0 else: print("\n⚠️ Some tests failed, please check the error messages above.") return 1 if __name__ == "__main__": import sys sys.exit(main())