akhilsu's picture
Upload 32 files
f392960 verified
|
Raw
History Blame Contribute Delete
2.96 kB

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)
  • openenv CLI
  • curl

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_TOKEN is required.
  • API_BASE_URL, MODEL_NAME, and LOCAL_IMAGE_NAME have 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_URL
  • MODEL_NAME
  • LOCAL_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.