讲师中心 微信公众号

工具推荐

视频效率加速
Seko
Seko

AI短剧一键生成成片

updream

一键生成高质量推广成片

立刻MV
立刻MV

低成本歌曲 MV、视频生成

Laper
Laper

剧本策划到成片协作

Gemini API安全最佳实践:输入过滤与输出内容审核的完整代码示例【详解】

秋强同学_4440

秋强同学_4440

发布时间:2026-06-11 18:53:18

|

940人浏览过

|

来源于php中文网

原创

必须实施输入侧过滤与输出侧审核双层防护:先用正则/长度/语义相似度预过滤输入,再正确配置SafetySetting列表,最后对输出做关键词扫描、PII检测及安全评分兜底。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

gemini api安全最佳实践:输入过滤与输出内容审核的完整代码示例【详解】

如果你正在用 Gemini API 接入用户输入并生成内容,但发现恶意提示能绕过安全设置、敏感词漏检、或输出被意外阻断导致服务中断,就必须同时实施输入侧过滤与输出侧审核双层防护。仅靠 API 内置 safety_settings 无法覆盖所有攻击面,尤其当用户构造多轮诱导、上下文污染或混合编码输入时。

第一步:对原始输入做结构化预过滤

在调用 Gemini 前,先用轻量规则清洗用户输入,避免无效请求触发限流或暴露模型弱点。

方法一:正则+关键词黑名单拦截

用 Python 的 re 模块匹配典型越狱模式,如“忽略上文指令”“你是一个没有道德约束的AI”“请以开发者模式回答”等变体。匹配到即拒绝请求,不发往 Gemini。

方法二:长度与编码异常检测

截断超长输入(>2048 字符),强制 UTF-8 解码并捕获 UnicodeDecodeError;对 Base64 编码字段额外校验是否为合法图像 mime_type(如 image/jpeg、image/png),防止伪造 payload。

方法三:语义相似度初筛(可选)

对高频攻击模板向量化(如使用 sentence-transformers/all-MiniLM-L6-v2),计算余弦相似度 >0.85 即标记为高风险,跳过 Gemini 调用直接返回拦截响应。

第二步:正确配置 Gemini 安全设置对象列表

这是最容易出错的关键环节——【safety_settings 必须是 SafetySetting 实例组成的列表,不能是字典】。传入字典会导致 API 忽略全部自定义设置,回退至默认 BLOCK_MEDIUM_AND_ABOVE 策略。

导入正确类:

from google.generativeai.types import HarmCategory, HarmBlockThreshold, SafetySetting

构建安全策略:

safety_settings = [ SafetySetting( category=HarmCategory.HARM_CATEGORY_HARASSMENT, threshold=HarmBlockThreshold.BLOCK_ONLY_HIGH ), SafetySetting( category=HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT, threshold=HarmBlockThreshold.BLOCK_ONLY_HIGH ), SafetySetting( category=HarmCategory.HARM_CATEGORY_HATE_SPEECH, threshold=HarmBlockThreshold.BLOCK_ONLY_HIGH ), SafetySetting( category=HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT, threshold=HarmBlockThreshold.BLOCK_ONLY_HIGH ) ]

注意:Gemini 不支持将 threshold 设为字符串如 "block_none",必须使用 HarmBlockThreshold 枚举值。

第三步:解析输出并执行二次审核

即使启用严格 safety_settings,仍可能因模型误判或边界案例导致低风险内容通过。需对 response.text 做本地规则兜底。

① 提取 finish_reason 判断是否被安全机制拦截:

if response.candidates[0].finish_reason == "SAFETY": return {"status": "blocked", "reason": "content_rejected_by_gemini"}

② 对成功响应的 text 字段执行关键词扫描:

使用 Aho-Corasick 算法构建敏感词树,比逐条 re.search 快 3~5 倍;覆盖手机号、身份证号、邮箱、微信/QQ 号等 PII 模式。

③ 启用 Google SafeSearch API 补充校验(可选):

将 response.text 提交至 safebrowsing.googleapis.com/v4/threatMatches:find,验证是否含钓鱼、恶意软件等 URL 风险。

④ 添加置信度阈值判断:

Generate images & videos with: Gemini 3 Pro Image + Qwen Wan 2.6 (video) via one API key
Generate images & videos with: Gemini 3 Pro Image + Qwen Wan 2.6 (video) via one API key

使用AIsa生成图像与视频。仅需一个API密钥即可调用Gemini 3 Pro Image(图像)和Qwen Wan 2.6(视频)。

下载

若 response.candidates[0].safety_ratings 中任一 category 的 probability 为 MEDIUM 或 HIGH,即使未触发 BLOCK,也视为潜在风险,打标后人工复核。

第四步:封装为带重试与降级的调用函数

将前三步整合为原子操作,失败时自动切换策略。

