run.py 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env python3
  2. """Run demand_grade_agent on one batch of demand names.
  3. 批次选择(哪些词、多少个)由调用方(通常是调度任务)负责,本入口只处理
  4. 传入的这一批,不做分页/自行遍历需求池。
  5. """
  6. from __future__ import annotations
  7. from agents.demand_grade_agent import create_demand_grade_agent
  8. def main(demand_names: list[str], biz_dt: str | None = None) -> None:
  9. agent = create_demand_grade_agent()
  10. print(f"demand_grade_agent ready | model={agent.model}")
  11. print(f"tools: {agent.tools.list_tools()}")
  12. print()
  13. names_str = "\n".join(f"- {name}" for name in demand_names)
  14. biz_dt_note = f"biz_dt={biz_dt}" if biz_dt else "未指定 biz_dt,请先调用 query_latest_biz_dt() 确定"
  15. user_input = f"""
  16. 请对以下 {len(demand_names)} 个需求词逐一评级(S/A/B/C/D),{biz_dt_note}。
  17. 只处理这一批,不要尝试查找或列举更多需求词。判级完成后调用 batch_save_demand_grades 落库。
  18. 需求词列表:
  19. {names_str}
  20. """
  21. result = agent.run(user_input)
  22. print(result.content)
  23. print(f"\n[iterations={result.iterations}, tool_calls={result.tool_calls_made}]")
  24. if __name__ == "__main__":
  25. main(["因果报应", "降半旗"], biz_dt="20260714")