Spacylize Documentation
Spacylize is a tool that distills the capabilities of large language models into compact, efficient spaCy models.
Prerequisites:
Python 3.8+
Installation:
pip install -e .
Getting Started
This example demonstrates how to use spacylize to generate training data and train a SpaCy model to identify key attributes from e-commerce product descriptions.
1. Create a Prompt Configuration for E-commerce Attributes
See example: examples/ecommerce/promt.yaml
2. Generate Training Data
spacylize generate --llm-config-path examples/ecommerce/llm.yaml --prompt-config-path examples/ecommerce/promt.yaml --n-samples 2000 --output-path examples/ecommerce/train.txt --task ner
3. Visualize Generated Data
spacylize visualize --input-path examples/ecommerce/train.spacy --task ner --n-samples 5 --port 5002
4. Validate Data
spacylize validate --dataset examples/ecommerce/train.spacy --output-folder examples/ecommerce
5. Split Dataset into Train/Test Sets
spacylize split --input examples/ecommerce/train.spacy --train examples/ecommerce/train_split.spacy --dev examples/ecommerce/dev_split.spacy --dev-size 0.2 --seed 42
6. Train a SpaCy Model for Attribute Extraction
spacylize train --train-data examples/ecommerce/train_split.spacy --base-model en_core_web_sm --output-model examples/ecommerce/ecommerce_attribute_model --n-iter 100 --dropout 0.3
7. Evaluate a Trained SpaCy Model
spacylize evaluate --model examples/ecommerce/ecommerce_attribute_model --data examples/ecommerce/dev_split.spacy