asofter
commited on
Commit
·
10cef3f
1
Parent(s):
61173ea
* upgrade version
Browse files* add Gibberish scanner
- output.py +26 -4
- prompt.py +38 -1
- requirements.txt +4 -4
output.py
CHANGED
|
@@ -9,8 +9,8 @@ from llm_guard.input_scanners.code import SUPPORTED_LANGUAGES as SUPPORTED_CODE_
|
|
| 9 |
from llm_guard.output_scanners import get_scanner_by_name
|
| 10 |
from llm_guard.output_scanners.bias import MatchType as BiasMatchType
|
| 11 |
from llm_guard.output_scanners.deanonymize import MatchingStrategy as DeanonymizeMatchingStrategy
|
|
|
|
| 12 |
from llm_guard.output_scanners.language import MatchType as LanguageMatchType
|
| 13 |
-
from llm_guard.output_scanners.relevance import all_models as relevance_models
|
| 14 |
from llm_guard.output_scanners.toxicity import MatchType as ToxicityMatchType
|
| 15 |
from llm_guard.vault import Vault
|
| 16 |
from streamlit_tags import st_tags
|
|
@@ -33,6 +33,7 @@ def init_settings() -> (List, Dict):
|
|
| 33 |
"NoRefusal",
|
| 34 |
"ReadingTime",
|
| 35 |
"FactualConsistency",
|
|
|
|
| 36 |
"Regex",
|
| 37 |
"Relevance",
|
| 38 |
"Sensitive",
|
|
@@ -389,9 +390,7 @@ def init_settings() -> (List, Dict):
|
|
| 389 |
key="rele_threshold",
|
| 390 |
)
|
| 391 |
|
| 392 |
-
|
| 393 |
-
|
| 394 |
-
settings["Relevance"] = {"threshold": st_rele_threshold, "model": st_rele_model}
|
| 395 |
|
| 396 |
if "Sensitive" in st_enabled_scanners:
|
| 397 |
st_sens_expander = st.sidebar.expander(
|
|
@@ -484,6 +483,28 @@ def init_settings() -> (List, Dict):
|
|
| 484 |
if st_url_expander:
|
| 485 |
settings["URLReachability"] = {}
|
| 486 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 487 |
return st_enabled_scanners, settings
|
| 488 |
|
| 489 |
|
|
@@ -497,6 +518,7 @@ def get_scanner(scanner_name: str, vault: Vault, settings: Dict):
|
|
| 497 |
"BanTopics",
|
| 498 |
"Bias",
|
| 499 |
"Code",
|
|
|
|
| 500 |
"Language",
|
| 501 |
"LanguageSame",
|
| 502 |
"MaliciousURLs",
|
|
|
|
| 9 |
from llm_guard.output_scanners import get_scanner_by_name
|
| 10 |
from llm_guard.output_scanners.bias import MatchType as BiasMatchType
|
| 11 |
from llm_guard.output_scanners.deanonymize import MatchingStrategy as DeanonymizeMatchingStrategy
|
| 12 |
+
from llm_guard.output_scanners.gibberish import MatchType as GibberishMatchType
|
| 13 |
from llm_guard.output_scanners.language import MatchType as LanguageMatchType
|
|
|
|
| 14 |
from llm_guard.output_scanners.toxicity import MatchType as ToxicityMatchType
|
| 15 |
from llm_guard.vault import Vault
|
| 16 |
from streamlit_tags import st_tags
|
|
|
|
| 33 |
"NoRefusal",
|
| 34 |
"ReadingTime",
|
| 35 |
"FactualConsistency",
|
| 36 |
+
"Gibberish",
|
| 37 |
"Regex",
|
| 38 |
"Relevance",
|
| 39 |
"Sensitive",
|
|
|
|
| 390 |
key="rele_threshold",
|
| 391 |
)
|
| 392 |
|
| 393 |
+
settings["Relevance"] = {"threshold": st_rele_threshold}
|
|
|
|
|
|
|
| 394 |
|
| 395 |
if "Sensitive" in st_enabled_scanners:
|
| 396 |
st_sens_expander = st.sidebar.expander(
|
|
|
|
| 483 |
if st_url_expander:
|
| 484 |
settings["URLReachability"] = {}
|
| 485 |
|
| 486 |
+
if "Gibberish" in st_enabled_scanners:
|
| 487 |
+
st_gib_expander = st.sidebar.expander(
|
| 488 |
+
"Gibberish",
|
| 489 |
+
expanded=False,
|
| 490 |
+
)
|
| 491 |
+
|
| 492 |
+
with st_gib_expander:
|
| 493 |
+
st_gib_threshold = st.slider(
|
| 494 |
+
label="Threshold",
|
| 495 |
+
value=0.7,
|
| 496 |
+
min_value=0.0,
|
| 497 |
+
max_value=1.0,
|
| 498 |
+
step=0.1,
|
| 499 |
+
key="gib_threshold",
|
| 500 |
+
)
|
| 501 |
+
|
| 502 |
+
st_gib_match_type = st.selectbox(
|
| 503 |
+
"Match type", [e.value for e in GibberishMatchType], index=1, key="gib_match_type"
|
| 504 |
+
)
|
| 505 |
+
|
| 506 |
+
settings["Gibberish"] = {"match_type": st_gib_match_type, "threshold": st_gib_threshold}
|
| 507 |
+
|
| 508 |
return st_enabled_scanners, settings
|
| 509 |
|
| 510 |
|
|
|
|
| 518 |
"BanTopics",
|
| 519 |
"Bias",
|
| 520 |
"Code",
|
| 521 |
+
"Gibberish",
|
| 522 |
"Language",
|
| 523 |
"LanguageSame",
|
| 524 |
"MaliciousURLs",
|
prompt.py
CHANGED
|
@@ -7,6 +7,7 @@ import streamlit as st
|
|
| 7 |
from llm_guard.input_scanners import get_scanner_by_name
|
| 8 |
from llm_guard.input_scanners.anonymize import default_entity_types
|
| 9 |
from llm_guard.input_scanners.code import SUPPORTED_LANGUAGES as SUPPORTED_CODE_LANGUAGES
|
|
|
|
| 10 |
from llm_guard.input_scanners.language import MatchType as LanguageMatchType
|
| 11 |
from llm_guard.input_scanners.prompt_injection import MatchType as PromptInjectionMatchType
|
| 12 |
from llm_guard.input_scanners.toxicity import MatchType as ToxicityMatchType
|
|
@@ -23,6 +24,7 @@ def init_settings() -> (List, Dict):
|
|
| 23 |
"BanSubstrings",
|
| 24 |
"BanTopics",
|
| 25 |
"Code",
|
|
|
|
| 26 |
"Language",
|
| 27 |
"PromptInjection",
|
| 28 |
"Regex",
|
|
@@ -215,6 +217,34 @@ def init_settings() -> (List, Dict):
|
|
| 215 |
"is_blocked": st_cd_is_blocked,
|
| 216 |
}
|
| 217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
if "Language" in st_enabled_scanners:
|
| 219 |
st_lan_expander = st.sidebar.expander(
|
| 220 |
"Language",
|
|
@@ -410,7 +440,14 @@ def get_scanner(scanner_name: str, vault: Vault, settings: Dict):
|
|
| 410 |
if scanner_name == "Anonymize":
|
| 411 |
settings["vault"] = vault
|
| 412 |
|
| 413 |
-
if scanner_name in [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 414 |
settings["use_onnx"] = True
|
| 415 |
|
| 416 |
return get_scanner_by_name(scanner_name, settings)
|
|
|
|
| 7 |
from llm_guard.input_scanners import get_scanner_by_name
|
| 8 |
from llm_guard.input_scanners.anonymize import default_entity_types
|
| 9 |
from llm_guard.input_scanners.code import SUPPORTED_LANGUAGES as SUPPORTED_CODE_LANGUAGES
|
| 10 |
+
from llm_guard.input_scanners.gibberish import MatchType as GibberishMatchType
|
| 11 |
from llm_guard.input_scanners.language import MatchType as LanguageMatchType
|
| 12 |
from llm_guard.input_scanners.prompt_injection import MatchType as PromptInjectionMatchType
|
| 13 |
from llm_guard.input_scanners.toxicity import MatchType as ToxicityMatchType
|
|
|
|
| 24 |
"BanSubstrings",
|
| 25 |
"BanTopics",
|
| 26 |
"Code",
|
| 27 |
+
"Gibberish",
|
| 28 |
"Language",
|
| 29 |
"PromptInjection",
|
| 30 |
"Regex",
|
|
|
|
| 217 |
"is_blocked": st_cd_is_blocked,
|
| 218 |
}
|
| 219 |
|
| 220 |
+
if "Gibberish" in st_enabled_scanners:
|
| 221 |
+
st_gib_expander = st.sidebar.expander(
|
| 222 |
+
"Gibberish",
|
| 223 |
+
expanded=False,
|
| 224 |
+
)
|
| 225 |
+
|
| 226 |
+
with st_gib_expander:
|
| 227 |
+
st_gib_threshold = st.slider(
|
| 228 |
+
label="Threshold",
|
| 229 |
+
value=0.7,
|
| 230 |
+
min_value=0.0,
|
| 231 |
+
max_value=1.0,
|
| 232 |
+
step=0.1,
|
| 233 |
+
key="gibberish_threshold",
|
| 234 |
+
)
|
| 235 |
+
|
| 236 |
+
st_gib_match_type = st.selectbox(
|
| 237 |
+
"Match type",
|
| 238 |
+
[e.value for e in GibberishMatchType],
|
| 239 |
+
index=1,
|
| 240 |
+
key="gibberish_match_type",
|
| 241 |
+
)
|
| 242 |
+
|
| 243 |
+
settings["Gibberish"] = {
|
| 244 |
+
"threshold": st_gib_threshold,
|
| 245 |
+
"match_type": st_gib_match_type,
|
| 246 |
+
}
|
| 247 |
+
|
| 248 |
if "Language" in st_enabled_scanners:
|
| 249 |
st_lan_expander = st.sidebar.expander(
|
| 250 |
"Language",
|
|
|
|
| 440 |
if scanner_name == "Anonymize":
|
| 441 |
settings["vault"] = vault
|
| 442 |
|
| 443 |
+
if scanner_name in [
|
| 444 |
+
"Anonymize",
|
| 445 |
+
"BanTopics",
|
| 446 |
+
"Code",
|
| 447 |
+
"Gibberish",
|
| 448 |
+
"PromptInjection",
|
| 449 |
+
"Toxicity",
|
| 450 |
+
]:
|
| 451 |
settings["use_onnx"] = True
|
| 452 |
|
| 453 |
return get_scanner_by_name(scanner_name, settings)
|
requirements.txt
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
-
llm-guard==0.3.
|
| 2 |
-
llm-guard[onnxruntime]==0.3.
|
| 3 |
-
pandas==2.2.
|
| 4 |
-
streamlit==1.
|
| 5 |
streamlit-tags==1.2.8
|
|
|
|
| 1 |
+
llm-guard==0.3.10
|
| 2 |
+
llm-guard[onnxruntime]==0.3.10
|
| 3 |
+
pandas==2.2.1
|
| 4 |
+
streamlit==1.32.1
|
| 5 |
streamlit-tags==1.2.8
|