Local Setup and Run Guide
This guide explains how to set up, run, test, and execute inference for this project end-to-end on your local machine.
1) Prerequisites
Install and verify:
- Python 3.10+
- Docker Desktop (running)
openenvCLIcurl
Quick checks:
python3 --version
docker --version
openenv --help >/dev/null && echo "openenv OK"
curl --version | head -n 1
2) Project Directory
cd /Users/aksudhak/Documents/Akhil/POC/Scaler/OpenENV
3) Optional: Local Python test dependencies
If pytest is not installed:
python3 -m pip install pytest
4) Environment Variables for Inference
Set these before running inference.py:
export HF_TOKEN="<YOUR_NEW_HF_TOKEN>"
export API_BASE_URL="https://router.huggingface.co/v1"
export MODEL_NAME="Qwen/Qwen2.5-72B-Instruct"
export LOCAL_IMAGE_NAME="b2b_support_triage_env-env:latest"
Notes:
HF_TOKENis required.API_BASE_URL,MODEL_NAME, andLOCAL_IMAGE_NAMEhave defaults in code, but export them explicitly for submission clarity.
5) Build Docker Image
docker build -t b2b_support_triage_env-env:latest -f server/Dockerfile .
6) Run Application Locally
docker run --rm -p 8000:8000 b2b_support_triage_env-env:latest
Keep this terminal running. Open a second terminal for API checks.
7) API Smoke Test
Health
curl -s http://127.0.0.1:8000/health
Reset
curl -s -X POST http://127.0.0.1:8000/reset \
-H "Content-Type: application/json" \
-d '{"task_id":"easy","seed":1}'
Step
curl -s -X POST http://127.0.0.1:8000/step \
-H "Content-Type: application/json" \
-d '{"action":{"action_type":"classify","ticket_id":"T-EASY-1001","payload":{"category":"billing"}}}'
State
curl -s http://127.0.0.1:8000/state
8) Run Unit + Spec Validation
pytest -q
openenv validate -v
9) Run Inference Directly
python3 inference.py
Expected log pattern in stdout:
[START] ...- multiple
[STEP] ... [END] ...- final aggregate score line
10) Recommended Helper Scripts
A) Full local checks (tests + validate + docker + endpoint checks + optional inference)
./run_all_checks.sh
Options:
RUN_INFERENCE=no ./run_all_checks.sh
RUN_INFERENCE=yes ./run_all_checks.sh
B) Inference helper with token prompt
If HF_TOKEN is missing, this script prompts securely for it.
./run_inference.sh
It also sets defaults for:
API_BASE_URLMODEL_NAMELOCAL_IMAGE_NAME
11) Common Issues
Docker daemon not running
Start Docker Desktop and retry.
Token error
Use a fresh valid Hugging Face token and re-export HF_TOKEN.
Port 8000 already in use
Run container on a different host port:
docker run --rm -p 8001:8000 b2b_support_triage_env-env:latest
Then use http://127.0.0.1:8001 in curl commands.