From dcb92ff089c20e84c26427becf24f0b22c3b1554 Mon Sep 17 00:00:00 2001 From: Christina Xu Date: Thu, 24 Jul 2025 14:13:09 -0400 Subject: [PATCH] feat: add XBG rails --- docs/user-guides/community/xgb.md | 43 ++++++ examples/configs/xgb/config.yml | 19 +++ nemoguardrails/library/xgb/__init__.py | 14 ++ nemoguardrails/library/xgb/actions.py | 56 ++++++++ nemoguardrails/library/xgb/flows.co | 21 +++ nemoguardrails/library/xgb/flows.v1.co | 18 +++ nemoguardrails/library/xgb/inference.py | 64 +++++++++ .../library/xgb/model_artifacts/model.pkl | Bin 0 -> 160356 bytes .../xgb/model_artifacts/vectorizer.pkl | Bin 0 -> 124242 bytes nemoguardrails/rails/llm/config.py | 27 ++++ pyproject.toml | 7 +- tests/test_xgb_detection.py | 136 ++++++++++++++++++ 12 files changed, 404 insertions(+), 1 deletion(-) create mode 100644 docs/user-guides/community/xgb.md create mode 100644 examples/configs/xgb/config.yml create mode 100644 nemoguardrails/library/xgb/__init__.py create mode 100644 nemoguardrails/library/xgb/actions.py create mode 100644 nemoguardrails/library/xgb/flows.co create mode 100644 nemoguardrails/library/xgb/flows.v1.co create mode 100644 nemoguardrails/library/xgb/inference.py create mode 100644 nemoguardrails/library/xgb/model_artifacts/model.pkl create mode 100644 nemoguardrails/library/xgb/model_artifacts/vectorizer.pkl create mode 100644 tests/test_xgb_detection.py diff --git a/docs/user-guides/community/xgb.md b/docs/user-guides/community/xgb.md new file mode 100644 index 000000000..c14658127 --- /dev/null +++ b/docs/user-guides/community/xgb.md @@ -0,0 +1,43 @@ +# XGB Detectors Integration + +XGB Detectors utilizes [XGBoost machine learning models](https://xgboost.readthedocs.io/en/stable/tutorials/model.html) to detect harmful content in data. Currently, only +the spam text detector, trained by the [Red Hat TrustyAI team](https://github.com/trustyai-explainability), is available for guardrailing use. + +## Setup + +Update your `config.yaml` file to include XGB detectors: + +**Spam detection config** +``` +rails: + config: + xgb: + input: + detectors: + - SPAM + output: + detectors: + - SPAM + input: + flows: + - xgb detect on input + output: + flows: + - xgb detect on output +``` +The detection flow will not let the input and output text pass if spam is detected. + +## Usage + +Once configured, the XGB Guardrails integration will automatically: + +1. Detect spam in inputs to the LLM +3. Detect spam in outputs from the LLM + +## Error Handling + +If the inference request to the XGB spam model fails, the system will assume spam is present as a precautionary measure. + +## Notes + +For more information on TrustyAI and its projects, please visit the TrustyAI [documentation](https://trustyai.org/docs/main/main). diff --git a/examples/configs/xgb/config.yml b/examples/configs/xgb/config.yml new file mode 100644 index 000000000..72043983f --- /dev/null +++ b/examples/configs/xgb/config.yml @@ -0,0 +1,19 @@ +models: + - type: main + engine: hf_pipeline_gpt2 + model: "openai-community/gpt2" +rails: + config: + xgb: + input: + detectors: + - SPAM + output: + detectors: + - SPAM + input: + flows: + - xgb detect on input + output: + flows: + - xgb detect on output diff --git a/nemoguardrails/library/xgb/__init__.py b/nemoguardrails/library/xgb/__init__.py new file mode 100644 index 000000000..9ba9d4310 --- /dev/null +++ b/nemoguardrails/library/xgb/__init__.py @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/nemoguardrails/library/xgb/actions.py b/nemoguardrails/library/xgb/actions.py new file mode 100644 index 000000000..515c02074 --- /dev/null +++ b/nemoguardrails/library/xgb/actions.py @@ -0,0 +1,56 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from nemoguardrails.actions import action +from nemoguardrails.library.xgb.inference import xgb_inference +from nemoguardrails.rails.llm.config import RailsConfig + + +@action() +async def xgb_detect( + source: str, + text: str, + config: RailsConfig, + **kwargs, +): + xgb_config = getattr(config.rails.config, "xgb") + source_config = getattr(xgb_config, source) + + enabled_detectors = getattr(source_config, "detectors", None) + if enabled_detectors is None: + raise ValueError( + f"Could not find 'detectors' in source_config: {source_config}" + ) + valid_detectors = ["SPAM"] + for detector in enabled_detectors: + if detector not in valid_detectors: + raise ValueError( + f"XGB detectors can only be defined in the following detectors: {valid_detectors}. " + f"The current detector, '{detector}' is not allowed." + ) + + valid_sources = ["input", "output"] + if source not in valid_sources: + raise ValueError( + f"XGB detectors can only be defined in the following flows: {valid_sources}. " + f"The current flow, '{source} is not allowed." + ) + + xgb_response = xgb_inference( + text, + enabled_detectors, + ) + + return xgb_response diff --git a/nemoguardrails/library/xgb/flows.co b/nemoguardrails/library/xgb/flows.co new file mode 100644 index 000000000..772968930 --- /dev/null +++ b/nemoguardrails/library/xgb/flows.co @@ -0,0 +1,21 @@ +#### XGB DETECTION RAILS #### + +# INPUT RAILS + +flow xgb detect on input +"""Check if the user content has harmful content" + $detection = await XGBDetectAction(source="input", text=$user_message) + + if $detection + bot inform answer unknown + abort + +# OUTPUT RAILS + +flow xgb detect on output +"""Check if the bot output has harmful content" + $detection = await XGBDetectAction(source="output", text=$bot_message) + + if $detection + bot inform answer unknown + abort diff --git a/nemoguardrails/library/xgb/flows.v1.co b/nemoguardrails/library/xgb/flows.v1.co new file mode 100644 index 000000000..f8629e939 --- /dev/null +++ b/nemoguardrails/library/xgb/flows.v1.co @@ -0,0 +1,18 @@ +#### XGB DETECTION RAILS #### + +# INPUT RAILS + +define subflow xgb detect on input + $detection = execute xgb_detect(source="input", text=$user_message) + + if $detection + bot inform answer unknown + stop + +# OUTPUT RAILS +define subflow xgb detect on output + $detection = execute xgb_detect(source="output", text=$user_message) + + if $detection + bot inform answer unknown + stop diff --git a/nemoguardrails/library/xgb/inference.py b/nemoguardrails/library/xgb/inference.py new file mode 100644 index 000000000..2afe32165 --- /dev/null +++ b/nemoguardrails/library/xgb/inference.py @@ -0,0 +1,64 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging +import pickle +from typing import List + +log = logging.getLogger(__name__) +MODEL_REGISTRY = { + "SPAM": { + "model_path": "nemoguardrails/library/xgb/model_artifacts/model.pkl", + "vectorizer_path": "nemoguardrails/library/xgb/model_artifacts/vectorizer.pkl", + } +} + + +def xgb_inference(text: str, enabled_detectors: List[str]): + detections = [] + for detector in enabled_detectors: + model_info = MODEL_REGISTRY.get(detector) + if not model_info: + raise ValueError( + f"XGB detector '{detector}' is not configured in the MODEL_REGISTRY." + ) + model_path = model_info["model_path"] + vectorizer_path = model_info["vectorizer_path"] + with open(model_path, "rb") as f: + model = pickle.load(f) + with open(vectorizer_path, "rb") as f: + vectorizer = pickle.load(f) + + try: + X_vec = vectorizer.transform([text]) + prediction = model.predict(X_vec)[0] + probability = model.predict_proba(X_vec)[0] + + is_safe = prediction == 0 + confidence = max(probability) + + detections.append( + { + "allowed": bool(is_safe), + "score": float(confidence), + "prediction": "safe" if is_safe else detector, + } + ) + + except Exception as e: + raise ValueError( + f"Error during XGBoost inference for detector '{detector}': {e}" + ) + return detections diff --git a/nemoguardrails/library/xgb/model_artifacts/model.pkl b/nemoguardrails/library/xgb/model_artifacts/model.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ec8c224fa49e82a06d6a17a6751594f79b52471d GIT binary patch literal 160356 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 literal 0 HcmV?d00001 diff --git a/nemoguardrails/library/xgb/model_artifacts/vectorizer.pkl b/nemoguardrails/library/xgb/model_artifacts/vectorizer.pkl new file mode 100644 index 0000000000000000000000000000000000000000..2827707f172c56a38eedec709bdfbf6a61fe3acc GIT binary patch literal 124242 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 Rj^}$K<cgoS*ti`od|v&F_VrmvpA*pZz{+-d{S_ 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 "Hi!" + chat << "Hi! Nice to meet you." + + +@pytest.mark.unit +def test_xgb_spam_detection_input(): + config = RailsConfig.from_content( + yaml_content=""" + models: [] + rails: + config: + xgb: + input: + detectors: + - SPAM + input: + flows: + - xgb detect on input + """, + colang_content=COLANG_CONTENT, + ) + + chat = TestChat( + config, + llm_completions=[ + " express greeting", + ' "Hi! Nice to meet you"', + ], + ) + chat.app.register_action(retrieve_relevant_chunks, "retrieve_relevant_chunks") + + chat >> "Hi! GENT! We are trying to contact you. Last weekends draw shows that you won a £1000 prize GUARANTEED. Call 09064012160.Claim Code K52. Valid 12hrs only. 150ppm!" + + chat << "I can't answer that." + + +@pytest.mark.unit +def test_xgb_spam_detection_output(): + config = RailsConfig.from_content( + yaml_content=""" + models: [] + rails: + config: + xgb: + output: + detectors: + - SPAM + output: + flows: + - xgb detect on output + """, + colang_content=COLANG_CONTENT, + ) + + chat = TestChat( + config, + llm_completions=[ + " express greeting", + """ 'GENT! We are trying to contact you. Last weekends draw shows that you won a £1000 prize GUARANTEED. + Call 09064012160.Claim Code K52. Valid 12hrs only. 150ppm!' """, + ], + ) + + chat.app.register_action(retrieve_relevant_chunks, "retrieve_relevant_chunks") + chat >> "Hi!" + chat << "I can't answer that."