Spaces:
Sleeping
Sleeping
| import os | |
| import shutil | |
| import logging | |
| from pathlib import Path | |
| # λ‘κΉ μ€μ | |
| logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') | |
| logger = logging.getLogger("DataMigration") | |
| SOURCE_DIR = Path(r"D:\00.Work_AI_Tool\06.GPTs_kcsc") | |
| TARGET_DIR = Path(r"D:\00.Work_AI_Tool\03.KCSC_MCP\data") | |
| MAPPING_PLAN = [ | |
| { | |
| "src": SOURCE_DIR / "enhanced_markdown_contents_improved.json", | |
| "dst": TARGET_DIR / "raw" / "standards.json", | |
| "desc": "νμ€ κ·μ νμ± λ°μ΄ν° (KDS/KCS)" | |
| }, | |
| { | |
| "src": SOURCE_DIR / "extracted_qa_data.json", | |
| "dst": TARGET_DIR / "raw" / "qa_dataset.json", | |
| "desc": "νκ°μ© QA λ°μ΄ν°μ " | |
| }, | |
| { | |
| "src": SOURCE_DIR / "kcsc_final_url_mapping_20250811_190643.json", | |
| "dst": TARGET_DIR / "raw" / "mappings.json", | |
| "desc": "URL λ° μ½λ λ§΅ν λ°μ΄ν°" | |
| }, | |
| { | |
| "src": SOURCE_DIR / "knowledge_graph.db", | |
| "dst": TARGET_DIR / "graph" / "knowledge_graph.db", | |
| "desc": "μ§μ κ·Έλν DB" | |
| } | |
| ] | |
| def create_directory_structure(): | |
| logger.info("λ°μ΄ν° νΈλ¦¬ ꡬ쑰 μμ± μμ...") | |
| dirs_to_create = [ | |
| TARGET_DIR / "raw", | |
| TARGET_DIR / "graph", | |
| TARGET_DIR / "indices" / "chromadb", | |
| TARGET_DIR / "indices" / "bm25" | |
| ] | |
| for d in dirs_to_create: | |
| d.mkdir(parents=True, exist_ok=True) | |
| logger.info(f"λλ ν 리 μ€λΉλ¨: {d}") | |
| def migrate_data(): | |
| logger.info("λ°μ΄ν° λ³΅μ¬ λ° μ΄κ΄ μμ...") | |
| for item in MAPPING_PLAN: | |
| src = item["src"] | |
| dst = item["dst"] | |
| desc = item["desc"] | |
| if src.exists(): | |
| logger.info(f"[{desc}] λ³΅μ¬ μ€...\n - Source: {src}\n - Target: {dst}") | |
| # λμ©λ νμΌ λ³΅μ¬ | |
| try: | |
| shutil.copy2(src, dst) | |
| size_mb = dst.stat().st_size / (1024 * 1024) | |
| logger.info(f"[{desc}] λ³΅μ¬ μλ£ (ν¬κΈ°: {size_mb:.2f} MB)") | |
| except Exception as e: | |
| logger.error(f"[{desc}] λ³΅μ¬ μ€ν¨: {e}") | |
| else: | |
| logger.warning(f"[{desc}] μλ³Έ νμΌμ μ°Ύμ μ μμ΅λλ€: {src}") | |
| if __name__ == "__main__": | |
| create_directory_structure() | |
| migrate_data() | |
| logger.info("λͺ¨λ λ§μ΄κ·Έλ μ΄μ μμ μ΄ μλ£λμμ΅λλ€.") | |