Text Classification
Transformers
Safetensors
English
Chinese
bert
safety
education
guardrails
response-moderation
Instructions to use ZeroLoss-Lab/egs-bert-response-auditor with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ZeroLoss-Lab/egs-bert-response-auditor with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="ZeroLoss-Lab/egs-bert-response-auditor")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("ZeroLoss-Lab/egs-bert-response-auditor") model = AutoModelForSequenceClassification.from_pretrained("ZeroLoss-Lab/egs-bert-response-auditor", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| language: | |
| - en | |
| - zh | |
| tags: | |
| - text-classification | |
| - safety | |
| - education | |
| - guardrails | |
| - bert | |
| - response-moderation | |
| pipeline_tag: text-classification | |
| library_name: transformers | |
| license: apache-2.0 | |
| # Educational Guardrail System - Holistic Response Auditor | |
| ## Model Details | |
| - **Model Name:** Holistic Response Auditor | |
| - **Model Architecture:** BERT sequence classification model | |
| - **Task:** Response Moderation | |
| - **Domain:** K-12 Education & General AI Safety | |
| - **Language:** English and Chinese | |
| ## Model Description | |
| This model serves as the **Holistic Response Auditor**, the third and final stage of the **Educational Guardrail System (EGS)**. Unlike input filters, this model is specifically fine-tuned to audit the **output streams** generated by Large Language Models (LLMs) to ensure pedagogical safety and compliance. | |
| ### Key Mechanism: Sliding Window Auditing | |
| As described in the EGS design, this model uses a **sliding window approach** (e.g., 512 tokens) to process long generated texts. It is designed to be a "Fail-Fast" auditor: | |
| * The auditor evaluates the generated text stream in discrete segments. | |
| * If any single segment is flagged as toxic or non-compliant, the generation can be stopped or routed for secondary handling before the learner is exposed to the content. | |
| ## Label Mapping | |
| - **UNSAFE:** High-risk response segment | |
| - **SAFE:** Low-risk response segment | |
| - **AMBIGUOUS:** Medium-risk or unclear response segment | |
| ## Intended Use | |
| This model is intended to be used as a post-generation filter for Educational LLMs. | |
| * **Input:** The text generated by an LLM (Draft Response). | |
| * **Output:** Three-way classification (UNSAFE / SAFE / AMBIGUOUS). | |
| * **Application:** Detecting residual toxicity, hallucinations, or age-inappropriate content that bypassed input moderation. | |
| ### Usage Example (Sliding Window) | |
| To replicate the paper's logic, you should apply the model over segments of the response: | |
| ```python | |
| from transformers import pipeline | |
| # Load the auditor | |
| model_id = "ZeroLoss-Lab/egs-bert-response-auditor" | |
| auditor = pipeline("text-classification", model=model_id) | |
| def audit_stream(text_stream, window_size=512): | |
| """ | |
| Audits an LLM response stream using the Holistic Response Auditor. | |
| """ | |
| chunks = [text_stream[i:i+window_size] for i in range(0, len(text_stream), window_size)] | |
| for chunk in chunks: | |
| result = auditor(chunk)[0] | |
| if result["label"] == "UNSAFE": | |
| return False, "Blocked: Unsafe content detected." | |
| if result["label"] == "AMBIGUOUS": | |
| return False, "Needs secondary review: Ambiguous content detected." | |
| return True, "Passed" | |
| ``` | |
| ## Limitations | |
| This model is intended as a post-generation safety component, not as a complete safety solution. It should be combined with input filtering, policy logic, human review pathways where appropriate, and task-specific evaluation before deployment. | |