| class Guardian: | |
| def __init__(self, client): | |
| self.model = "Qwen/Qwen3Guard-Gen-4B" | |
| self.client = client | |
| def moderate_message(self, prompt) -> tuple[bool, str]: | |
| messages = [ | |
| {"role": "user", "content": prompt} | |
| ] | |
| try: | |
| chat_completion = self.client.chat.completions.create( | |
| messages=messages, | |
| model=self.model) | |
| response = chat_completion.choices[0].message.content | |
| safety, categories = response.split("\n") | |
| safety = safety.replace("Safety:", "").strip() | |
| categories = categories.replace("Categories:", "").strip() | |
| is_safe = True if "Safe" in safety else False | |
| return is_safe, categories | |
| except Exception as e: | |
| print(f"Error in Guardian moderate_message: {e}") | |
| return False, "Guard down!" | |