run_full_analysis.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/usr/bin/env python3
  2. """
  3. 完整广告分析流程脚本
  4. 执行 Step 1-10 的完整决策流程
  5. """
  6. import asyncio
  7. import sys
  8. from pathlib import Path
  9. # 添加项目路径
  10. sys.path.insert(0, str(Path(__file__).parent))
  11. from agent.tools.models import ToolContext
  12. from tools.data_query import fetch_creative_data
  13. from tools.creative_metrics import merge_creative_data
  14. from tools.roi_calculator import calculate_roi_metrics
  15. from tools.ad_decision import get_ads_for_review
  16. async def main():
  17. """执行完整分析流程"""
  18. # 创建工具上下文
  19. ctx = ToolContext(
  20. agent_id="auto_put_ad_mini",
  21. session_id="manual_run",
  22. trace_id="manual_trace"
  23. )
  24. end_date = "20260420"
  25. days = 7
  26. print("=" * 60)
  27. print("Step 1: 拉取创意数据")
  28. print("=" * 60)
  29. result1 = await fetch_creative_data(ctx, days=days, end_date=end_date)
  30. print(result1.output)
  31. print("\n" + "=" * 60)
  32. print("Step 2: 合并创意数据")
  33. print("=" * 60)
  34. result2 = await merge_creative_data(ctx, days=days, force=False)
  35. print(result2.output)
  36. print("\n" + "=" * 60)
  37. print("Step 3: 计算 ROI 指标")
  38. print("=" * 60)
  39. result3 = await calculate_roi_metrics(ctx, end_date=end_date)
  40. print(result3.output)
  41. print("\n" + "=" * 60)
  42. print("Step 4: 获取待评估广告")
  43. print("=" * 60)
  44. result4 = await get_ads_for_review(ctx, metrics_csv="", end_date=end_date)
  45. print(result4.output)
  46. print("\n" + "=" * 60)
  47. print("数据准备完成!")
  48. print("=" * 60)
  49. print("\n接下来需要 AI 对待评估广告进行推理决策...")
  50. if __name__ == "__main__":
  51. asyncio.run(main())