annator-command-center / scripts /download_spacy_model.py
techprotrade's picture
Deploy ATOM FastAPI command center runtime (part 6)
383cb38 verified
Raw
History Blame Contribute Delete
1.69 kB
#!/usr/bin/env python3
"""
Download Spacy English model for Presidio PII detection.
This script downloads the en_core_web_lg model required for
accurate PII detection using Microsoft Presidio.
Usage:
python scripts/download_spacy_model.py
Requirements:
pip install spacy
"""
import subprocess
import sys
def main():
"""Download Spacy English model (en_core_web_lg)"""
print("Downloading Spacy English model (en_core_web_lg)...")
print("This may take a few minutes...")
try:
# Download the model
subprocess.run(
[sys.executable, "-m", "spacy", "download", "en_core_web_lg"],
check=True,
capture_output=False,
text=True
)
print("\n✓ Spacy model downloaded successfully")
print("Presidio will use en_core_web_lg for PII detection")
print("\nModel features:")
print(" - 500k vocabulary size")
print(" - Word vectors (300-dimensional)")
print(" - Part-of-speech tagging")
print(" - Named entity recognition")
print(" - Dependency parsing")
return 0
except subprocess.CalledProcessError as e:
print(f"\n✗ Failed to download Spacy model: {e}")
print("\nTroubleshooting:")
print(" 1. Ensure you have internet connection")
print(" 2. Try: pip install spacy --upgrade")
print(" 3. Try: python -m spacy download en_core_web_lg directly")
print("\nFallback: Presidio will use smaller built-in models")
return 1
except Exception as e:
print(f"\n✗ Unexpected error: {e}")
return 1
if __name__ == "__main__":
sys.exit(main())