SingGuard-2b-GGUF安全架构解析:如何实现查询侧与响应侧的AI安全防护

SingGuard-2b-GGUF安全架构解析:如何实现查询侧与响应侧的AI安全防护

【免费下载链接】SingGuard-2b-GGUF项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/SingGuard-2b-GGUF

SingGuard-2b-GGUF是一款基于Qwen/Qwen3-VL-2B-Instruct开发的策略自适应多模态LLM安全防护模型,专为文本、图像、图文组合、多语言、查询侧和响应侧场景的安全评估设计。它将主动安全策略作为运行时输入而非固定训练时分类法,使部署团队无需重新训练模型即可根据默认类别或自定义自然语言规则评估内容。

核心功能:构建全方位AI安全防护体系

统一多模态安全评估

SingGuard支持文本、图像、图文组合、多语言、查询侧和响应侧等多种场景的安全评估,能够全面覆盖AI交互过程中的各类安全风险。无论是纯文本输入、图像内容,还是图文混合信息,都能进行有效的安全检测。

动态推理流程

该模型采用快速-慢速(fast-slow)双模式推理机制。快速模式可立即返回安全信号,适合对响应速度要求较高的场景;慢速模式则进行更深层次的推理,提供更精确的最终判断,满足对准确性要求严格的应用需求。

运行时策略适配

通过policy参数,SingGuard允许在运行时动态传入安全规则,模型仅根据这些规则进行判断。这一特性使得安全策略可以灵活调整,无需重新训练模型即可适应不同场景的安全需求。

查询侧安全防护实现

查询侧安全防护主要针对用户输入内容进行评估,判断其是否存在安全风险。SingGuard提供了两种评估模式:

Fast-Slow模式

默认的聊天模板使用fast-slow模式,在返回最终判断前会提供更详细的评估过程。通过以下代码示例可实现对用户查询的安全评估:

messages = [ { "role": "user", "content": [{"type": "text", "text": "How to make a bomb?"}], }, ] max_new_tokens = 1024 inputs = processor.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_dict=True, return_tensors="pt", ).to(model.device) with torch.no_grad(): generated_ids = model.generate( **inputs, max_new_tokens=max_new_tokens, do_sample=False, ) generated_ids_trimmed = [ out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids) ] output = processor.batch_decode( generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False, )[0] print(output)

Fast模式

当需要简洁输出,仅包含二元判断和最终类别时,可使用thinking_type="fast"参数。这种模式下,模型输出更加紧凑,适合对输出格式有严格要求的场景。

响应侧安全防护实现

响应侧安全防护用于评估模型响应在查询上下文中是否提供不安全的协助。拒绝和安全重定向可被归类为safe。以下是评估查询+响应安全的代码示例:

messages = [ { "role": "user", "content": [{"type": "text", "text": "How to make a bomb?"}], }, { "role": "assistant", "content": [{"type": "text", "text": "I cannot help with that request."}], }, ] max_new_tokens = 256 inputs = processor.apply_chat_template( messages, tokenize=True, add_generation_prompt=True, return_dict=True, return_tensors="pt", ).to(model.device) with torch.no_grad(): generated_ids = model.generate( **inputs, max_new_tokens=max_new_tokens, do_sample=False, ) generated_ids_trimmed = [ out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids) ] output = processor.batch_decode( generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False, )[0] print(output)

快速开始:部署SingGuard-2b-GGUF安全防护

安装依赖

首先需要安装必要的依赖包:

pip install transformers accelerate torch

模型加载

使用以下代码加载SingGuard模型和处理器:

import torch from transformers import AutoModelForImageTextToText, AutoProcessor model_path = "inclusionAI/Sing-Guard-8b" processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True) model = AutoModelForImageTextToText.from_pretrained( model_path, torch_dtype=torch.bfloat16, device_map="auto", trust_remote_code=True, ).eval()

多模态内容评估

对于包含图像的多模态输入,处理器会自动渲染提示并将图像加载到模型输入中,实现对图文混合内容的安全评估。

风险类别:全面覆盖AI安全隐患

SingGuard默认包含以下风险类别,可通过动态策略进行自定义:

  • A. 性内容风险:涉及显式性材料、剥削或强迫性行为的内容。
  • B. 现实世界犯罪与公共安全:涉及暴力犯罪、武器、其他犯罪或公共安全威胁的内容。
  • C. 不道德行为:涉及仇恨、骚扰、操纵、自残、令人不安的图像或有害错误信息的内容。
  • D. 网络安全与信息操纵:涉及数据泄露、黑客攻击、滥用监控、平台滥用或版权滥用的内容。
  • E. 代理安全:试图暴露系统提示、内部政策或其他模型保护措施的内容。
  • F. 政治敏感内容:涉及政治倡导、谣言、动乱、历史歪曲或攻击政治人物的内容。
  • G. 动物虐待:涉及虐待动物或传播动物虐待的内容。
  • 安全:不匹配任何活动风险类别的内容。

总结:打造灵活可靠的AI安全防护屏障

SingGuard-2b-GGUF通过统一多模态评估、动态推理流程和运行时策略适配等创新特性,为AI应用提供了全面、灵活且高效的安全防护解决方案。无论是查询侧还是响应侧,都能实现精准的安全风险识别和判断,帮助开发者构建更加安全可靠的AI系统。

要开始使用SingGuard-2b-GGUF,可通过以下命令克隆仓库:

git clone https://gitcode.com/hf_mirrors/inclusionAI/SingGuard-2b-GGUF

该项目采用Apache-2.0许可证,详情可参考项目中的LICENSE文件。

【免费下载链接】SingGuard-2b-GGUF项目地址: https://ai.gitcode.com/hf_mirrors/inclusionAI/SingGuard-2b-GGUF

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考