Downloads · 30 days
0
afroimam/meta_hackathon
meta_hackathon is a reinforcement learning model from afroimam. Use it for the reinforcement learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
A complete, real-world OpenEnv environment for training/evaluating agents on customer support ticket triage. The environment simulates what support teams actually do: read inbox tickets, classify urgency/category, dra…
Downloads · 30 days
0
Access
Public
Updated Apr 7, 2026
Repo size
—
Likes
0
Public
Click a slice to open those files.
.py53.4 KB · 66%
From the Hugging Face model README
A complete, real-world OpenEnv environment for training/evaluating agents on customer support ticket triage. The environment simulates what support teams actually do: read inbox tickets, classify urgency/category, draft safe responses, and resolve the right ticket.
Most agent benchmarks under-model production support workflows. This environment focuses on practical support operations with:
The environment exposes:
reset(task_id?: str) -> Observationstep(action: Action) -> (Observation, Reward, done, info)state() -> dictTyped Pydantic models:
Observation: src/support_triage_openenv/models.pyAction: src/support_triage_openenv/models.pyReward: src/support_triage_openenv/models.pyMetadata:
openenv.yamlAction model fields:
action_type: one of read_ticket | classify_ticket | draft_reply | resolve_ticketticket_id: required for read_ticket, classify_ticket, resolve_ticketpriority: optional enum low | medium | high | urgentcategory: optional enum account | billing | technical | abuse | generalneeds_escalation: optional boolmessage: text for draft_replyObservation includes:
task_id, objective, step_count, max_stepsinbox: ticket metadata list (ticket_id, subject, tier, age, read flag)current_ticket_content: only visible after reading selected ticketlatest_system_note: feedback from last stepscore_hint: partial grader components (read, classify, reply, resolve)easy_password_reset (Easy)medium_billing_dispute (Medium)hard_outage_incident (Hard)Each task has deterministic grading in support_triage_openenv.graders.grade_task, returning a score 0.0-1.0.
Reward is shaped and meaningful across the trajectory:
src/support_triage_openenv/env.py - environment implementationsrc/support_triage_openenv/models.py - typed OpenEnv modelssrc/support_triage_openenv/tasks.py - task specs (easy/medium/hard)src/support_triage_openenv/graders.py - deterministic grader logicscripts/run_baseline.py - OpenAI baseline inference runnerscripts/validate_env.py - tests + optional openenv validateapp.py - FastAPI app for HF Space runtimeDockerfile - containerized deploymentcd /home/ai24mtech14005/meta_hackathon
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m pytest -q
OpenAI model baseline:
export API_BASE_URL=https://your-openai-compatible-endpoint/v1
export MODEL_NAME=your-model-id
export HF_TOKEN=your-api-key
python inference.py --mode openai --output scores/inference_scores.json
Deterministic heuristic baseline:
python inference.py --mode heuristic --output scores/inference_scores.json
Outputs JSON report to scores/inference_scores.json and structured stdout logs with [START], [STEP], [END].
uvicorn app:app --host 0.0.0.0 --port 7860
Endpoints:
GET /healthPOST /resetPOST /stepGET /statedocker build -t support-triage-openenv .
docker run --rm -p 7860:7860 support-triage-openenv
README.md frontmatter tags including openenv.7860.If you want this local repo to automatically create and push to both GitHub + HF:
export GITHUB_USERNAME=your_github_user
export GITHUB_TOKEN=your_github_pat
export HF_USERNAME=your_hf_user
export HF_TOKEN=your_hf_token
bash scripts/bootstrap_remotes.sh support-triage-openenv
Generated with:
python inference.py --mode heuristic --output scores/inference_scores.json
easy_password_reset: grader 1.0, reward 1.0medium_billing_dispute: grader 1.0, reward 1.0hard_outage_incident: grader 1.0, reward 1.01.0baseline_expected_scores.jsonRun full strict validation (all disqualification gates):
python pre_submission_validate.py --space-url https://your-space-name.hf.space
Local-only run while iterating (skips Docker daemon + remote space ping):
python pre_submission_validate.py --skip-docker --skip-space
Run organizer-provided script directly (integrated path):
bash scripts/pre_validation_script.sh https://your-space-name.hf.space .
Notes:
scripts/sample_inference_script.sh is kept as organizer reference.inference.py is aligned to the required [START], [STEP], [END] line format.