Spaces:
Sleeping
Sleeping
| title: rag-context-optimizer | |
| emoji: "📚" | |
| colorFrom: blue | |
| colorTo: green | |
| sdk: docker | |
| app_port: 7860 | |
| pinned: false | |
| tags: | |
| - openenv | |
| - incident-ops | |
| - benchmark | |
| - enterprise | |
| # rag-context-optimizer | |
| `rag-context-optimizer` is now a real-world OpenEnv environment for enterprise incident operations. | |
| Instead of only picking context chunks, the agent must work through a realistic operational loop: | |
| - inspect incident and support artifacts | |
| - prioritize the evidence that belongs in the working set | |
| - summarize heavy artifacts when token pressure rises | |
| - draft a resolution plan | |
| - submit a grounded final memo or escalation note | |
| This models work that support leads, incident commanders, and release managers actually do during outages and security escalations. | |
| ## Why This Is A Real Environment | |
| The environment simulates operational decisions humans make during live enterprise incidents: | |
| - refund triage after a confirmed outage | |
| - cross-functional outage briefing across support, incident response, and release engineering | |
| - executive escalation handling during a suspected admin compromise | |
| That makes it useful for: | |
| - evaluating operational agent behavior | |
| - training evidence prioritization policies | |
| - benchmarking grounded reporting under token pressure | |
| - comparing safe workflow planning against premature free-form answering | |
| ## OpenEnv API | |
| Standard endpoints: | |
| - `POST /reset` | |
| - `POST /step` | |
| - `GET /state` | |
| Additional helper endpoints: | |
| - `GET /health` | |
| - `GET /tasks` | |
| - `POST /optimize-step` | |
| - `POST /optimize-prompt` | |
| Metadata lives in [openenv.yaml](/C:/Users/nitis/Downloads/Meta%20OpenEnv/openenv.yaml). | |
| ## Observation Space | |
| `RagObservation` includes: | |
| | Field | Type | Description | | |
| | --- | --- | --- | | |
| | `case_id` | `str` | Unique simulated case identifier | | |
| | `case_summary` | `str` | Real-world case context | | |
| | `objective` | `str` | Deliverable the agent must produce | | |
| | `workflow_stage` | `triage \| analysis \| resolution \| submitted` | Current stage | | |
| | `customer_tier` | `standard \| business \| enterprise` | Customer criticality | | |
| | `incident_severity` | `sev3 \| sev2 \| sev1` | Incident severity | | |
| | `available_artifacts` | `List[ChunkSummary]` | Artifacts available for inspection or prioritization | | |
| | `reviewed_artifacts` | `List[str]` | Artifacts the agent has inspected | | |
| | `prioritized_artifacts` | `List[str]` | Artifacts in the working set | | |
| | `plan_draft` | `Optional[str]` | Current operational plan | | |
| | `report_requirements` | `List[str]` | Final memo requirements | | |
| | `progress_signals` | `Dict[str, float]` | Partial progress metrics | | |
| | `total_tokens_used` | `int` | Current working-set token cost | | |
| | `token_budget` | `int` | Allowed token budget | | |
| Compatibility mirrors are also present for legacy clients: | |
| - `query` | |
| - `available_chunks` | |
| - `selected_chunks` | |
| ## Action Space | |
| Canonical actions: | |
| | Action Type | Parameters | Effect | | |
| | --- | --- | --- | | |
| | `inspect_artifact` | `artifact_id` | Review an artifact without yet committing it to the working set | | |
| | `prioritize_artifact` | `artifact_id` | Add a reviewed artifact to the working set | | |
| | `summarize_artifact` | `artifact_id`, `compression_ratio` | Compress a prioritized artifact to reduce token cost | | |
| | `set_resolution_plan` | `plan` | Draft the operational plan before submission | | |
| | `submit_report` | `answer` | Submit the final grounded memo and end the episode | | |
| Legacy aliases are still accepted for compatibility: | |
| - `select_chunk` | |
| - `deselect_chunk` | |
| - `compress_chunk` | |
| - `submit_answer` | |
| ## Tasks | |
| | Task | Difficulty | Max Steps | Token Budget | Description | | |
| | --- | --- | --- | --- | --- | | |
| | `refund_triage_easy` | easy | `7` | `850` | Build a refund-review memo from support policy evidence after an outage | | |
| | `cross_function_brief_medium` | medium | `8` | `620` | Prepare a cross-functional outage brief spanning support, incident command, and release controls | | |
| | `executive_escalation_hard` | hard | `10` | `360` | Draft a terse executive escalation note for a suspected admin compromise | | |
| Task definitions live in [env/tasks.py](/C:/Users/nitis/Downloads/Meta%20OpenEnv/env/tasks.py). | |
| ## Reward Design | |
| The environment provides shaped signal across the trajectory: | |
| - positive reward for inspecting required evidence | |
| - positive reward for prioritizing the right artifacts | |
| - positive reward for multi-domain coverage on cross-functional tasks | |
| - positive reward for high-quality operational plans | |
| - positive reward for safe token compression | |
| - penalty for over-compressing critical evidence | |
| - penalty for deprioritizing required artifacts | |
| - final deterministic score in `[0, 1]` based on: | |
| - artifact coverage | |
| - review coverage | |
| - domain coverage | |
| - plan quality | |
| - report quality | |
| - citation accuracy | |
| - token efficiency | |
| - workflow readiness | |
| - unsupported claim penalty | |
| The grader is deterministic and task-specific. | |
| ## LLM-backed Helpers | |
| The environment includes optional LLM-backed helpers: | |
| - `/optimize-step` proposes the next workflow action | |
| - `/optimize-prompt` rewrites prompts under budget while preserving grounding | |
| The authoritative grader remains deterministic for reproducibility. | |
| ## Local Setup | |
| ### Requirements | |
| - Python 3.11+ recommended | |
| - Docker | |
| - `openenv-core` | |
| ### Install | |
| ```bash | |
| pip install -r requirements.txt | |
| pip install openenv-core | |
| ``` | |
| ### Run | |
| ```bash | |
| uvicorn app:app --host 0.0.0.0 --port 7860 | |
| ``` | |
| ### Validate | |
| ```bash | |
| docker build . | |
| openenv validate | |
| python validate.py | |
| ``` | |
| ## API Examples | |
| ### Reset | |
| ```bash | |
| curl -X POST http://localhost:7860/reset \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"task_name":"refund_triage_easy"}' | |
| ``` | |
| ### Inspect | |
| ```bash | |
| curl -X POST http://localhost:7860/step \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"action_type":"inspect_artifact","artifact_id":"support_003"}' | |
| ``` | |
| ### Prioritize | |
| ```bash | |
| curl -X POST http://localhost:7860/step \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"action_type":"prioritize_artifact","artifact_id":"support_003"}' | |
| ``` | |
| ### Plan | |
| ```bash | |
| curl -X POST http://localhost:7860/step \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"action_type":"set_resolution_plan","plan":"Verify outage evidence, confirm the billing ledger, and route exceptions to finance review."}' | |
| ``` | |
| ### Submit | |
| ```bash | |
| curl -X POST http://localhost:7860/step \ | |
| -H "Content-Type: application/json" \ | |
| -d '{"action_type":"submit_report","answer":"Proceed to refund review only after outage evidence and the billing ledger are confirmed. [support_001] [support_003]"}' | |
| ``` | |
| ## Baseline Inference | |
| The baseline runner is [inference.py](/C:/Users/nitis/Downloads/Meta%20OpenEnv/inference.py). | |
| Submission-critical requirements satisfied: | |
| - file name is exactly `inference.py` | |
| - located at the project root | |
| - uses the OpenAI client | |
| - reads: | |
| - `API_BASE_URL` with a default | |
| - `MODEL_NAME` with a default | |
| - `HF_TOKEN` as the published credential path | |
| - `API_KEY` when validator proxy credentials are injected | |
| - emits strict `[START]`, `[STEP]`, `[END]` stdout logs | |
| ### Environment variables | |
| | Variable | Required | Default | Purpose | | |
| | --- | --- | --- | --- | | |
| | `API_BASE_URL` | no | `https://router.huggingface.co/v1` | OpenAI-compatible endpoint | | |
| | `MODEL_NAME` | no | `Qwen/Qwen2.5-72B-Instruct` | Model used for baseline inference | | |
| | `HF_TOKEN` | yes | none | Primary token | | |
| | `API_KEY` | no | none | Validator-injected proxy key; overrides `HF_TOKEN` | | |
| | `RAG_ENV_URL` | no | `http://localhost:7860` | Environment base URL | | |
| | `RAG_ENV_TASK` | no | `refund_triage_easy` | Preferred starting task | | |
| ## Baseline Scores | |
| Current local validation run: | |
| | Policy | refund_triage_easy | cross_function_brief_medium | executive_escalation_hard | | |
| | --- | --- | --- | --- | | |
| | baseline script | reproducible via `python validate.py` | reproducible via `python validate.py` | reproducible via `python validate.py` | | |
| ## Deployment | |
| Live deployment: | |
| - Space URL: [nitishrg15102007-rag-context-optimizer.hf.space](https://nitishrg15102007-rag-context-optimizer.hf.space) | |
| - Space repo: [NITISHRG15102007/rag-context-optimizer](https://huggingface.co/spaces/NITISHRG15102007/rag-context-optimizer) | |
| Recommended pre-submission flow: | |
| ```bash | |
| docker build . | |
| openenv validate | |
| python validate.py | |
| ``` | |