Output filtering and safety checks help make sure AI answers are safe and useful. They stop bad or harmful results before you see them.
When building a chatbot that talks to people and must avoid rude or unsafe replies.
When creating AI that writes content and you want to prevent wrong or harmful information.
When using AI to help with decisions and you need to check answers for safety.
When sharing AI results publicly and want to avoid offensive or biased outputs.
When training AI models that generate text, images, or code and want to keep outputs clean.
Syntax
Agentic AI
def filter_output(output: str) -> bool:
# Return True if output is safe, False if notpass# Example usage
result = model.generate(input_data)
if filter_output(result):
print(result)
else:
print("Output blocked for safety.")
The filter_output function checks if the AI output is safe.
You can customize filters for bad words, harmful content, or wrong info.
Examples
This simple filter blocks outputs containing certain bad words.
Agentic AI
def filter_output(output: str) -> bool:
bad_words = ['badword1', 'badword2']
returnnot any(word in output.lower() for word in bad_words)
def filter_output(output: str) -> bool:
# Check for unsafe phrases
unsafe_phrases = ['do harm', 'illegal']
for phrase in unsafe_phrases:
if phrase in output.lower():
returnFalsereturnTrue
Sample Model
This program simulates AI output and uses a filter to block unsafe text. It prints safe outputs or blocks unsafe ones.
Agentic AI
def filter_output(output: str) -> bool:
bad_words = ['hate', 'kill']
for word in bad_words:
if word in output.lower():
returnFalsereturnTrueclass SimpleModel:
def generate(self, input_text):
# Pretend this is AI outputif'hello'in input_text.lower():
return"Hello! How can I help you today?"else:
return"I hate bad things."
model = SimpleModel()
inputs = ["Hello there", "Tell me something bad"]
for text in inputs:
output = model.generate(text)
if filter_output(output):
print(f"Safe output: {output}")
else:
print("Output blocked for safety.")
OutputSuccess
Important Notes
Filters can be simple word checks or complex AI models themselves.
Always test filters carefully to avoid blocking good outputs or allowing bad ones.
Output filtering helps keep AI safe and trustworthy for users.
Summary
Output filtering stops unsafe or unwanted AI results.
Filters can check for bad words, unsafe phrases, or length limits.
Using filters makes AI safer and more reliable for real users.
Practice
(1/5)
1. What is the main purpose of output filtering in AI systems?
easy
A. To stop unsafe or unwanted AI results from reaching users
B. To speed up the AI model training process
C. To increase the size of the AI model
D. To add more data to the training set
Solution
Step 1: Understand output filtering
Output filtering is designed to prevent unsafe or unwanted content from being shown to users.
Step 2: Compare options
Only To stop unsafe or unwanted AI results from reaching users describes stopping unsafe or unwanted results, which matches the purpose of output filtering.
Final Answer:
To stop unsafe or unwanted AI results from reaching users -> Option A
Quick Check:
Output filtering = stopping unsafe results [OK]
Hint: Output filtering blocks bad or unsafe AI outputs [OK]
Common Mistakes:
Confusing filtering with training speed
Thinking filtering adds data
Assuming filtering changes model size
2. Which of the following is a correct way to check if an AI output contains a banned word in Python?
easy
A. if output_text.contains(banned_word):
B. if output_text == banned_word:
C. if output_text.index(banned_word):
D. if banned_word in output_text:
Solution
Step 1: Recall Python syntax for substring check
In Python, to check if a substring is in a string, use the 'in' keyword.
Step 2: Evaluate options
if banned_word in output_text: uses 'if banned_word in output_text:', which is correct. if output_text == banned_word: checks equality, not containment. if output_text.contains(banned_word): uses a method that doesn't exist in Python strings. if output_text.index(banned_word): uses index incorrectly and can cause errors.
Final Answer:
if banned_word in output_text: -> Option D
Quick Check:
Substring check in Python uses 'in' [OK]
Hint: Use 'in' keyword to check substring in Python strings [OK]
Common Mistakes:
Using equality instead of containment
Using non-existent string methods
Using index without error handling
3. Given this Python code snippet for filtering AI output:
output = "Hello user!"
banned_words = ["bad", "ugly"]
filtered = any(word in output for word in banned_words)
print(filtered)
What will be the printed output?
medium
A. False
B. True
C. Error
D. None
Solution
Step 1: Understand the code logic
The code checks if any banned word is in the output string using 'any()' with a generator expression.
Step 2: Check banned words in output
Output is "Hello user!". Neither "bad" nor "ugly" is in this string, so 'any()' returns False.
Final Answer:
False -> Option A
Quick Check:
None of banned words in output = False [OK]
Hint: If no banned words found, 'any' returns False [OK]
Common Mistakes:
Assuming 'any' returns True by default
Confusing 'any' with 'all'
Expecting an error from generator expression
4. This code is meant to filter AI output for banned words but causes an error:
output = "Safe text"
banned_words = ["bad", "ugly"]
for word in banned_words:
if output.index(word):
print("Banned word found")
break
What is the error and how to fix it?
medium
A. Syntax error due to missing colon after for loop
B. index() raises ValueError if word not found; use 'in' instead
C. TypeError because output is not a list
D. No error; code works fine
Solution
Step 1: Identify the error cause
Using output.index(word) raises ValueError if word is not found in output string.
Step 2: Suggest fix
Replace 'output.index(word)' with 'word in output' to safely check containment without error.
Final Answer:
index() raises ValueError if word not found; use 'in' instead -> Option B
Quick Check:
index() error fixed by 'in' check [OK]
Hint: Use 'in' to check substring safely, not index() [OK]
Common Mistakes:
Ignoring ValueError from index()
Thinking output must be a list
Missing colons in loops (not in this code)
5. You want to build a safety filter that blocks AI outputs containing banned words or outputs longer than 100 characters. Which approach correctly combines these checks in Python?
hard
A. if banned_words in output or len(output) == 100:
block_output()
B. if all(word in output for word in banned_words) and len(output) < 100:
block_output()
C. if any(word in output for word in banned_words) or len(output) > 100:
block_output()
D. if output.contains(banned_words) or output.length > 100:
block_output()
Solution
Step 1: Understand filtering conditions
The filter should block if any banned word is present OR output length exceeds 100 characters.
Step 2: Evaluate options for correct logic and syntax
if any(word in output for word in banned_words) or len(output) > 100:
block_output() uses 'any' to check banned words and 'or' for length > 100, which is correct. if all(word in output for word in banned_words) and len(output) < 100:
block_output() uses 'all' and 'and' incorrectly. if output.contains(banned_words) or output.length > 100:
block_output() uses invalid methods. if banned_words in output or len(output) == 100:
block_output() uses wrong containment and equality checks.
Final Answer:
if any(word in output for word in banned_words) or len(output) > 100:
block_output() -> Option C
Quick Check:
Use 'any' + 'or' for combined filter [OK]
Hint: Use 'any' with 'or' to combine banned words and length checks [OK]
Common Mistakes:
Using 'all' instead of 'any' for banned words
Using 'and' instead of 'or' to combine conditions
Using invalid string methods like contains()
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.