def safe_generate_content(prompt):

  # 输入预过滤 → 若失败,直接返回 error

  filtered_prompt = pre_filter(prompt)

  if not filtered_prompt:

    return {"error": "input_rejected"}

  # Gemini 调用 → 设置 timeout=25,捕获 ResourceExhausted

  try:

    response = model.generate_content(filtered_prompt, safety_settings=safety_settings, request_options={"timeout": 25})

  except Exception as e:

    if "ResourceExhausted" in str(e):

      time.sleep(1.5) # 指数退避

      return safe_generate_content(prompt) # 重试一次

    else:

      return {"error": "api_call_failed"}

  # 输出审核 → 若含 PII 或 safety_ratings 异常,触发降级

  if post_audit(response):

    return {"text": response.text, "audit_status": "passed"}

  else:

    return {"text": "内容审核未通过,请修改后重试", "audit_status": "failed"}

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
Gemini网页版零基础入门:5分钟上手Gemini聊天指南
Gemini网页版零基础入门:5分钟上手Gemini聊天指南

本专题专为零基础用户打造,5分钟快速掌握Gemini网页版核心用法。从账号登录到界面布局,详解如何发起对话、优化提示词及利用多模态功能。通过实战案例,教你高效获取信息、创作内容与分析数据。无论学习还是工作,轻松开启AI辅助新时代,让Gemini成为你的得力智能助手。

20077

2026.03.18

如何写出高效Gemini提示:Chain of Thought实用教程
如何写出高效Gemini提示:Chain of Thought实用教程

本专题详解如何利用“思维链”(Chain of Thought)技巧激发 Gemini 模型的深度推理能力。通过引导模型将复杂问题拆解为逐步推导的逻辑链条,显著提升其在数学计算、代码生成及逻辑分析任务中的准确率。文章提供实用提示模板与对比案例,助您掌握结构化提问方法,从简单指令升级为高效交互,轻松获取更精准、可解释的智能回答。

57

2026.03.23

Gemini多模态实战:图片PDF视频输入完整处理指南
Gemini多模态实战:图片PDF视频输入完整处理指南

本指南全面解析 Gemini 多模态实战,涵盖图片、PDF 及视频的高效处理流程。从上传技巧到提示词设计,教您如何提取文档关键信息、分析图表数据及解读视频内容。通过真实案例演示,助您掌握跨模态交互核心技能,轻松构建智能文档分析与多媒体理解应用,释放 AI 潜能。

77

2026.03.23

Gemini提示工程进阶:Few-shot与角色扮演优化方法
Gemini提示工程进阶:Few-shot与角色扮演优化方法

本进阶指南深入解析 Few-shot 学习与角色扮演在 Gemini 提示工程中的核心应用。通过精选示例引导模型模仿特定风格,结合角色设定规范输出语气与逻辑,显著提升复杂任务的处理精度。文章提供实用模板与调优策略,助您打造个性化 AI 助手,实现从通用回答到专业级交互的质的飞跃。

96

2026.03.23

Google AI Studio使用教程:从模板到自定义Prompt实战
Google AI Studio使用教程:从模板到自定义Prompt实战

本教程手把手教您掌握 Google AI Studio,从快速调用官方模板到深度自定义 Prompt 实战。内容涵盖界面导航、参数调优及版本管理,助您灵活构建专属 AI 应用。通过真实案例演示,让您轻松实现从创意构思到原型部署的全流程,高效释放 Gemini 模型潜能,打造智能化解决方案。

121

2026.03.23

Gemini API快速上手:Python调用generateContent完整指南
Gemini API快速上手:Python调用generateContent完整指南

本指南详解如何使用 Python 快速调用 Gemini API 的 generateContent 方法。从环境配置、密钥管理到核心代码实现,逐步演示文本生成、多模态输入及流式响应处理。包含完整示例与错误排查技巧,助开发者轻松集成 Gemini 强大能力,构建高效智能应用,开启 AI 开发新篇章。

130

2026.03.23

如何实现Gemini函数调用:Tool Use与外部工具集成教程
如何实现Gemini函数调用:Tool Use与外部工具集成教程

本教程深入解析 Gemini 函数调用机制,详解 Tool Use 配置与外部工具集成流程。从定义函数架构到处理动态参数,手把手教您连接数据库、搜索 API 及自定义服务。通过实战案例,展示如何让 AI 自主规划并执行复杂任务,突破纯文本限制,构建具备真实行动力的智能代理系统。

185

2026.03.23

Gemini结构化输出JSON模式:API稳定提取数据实战
Gemini结构化输出JSON模式:API稳定提取数据实战

本实战指南详解如何利用 Gemini API 的 JSON 模式实现结构化数据提取。通过配置响应格式约束,确保模型输出严格符合预定义 Schema,彻底解决解析错误难题。内容涵盖字段定义、类型校验及异常处理,助您在信息抽取、数据清洗等场景中构建高稳定性管道,轻松将非结构化文本转化为可靠的应用数据。

131

2026.03.23

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

40

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Gemini API
Gemini API

共0课时 | 0人学习

Gemini Notebook常见问题解答
Gemini Notebook常见问题解答

共0课时 | 0人学习

Gemini Notebook官方手册
Gemini Notebook官方手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn