Spaces:
Running
Running
Download kb.py from KRISHDEV99/OpenenvScaler: direct link, hf CLI and curl.
- Browser
- Download file 1.02 kB
-
https://huggingface.co/spaces/KRISHDEV99/OpenenvScaler/resolve/main/kb.py
- Command line
-
hf download hf://spaces/KRISHDEV99/OpenenvScaler/kb.py
-
curl -L -o kb.py https://huggingface.co/spaces/KRISHDEV99/OpenenvScaler/resolve/main/kb.py
1.02 kB
| from __future__ import annotations | |
| from collections import Counter, defaultdict | |
| import pandas as pd | |
| def build_knowledge_base(df: pd.DataFrame) -> dict[str, dict]: | |
| grouped: dict[str, list] = defaultdict(list) | |
| for _, row in df.iterrows(): | |
| grouped[str(row["knowledge_base_id"])].append(row) | |
| kb: dict[str, dict] = {} | |
| for kb_id, rows in grouped.items(): | |
| kb[kb_id] = { | |
| "title": _most_common([str(row.get("Subject", kb_id)) for row in rows]), | |
| "category": _most_common([str(row["expected_category"]) for row in rows]), | |
| "canonical_action": _most_common([str(row["expected_action"]) for row in rows]), | |
| "canonical_response": _most_common([str(row["expected_response"]) for row in rows]), | |
| "summary": "Ground responses in policy and avoid unsupported claims.", | |
| } | |
| return kb | |
| def _most_common(items: list[str]) -> str: | |
| if not items: | |
| return "" | |
| return Counter(items).most_common(1)[0][0] |