test_detail_info.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. """
  2. 快速测试 - 验证detail_info初始化
  3. """
  4. import os
  5. import sys
  6. # 添加路径
  7. current_dir = os.path.dirname(os.path.abspath(__file__))
  8. root_dir = os.path.dirname(current_dir)
  9. sys.path.insert(0, root_dir)
  10. print("测试: detail_info初始化验证")
  11. print("=" * 60)
  12. try:
  13. from knowledge_v2.function_knowledge import FunctionKnowledge
  14. # 创建实例(禁用缓存以测试所有路径)
  15. agent = FunctionKnowledge(use_cache=False)
  16. # 测试1: generate_query
  17. print("\n[测试1] generate_query")
  18. query, detail = agent.generate_query("测试问题", "无", "测试")
  19. print(f"✓ 返回类型: {type(query)}, {type(detail)}")
  20. print(f"✓ detail keys: {detail.keys()}")
  21. assert 'prompt' in detail, "detail应该包含prompt"
  22. assert 'response' in detail, "detail应该包含response"
  23. print("✓ generate_query 通过")
  24. # 测试2: select_tool
  25. print("\n[测试2] select_tool")
  26. combined = "测试||无||测试"
  27. tool_name, detail = agent.select_tool(combined, query)
  28. print(f"✓ 返回类型: {type(tool_name)}, {type(detail)}")
  29. print(f"✓ detail keys: {detail.keys()}")
  30. assert 'prompt' in detail, "detail应该包含prompt"
  31. assert 'response' in detail, "detail应该包含response"
  32. print("✓ select_tool 通过")
  33. # 测试3: extract_tool_params
  34. print("\n[测试3] extract_tool_params")
  35. params, detail = agent.extract_tool_params(combined, "test_tool", query)
  36. print(f"✓ 返回类型: {type(params)}, {type(detail)}")
  37. print(f"✓ detail keys: {detail.keys()}")
  38. assert 'prompt' in detail or 'fallback' in detail, "detail应该包含prompt或fallback"
  39. print("✓ extract_tool_params 通过")
  40. print("\n" + "=" * 60)
  41. print("✓ 所有测试通过!detail_info初始化正确")
  42. print("=" * 60)
  43. except Exception as e:
  44. print(f"\n✗ 测试失败: {e}")
  45. import traceback
  46. traceback.print_exc()