| from __future__ import annotations | |
| from pathlib import Path | |
| from legalrag.config import AppConfig | |
| from legalrag.retrieval.builders.graph_builder import GraphBuilder | |
| from legalrag.utils.logger import get_logger | |
| logger = get_logger(__name__) | |
| def main() -> None: | |
| base_cfg = AppConfig.load() | |
| for lang in ("zh", "en"): | |
| cfg = base_cfg.with_lang(lang) | |
| corpus_path = Path(cfg.paths.law_jsonl) | |
| if not corpus_path.exists(): | |
| logger.info("skip graph build: %s corpus not found: %s", lang, corpus_path) | |
| continue | |
| try: | |
| out = GraphBuilder(cfg).build_from_corpus() | |
| logger.info("law_graph written (%s): %s", lang, out) | |
| except Exception as e: | |
| logger.exception("build_graph failed (%s): %s", lang, e) | |
| raise | |
| if __name__ == "__main__": | |
| main() | |