# Use an official Python runtime as a parent image FROM python:3.9-slim-buster # Set environment variables ENV EVAL_PORT=8000 \ MODEL_NAME=gpt-4 \ CELERY_BROKER_URL=redis://localhost:6379 \ SERVER=http://localhost:${EVAL_PORT} \ USE_GPU=False \ PLAYGROUND_DIR=playground \ LOG_LEVEL=INFO \ BOT_NAME=Orca \ # You will need to set these environment variables to your actual keys in production OPENAI_API_KEY=your_openai_api_key \ WINEDB_HOST=your_winedb_host \ WINEDB_PASSWORD=your_winedb_password \ BING_SEARCH_URL=your_bing_search_url \ BING_SUBSCRIPTION_KEY=your_bing_subscription_key \ SERPAPI_API_KEY=your_serpapi_api_key # Set work directory WORKDIR /usr/src/app # Add requirements file COPY requirements.txt ./ # Install any needed packages specified in requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Bundle app source COPY . . # Expose port EXPOSE ${EVAL_PORT} # Run example.py when the container launches CMD ["python", "example.py"]