|
|
|
ifeq ($(OS),Windows_NT)
|
|
|
|
INIT_SCRIPT := scripts/init.bat
|
|
START_SCRIPT := scripts/start.bat
|
|
STOP_SCRIPT := scripts/stop.bat
|
|
SQL_SCRIPT := scripts/startSql.bat
|
|
RM := del /Q
|
|
RM_DIR := rmdir /S /Q
|
|
else
|
|
|
|
INIT_SCRIPT := scripts/init.sh
|
|
START_SCRIPT := scripts/start.sh
|
|
STOP_SCRIPT := scripts/stop.sh
|
|
SQL_SCRIPT := scripts/startSql.sh
|
|
RM := rm -rf
|
|
endif
|
|
|
|
|
|
DOCKER_COMPOSE := docker/docker-compose.yml
|
|
config_supervised := app/configs/config_supervised.yml
|
|
config_bert := app/configs/config_bert.yml
|
|
config_spacy := app/configs/config_spacy.yml
|
|
config_custom := app/configs/config_custom.yml
|
|
ACTION := app/actions
|
|
MODEL := app/models
|
|
DATA := app/data
|
|
ENDPOINT := app/endpoints.yml
|
|
DOMAIN := app/domain.yml
|
|
|
|
|
|
.PHONY: init docker-start docker-stop docker-up docker-down docker-rm docker-clean sql train train-nlu run-actions shell run validate help clean
|
|
|
|
|
|
init:
|
|
$(INIT_SCRIPT)
|
|
|
|
docker-start:
|
|
$(START_SCRIPT)
|
|
|
|
docker-stop:
|
|
$(STOP_SCRIPT)
|
|
|
|
docker-up:
|
|
@echo "Starting Docker containers..."
|
|
docker-compose -f $(DOCKER_COMPOSE) up -d
|
|
|
|
docker-down:
|
|
@echo "Stopping Docker containers..."
|
|
docker-compose -f $(DOCKER_COMPOSE) down
|
|
|
|
docker-rm:
|
|
@echo "Removing Docker containers..."
|
|
docker-compose -f $(DOCKER_COMPOSE) rm -f
|
|
|
|
docker-clean-full:
|
|
@echo "Cleaning Docker resources..."
|
|
docker stop $(docker ps -aq) || true
|
|
docker rm $(docker ps -aq) || true
|
|
docker images -a
|
|
docker rmi -f $(docker images -aq) || true
|
|
docker network ls
|
|
docker network prune
|
|
docker volume ls
|
|
docker volume prune
|
|
docker system prune -a --volumes
|
|
docker system prune --volumes -f
|
|
|
|
docker-clean:
|
|
@echo "Cleaning Docker resources..."
|
|
docker system prune --volumes -f
|
|
|
|
sql:
|
|
$(SQL_SCRIPT)
|
|
|
|
train:
|
|
rasa train --domain $(DOMAIN) --data $(DATA) --config $(config_supervised) --out $(MODEL)
|
|
|
|
train-nlu:
|
|
rasa train nlu --nlu $(DATA)/nlu --config $(config_supervised) --out $(MODEL)/nlu
|
|
|
|
run-actions:
|
|
rasa run actions --actions $(ACTION) --cors "*" --debug
|
|
|
|
shell:
|
|
$(MAKE) run-actions &
|
|
rasa shell -m $(MODEL) --endpoints $(ENDPOINT)
|
|
|
|
run:
|
|
$(MAKE) run-actions &
|
|
rasa run --enable-api -m $(MODEL) --cors "*" --debug
|
|
|
|
validate:
|
|
rasa data validate --domain $(DOMAIN) --data $(DATA) --config $(config_supervised)
|
|
|
|
clean:
|
|
@echo "Cleaning up generated files and caches..."
|
|
$(RM) $(MODEL)/*
|
|
$(RM_DIR) __pycache__
|
|
$(RM_DIR) .rasa
|
|
$(RM_DIR) .keras
|
|
|
|
help:
|
|
@echo "Usage:"
|
|
@echo " make <target>"
|
|
@echo ""
|
|
@echo "Targets:"
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'
|
|
|