""" 测试智能AI Agent """ import asyncio import sys import os # 添加项目路径 sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) from app.agent.smart_agent import SmartStockAgent async def test_intelligent_mode(): """测试智能模式""" print("=" * 60) print("测试智能AI Agent") print("=" * 60) # 创建Agent实例 agent = SmartStockAgent() # 测试用例 test_cases = [ { "name": "简单股票查询", "message": "贵州茅台怎么样", "session_id": "test_session_1" }, { "name": "技术分析关注", "message": "比亚迪的MACD指标怎么样,有没有金叉", "session_id": "test_session_2" }, { "name": "基本面关注", "message": "宁德时代的基本面如何,盈利能力强吗", "session_id": "test_session_3" } ] for i, test_case in enumerate(test_cases, 1): print(f"\n{'=' * 60}") print(f"测试用例 {i}: {test_case['name']}") print(f"{'=' * 60}") print(f"用户问题: {test_case['message']}") print() try: # 处理消息 response = await agent.process_message( message=test_case['message'], session_id=test_case['session_id'] ) # 打印结果 print("响应:") print(response.get('message', '')) print() # 打印元数据 metadata = response.get('metadata', {}) if metadata: print("元数据:") print(f" 类型: {metadata.get('type')}") if 'intent' in metadata: intent = metadata['intent'] print(f" 意图类型: {intent.get('type')}") print(f" 关注维度: {intent.get('dimensions')}") print(f" 分析深度: {intent.get('analysis_depth')}") if 'plan' in metadata: plan = metadata['plan'] skills = [s['name'] for s in plan.get('skills', [])] print(f" 调用技能: {skills}") except Exception as e: print(f"错误: {e}") import traceback traceback.print_exc() print(f"\n{'=' * 60}") print("测试完成") print("=" * 60) if __name__ == "__main__": asyncio.run(test_intelligent_mode())