| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- """
- 内容寻找 Agent
- 使用示例:
- python run.py
- """
- import asyncio
- import logging
- import sys
- from pathlib import Path
- sys.path.insert(0, str(Path(__file__).parent.parent.parent))
- from dotenv import load_dotenv
- load_dotenv()
- import core
- # 配置日志
- log_dir = Path(__file__).parent / '.cache'
- log_dir.mkdir(exist_ok=True)
- logging.basicConfig(
- level=logging.INFO,
- format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
- handlers=[
- logging.FileHandler(log_dir / 'agent.log'),
- logging.StreamHandler()
- ]
- )
- logger = logging.getLogger(__name__)
- async def main():
- """主函数"""
- try:
- # 使用 core.py 的共享逻辑,启用流式输出
- result = await core.run_agent(query=None, stream_output=True)
- if result["status"] == "completed":
- print(f"\n[完成] trace_id={result['trace_id']}")
- else:
- print(f"\n[失败] trace_id={result.get('trace_id')}, 错误: {result.get('error')}")
- sys.exit(1)
- except KeyboardInterrupt:
- print("\n用户中断")
- except Exception as e:
- logger.error(f"执行失败: {e}", exc_info=True)
- print(f"\n执行失败: {e}")
- sys.exit(1)
- if __name__ == "__main__":
- asyncio.run(main())
|