Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 143 additions & 0 deletions tutorials/BambooAI/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# Exclude files from Docker build context. This prevents unnecessary files from
# being sent to Docker daemon, reducing build time and image size.

# Python artifacts
__pycache__/
*.pyc
*.pyo
*.pyd
*.egg-info/

# Virtual environments
venv/
.venv/
env/
.env
.envrc
client_venv.helpers/
ENV/

# Jupyter
.ipynb_checkpoints/
.jupyter/

# Build artifacts
build/
dist/
*.eggs/
.eggs/

# Cache and temporary files
*.log
*.tmp
*.cache
.pytest_cache/
.mypy_cache/
.coverage
htmlcov/

# Git and version control
.git/
.gitignore
.gitattributes
.github/

# Docker build scripts (not needed at runtime)
docker_build.sh
docker_push.sh
docker_clean.sh
docker_exec.sh
docker_cmd.sh
docker_bash.sh
docker_jupyter.sh
docker_name.sh
run_jupyter.sh
Dockerfile.*
.dockerignore

# Documentation
README.md
README.admin.md
docs/
*.md
CHANGELOG.md
LICENSE

# Configuration and secrets
.env.*
.env.local
.env.development
.env.production
.DS_Store
Thumbs.db

# Shell configuration
.bashrc
.bash_history
.zshrc

# Large data files (mount via volume instead)
data/
*.csv
*.pkl
*.h5
*.parquet
*.feather
*.arrow
*.npy
*.npz

# Generated images
*.png
*.jpg
*.jpeg
*.gif
*.svg
*.pdf

# Test files and examples
tests/
test_*
*_test.py
tutorials/
examples/

# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.project
.pydevproject
.settings/
*.iml
.sublime-project
.sublime-workspace

# Node and frontend (if applicable)
node_modules/
npm-debug.log
yarn-error.log
.npm

# Requirements management
requirements.in
Pipfile
Pipfile.lock
poetry.lock
setup.py
setup.cfg

# CI/CD configuration
.gitlab-ci.yml
.travis.yml
Jenkinsfile
.circleci/

# Miscellaneous
*.bak
.venv.bak/
*.whl
*.tar.gz
*.zip
50 changes: 19 additions & 31 deletions tutorials/BambooAI/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,40 +1,28 @@
# Use Python 3.12 slim (already has Python and pip).
FROM python:3.12-slim

# Set working directory
WORKDIR /app
# Avoid interactive prompts during apt operations.
ENV DEBIAN_FRONTEND=noninteractive

# Install system dependencies required for bambooai
# Install CA certificates (needed for HTTPS).
RUN apt-get update && apt-get install -y \
build-essential \
libffi-dev \
git \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*

# Copy requirements.txt first to leverage Docker cache
COPY requirements.txt .
# Install project specific packages.
RUN mkdir -p /install
COPY requirements.txt /install/requirements.txt
RUN pip install --upgrade pip && \
pip install --no-cache-dir jupyterlab jupyterlab_vim jupytext -r /install/requirements.txt

# Install additional dependencies
RUN pip install --no-cache-dir --upgrade pip setuptools wheel
# Config.
COPY etc_sudoers /install/
COPY etc_sudoers /etc/sudoers
COPY bashrc /root/.bashrc

# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Report package versions.
COPY version.sh /install/
RUN /install/version.sh 2>&1 | tee version.log



# Copy the application code
COPY . .

# Create necessary directories
RUN mkdir -p web_app/storage/favourites web_app/storage/threads web_app/temp web_app/logs

# Expose the port
EXPOSE 5000

# Set environment variables
ENV PYTHONUNBUFFERED=1

# Set the working directory to web_app
WORKDIR /app/web_app

# Start the Flask application
CMD ["python", "app.py"]
# Jupyter.
EXPOSE 8888
16 changes: 8 additions & 8 deletions tutorials/BambooAI/LLM_CONFIG.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"agent_configs": [
{"agent": "Expert Selector", "details": {"model": "gpt-5-nano-2025-08-07", "provider":"openai","max_completion_tokens": 2000, "temperature": 0}},
{"agent": "Expert Selector", "details": {"model": "gpt-5-nano-2025-08-07", "provider":"openai","max_completion_tokens": 2000, "temperature": 1}},
{"agent": "Analyst Selector", "details": {"model": "gemini-2.5-flash", "provider":"gemini","max_tokens": 2000, "temperature": 0}},
{"agent": "Theorist", "details": {"model": "gpt-4o-mini", "provider":"openai","max_tokens": 2000, "temperature": 0}},
{"agent": "Dataframe Inspector", "details": {"model": "gpt-5-2025-08-07", "provider":"openai","max_tokens": 2000, "temperature": 0}},
{"agent": "Planner", "details": {"model": "gpt-4o-mini", "provider":"openai","max_tokens": 2000, "temperature": 0}},
{"agent": "Code Generator", "details": {"model": "gpt-4o-mini", "provider":"openai","max_tokens": 2000, "temperature": 0}},
{"agent": "Error Corrector", "details": {"model": "gpt-4o-mini", "provider":"openai","max_tokens": 2000, "temperature": 0}},
{"agent": "Reviewer", "details": {"model": "gpt-4o-mini", "provider":"openai","max_tokens": 2000, "temperature": 0}},
{"agent": "Solution Summarizer", "details": {"model": "gpt-4o-mini", "provider":"openai","max_tokens": 2000, "temperature": 0}},
{"agent": "Theorist", "details": {"model": "gpt-4o-mini", "provider":"openai","max_completion_tokens": 2000, "temperature": 0}},
{"agent": "Dataframe Inspector", "details": {"model": "gpt-5-2025-08-07", "provider":"openai","max_completion_tokens": 2000, "temperature": 1}},
{"agent": "Planner", "details": {"model": "gpt-4o-mini", "provider":"openai","max_completion_tokens": 2000, "temperature": 0}},
{"agent": "Code Generator", "details": {"model": "gpt-4o-mini", "provider":"openai","max_completion_tokens": 2000, "temperature": 0}},
{"agent": "Error Corrector", "details": {"model": "gpt-4o-mini", "provider":"openai","max_completion_tokens": 2000, "temperature": 0}},
{"agent": "Reviewer", "details": {"model": "gpt-4o-mini", "provider":"openai","max_completion_tokens": 2000, "temperature": 0}},
{"agent": "Solution Summarizer", "details": {"model": "gpt-4o-mini", "provider":"openai","max_completion_tokens": 2000, "temperature": 0}},
{"agent": "Google Search Executor", "details": {"model": "gemini-2.5-flash", "provider":"gemini","max_tokens": 2000, "temperature": 0}},
{"agent": "Google Search Summarizer", "details": {"model": "gemini-2.5-flash", "provider":"gemini","max_tokens": 2000, "temperature": 0}}
],
Expand Down
Loading