run.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. """
  2. 内容寻找 Agent
  3. 使用示例:
  4. python run.py
  5. """
  6. import asyncio
  7. import logging
  8. import sys
  9. from pathlib import Path
  10. sys.path.insert(0, str(Path(__file__).parent.parent.parent))
  11. from dotenv import load_dotenv
  12. load_dotenv()
  13. import core
  14. # 配置日志
  15. log_dir = Path(__file__).parent / '.cache'
  16. log_dir.mkdir(exist_ok=True)
  17. logging.basicConfig(
  18. level=logging.INFO,
  19. format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
  20. handlers=[
  21. logging.FileHandler(log_dir / 'agent.log'),
  22. logging.StreamHandler()
  23. ]
  24. )
  25. logger = logging.getLogger(__name__)
  26. async def main():
  27. """主函数"""
  28. try:
  29. result = await core.run_agent(query=None, demand_id=None, stream_output=True)
  30. if result["status"] == "completed":
  31. print(f"\n[完成] trace_id={result['trace_id']}")
  32. else:
  33. print(f"\n[失败] trace_id={result.get('trace_id')}, 错误: {result.get('error')}")
  34. sys.exit(1)
  35. except KeyboardInterrupt:
  36. print("\n用户中断")
  37. except Exception as e:
  38. logger.error(f"执行失败: {e}", exc_info=True)
  39. print(f"\n执行失败: {e}")
  40. sys.exit(1)
  41. if __name__ == "__main__":
  42. asyncio.run(main())