| # Docker image name | |
| IMAGE_NAME = aide | |
| # Python version and venv | |
| PYTHON = python3.10 | |
| VENV_NAME = .venv | |
| # Default directories for logs and workspaces | |
| WORKSPACE_BASE ?= $(PWD)/workspaces | |
| LOGS_DIR ?= $(PWD)/logs | |
| # Virtual environment installation | |
| install: | |
| @echo "Creating virtual environment..." | |
| @$(PYTHON) -m venv $(VENV_NAME) | |
| @echo "Installing dependencies..." | |
| @. $(VENV_NAME)/bin/activate && \ | |
| pip install --upgrade pip && \ | |
| pip install -r requirements.txt && \ | |
| pip install -e . | |
| @echo "Installation complete. Activate the virtual environment with: source $(VENV_NAME)/bin/activate" | |
| # Docker commands combined | |
| docker: docker-build docker-run | |
| # Build Docker image | |
| docker-build: | |
| docker build -t $(IMAGE_NAME) . | |
| # Run Docker container | |
| docker-run: | |
| @mkdir -p "$(LOGS_DIR)" "$(WORKSPACE_BASE)" | |
| docker run -it --rm \ | |
| -v "$(LOGS_DIR):/app/logs" \ | |
| -v "$(WORKSPACE_BASE):/app/workspaces" \ | |
| -v "$(PWD)/aide/example_tasks:/app/data" \ | |
| -e OPENAI_API_KEY="$(OPENAI_API_KEY)" \ | |
| $(IMAGE_NAME) \ | |
| data_dir=/app/data/house_prices \ | |
| goal="Predict the sales price for each house" \ | |
| eval="Use the RMSE metric between the logarithm of the predicted and observed values." | |
| # Clean up | |
| clean: | |
| @echo "Cleaning up..." | |
| rm -rf $(VENV_NAME) | |
| rm -rf workspaces/* logs/* | |
| docker rmi $(IMAGE_NAME) || true | |