Download backend/agents/normalization_agent.py from lablab-ai-amd-developer-hackathon/ReliefLensDemo: direct link, hf CLI and curl.
- Browser
- Download file 1.64 kB
-
https://huggingface.co/spaces/lablab-ai-amd-developer-hackathon/ReliefLensDemo/resolve/main/backend/agents/normalization_agent.py
- Command line
-
hf download hf://spaces/lablab-ai-amd-developer-hackathon/ReliefLensDemo/backend/agents/normalization_agent.py
-
curl -L -o normalization_agent.py https://huggingface.co/spaces/lablab-ai-amd-developer-hackathon/ReliefLensDemo/resolve/main/backend/agents/normalization_agent.py
1.64 kB
| from __future__ import annotations | |
| import logging | |
| from datetime import datetime | |
| from schemas.signal import NormalizedSignal, SignalType | |
| from skills.normalize_signal import normalize_signal | |
| logger = logging.getLogger(__name__) | |
| class NormalizationAgent: | |
| def __init__(self, vllm_client=None) -> None: | |
| self.vllm_client = vllm_client | |
| async def run(self, raw_text: str, report_id: str, modality: str) -> NormalizedSignal: | |
| logger.debug("NormalizationAgent processing text from report %s", report_id) | |
| data = await normalize_signal(raw_text, modality, report_id, vllm_client=self.vllm_client) | |
| signal_type_str = data.get("signal_type", "unknown") | |
| try: | |
| signal_type = SignalType(signal_type_str) | |
| except ValueError: | |
| signal_type = SignalType.UNKNOWN | |
| created_raw = data.get("created_at", datetime.utcnow().isoformat()) | |
| if isinstance(created_raw, str): | |
| try: | |
| created_at = datetime.fromisoformat(created_raw) | |
| except ValueError: | |
| created_at = datetime.utcnow() | |
| else: | |
| created_at = created_raw | |
| return NormalizedSignal( | |
| source_report_id=report_id, | |
| signal_type=signal_type, | |
| description=data.get("description", raw_text[:200]), | |
| location=data.get("location"), | |
| coordinates=data.get("coordinates"), | |
| affected_people=data.get("affected_people"), | |
| raw_text=raw_text, | |
| confidence=data.get("confidence", 0.7), | |
| modality=modality, | |
| created_at=created_at, | |
| ) | |