graphrag-benchmark / scripts /prepare_hf_space.py
VedantDhavan's picture
Improve GraphRAG retrieval ranking for showcase queries
4070ca2
Raw
History Blame Contribute Delete
1.27 kB
import shutil
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
OUT = ROOT / "dist" / "hf-space"
CODE_DIRS = [
"backend",
"evaluation",
"ingestion",
"pipelines",
"scripts",
"utils",
]
DATA_DIRS = [
"data/chroma",
"data/graph",
"data/results",
"data/eval",
]
def main() -> None:
if OUT.exists():
shutil.rmtree(OUT)
OUT.mkdir(parents=True)
for name in CODE_DIRS:
copy_tree(ROOT / name, OUT / name)
for name in DATA_DIRS:
source = ROOT / name
if source.exists():
copy_tree(source, OUT / name)
shutil.copy2(ROOT / "requirements.txt", OUT / "requirements.txt")
shutil.copy2(ROOT / "deploy" / "huggingface" / "Dockerfile", OUT / "Dockerfile")
shutil.copy2(ROOT / "deploy" / "huggingface" / "README.md", OUT / "README.md")
(OUT / "data" / "uploads").mkdir(parents=True, exist_ok=True)
print(f"Hugging Face Space bundle written to {OUT}")
def copy_tree(source: Path, target: Path) -> None:
ignore = shutil.ignore_patterns(
"__pycache__",
"*.pyc",
".env",
".env.*",
"*.log",
"*.pdf",
)
shutil.copytree(source, target, ignore=ignore)
if __name__ == "__main__":
main()