-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathMakefile
More file actions
58 lines (49 loc) · 1.89 KB
/
Makefile
File metadata and controls
58 lines (49 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# AI Agentic Patterns - Simple Makefile
.PHONY: help setup install clean run test verify
# Detect all patterns dynamically
PATTERNS_DIR := patterns
PATTERNS := $(shell find $(PATTERNS_DIR) -name "*.py" ! -name "__*" -type f | sort | xargs -n1 basename -s .py)
help:
@echo "Available commands:"
@echo " make setup - Set up virtual environment"
@echo " make install - Install dependencies"
@echo " make verify - Check setup"
@echo " make test - Run a pattern (usage: make test PATTERN=01_prompt_chaining)"
@echo " make run - Run all patterns"
@echo " make clean - Clean up"
setup:
@echo "Setting up..."
python3 -m venv venv
. venv/bin/activate && pip install --upgrade pip
. venv/bin/activate && pip install -r requirements.txt
@echo "✅ Done! Activate with: source venv/bin/activate"
install:
pip install -r requirements.txt
verify:
@echo "Checking setup..."
@if [ ! -d venv ]; then echo "❌ venv not found. Run 'make setup'"; exit 1; fi
@. venv/bin/activate && python -c "import litellm; print('✅ litellm OK')" 2>/dev/null || echo "❌ litellm missing"
@if [ -f .env ]; then \
MODEL=$$(grep "^LITELLM_MODEL=" .env 2>/dev/null | cut -d'=' -f2 | head -1); \
[ -n "$$MODEL" ] && echo "✅ Using: $$MODEL" || echo "⚠️ LITELLM_MODEL not set"; \
else \
echo "⚠️ .env not found"; \
fi
clean:
rm -rf venv
find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null || true
find . -type f -name "*.pyc" -delete 2>/dev/null || true
test:
@if [ -z "$(PATTERN)" ]; then \
echo "Usage: make test PATTERN=01_prompt_chaining"; \
exit 1; \
fi
@. venv/bin/activate && python $(PATTERNS_DIR)/$(PATTERN).py
run:
@echo "Running all patterns..."
@for pattern in $(PATTERNS); do \
echo ""; \
echo "▶ $$pattern"; \
echo "----------------------------------------"; \
. venv/bin/activate && python $(PATTERNS_DIR)/$$pattern.py || echo "❌ Failed"; \
done