Rahmath1/self_improving_agent
0
1# ─────────────────────────────────────────────────────────────2# EDA OpenEnv — Round 2 Dockerfile3# Self-Improving Agent with Curriculum, Memory, Expert & Injection Detection4# ─────────────────────────────────────────────────────────────5 6FROM python:3.11-slim7 8LABEL maintainer="EDA OpenEnv"9LABEL description="Self-improving RL environment for EDA — OpenEnv Hackathon Round 2"10 11ENV PYTHONUNBUFFERED=112ENV PYTHONDONTWRITEBYTECODE=113ENV PYTHONPATH="/app"14ENV API_BASE_URL="https://router.huggingface.co/v1"15ENV MODEL_NAME=""16 17WORKDIR /app18 19# System dependencies20RUN apt-get update && \21 apt-get install -y --no-install-recommends git curl && \22 rm -rf /var/lib/apt/lists/*23 24# Install Python dependencies25COPY requirements.txt .26RUN pip install --upgrade pip && \27 pip install -r requirements.txt28 29# ── Core files ───────────────────────────────────────────────30COPY models.py .31COPY pipeline.py .32COPY grader.py .33COPY openenv.yaml .34COPY client.py .35COPY inference.py .36COPY compare.py .37 38# ── Round 2: Self-improvement components ─────────────────────39COPY self_improvement/ ./self_improvement/40 41# ── Environment server ────────────────────────────────────────42COPY server/ ./server/43COPY tools/ ./tools/44 45# Init files46RUN touch __init__.py && \47 touch server/__init__.py && \48 touch self_improvement/__init__.py49 50RUN mkdir -p /app/data /app/results51 52# Healthcheck53HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \54 CMD curl -f http://localhost:8000/health || exit 155 56EXPOSE 800057 58CMD ["uvicorn", "server.app:app", "--host", "0.0.0.0", "--port", "8000"]