Files
llmiotsafe/EGPv2/README.md
2026-05-12 17:01:39 +08:00

42 lines
1.3 KiB
Markdown

# EGPv2
EGPv2 is a workflow-style extension of EGP:
- It does **not** expose `SQ1-SQ5` labels to the model.
- It lets the LLM participate in intermediate modules instead of using only static evidence extraction.
- It separates roles into:
- `Triage`: infer latent task profile and choose focus chunks
- `Investigator`: build competing normal/anomaly hypotheses
- `Supervisor`: check whether the analysis is on-topic and sufficient
- `Verifier`: make the final structured decision
## Files
- `api_client.py`: OpenAI-compatible API client, optional API key, supports `--no-thinking`
- `benchmark.py`: episode collection and resume helpers
- `signals.py`: deterministic chunking and structured signal extraction
- `prompts.py`: role-specific prompts
- `pipeline.py`: orchestration of the workflow
- `run_egpv2.py`: CLI runner
## Quick test
```bash
python EGPv2/run_egpv2.py --preview-only --max-episodes 1 --output-dir results/egpv2_preview
```
`preview-only` only materializes prompts and traces. It does not call a model, so `UNPARSEABLE` in the preview summary is expected.
## Local vLLM example
```bash
python EGPv2/run_egpv2.py \
--model Qwen/Qwen3.5-9B \
--api-base http://localhost:8000/v1 \
--no_thinking \
--max-tokens 4096 \
--max-episodes 5 \
--workers 2 \
--output-dir results/qwen35_egpv2_5ep
```