analysis_agent.py 795 B

12345678910111213141516171819202122232425
  1. from app.tools.java_client import JavaClient
  2. import logging
  3. logger = logging.getLogger(__name__)
  4. class AnalysisAgent:
  5. """报告解读 Agent: 拉取报告数据 + 问卷数据 + LLM 分析"""
  6. def __init__(self):
  7. self.java = JavaClient()
  8. async def get_report_summary(self, report_id: int) -> dict:
  9. """获取报告概要 (用于 LLM 上下文)"""
  10. try:
  11. client = await self.java._get_client()
  12. resp = await client.post("/api/health/report/summary", json={
  13. "reportId": report_id,
  14. })
  15. data = resp.json()
  16. if data.get("code") == 200:
  17. return data.get("data", {})
  18. except Exception as e:
  19. logger.warning("获取报告概要失败: %s", e)
  20. return {}