You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API禁用Gemini Vision Pro模型的安全设置

解决方案:Gemini Vision Pro API安全设置禁用及问题排查

1. 正确禁用所有安全设置的方法

你当前代码里的安全类别存在重复和错误(HARM_CATEGORY_DANGEROUS并非官方定义的有效类别),导致安全设置未完全生效。要彻底禁用所有安全拦截,需覆盖Gemini API官方定义的全部4种安全类别,并明确设置阈值为BLOCK_NONE。

修正后的代码示例

使用Google官方枚举类(避免字符串拼写错误):

import google.generativeai as genai
from google.generativeai.types import HarmCategory, HarmBlockThreshold
import streamlit as st

def Gemini_vision(prompt, image):
    st.markdown("<p style='text-align:center;'>Image will be used from here, Delete image when you are done ✅</p>", unsafe_allow_html=True)
    genai.configure(api_key=GEMINI_API_KEY)
    model = genai.GenerativeModel('gemini-pro-vision')
    
    # 覆盖全部官方安全类别,设置为完全不拦截
    safety_settings = {
        HarmCategory.HARASSMENT: HarmBlockThreshold.BLOCK_NONE,
        HarmCategory.HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE,
        HarmCategory.SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE,
        HarmCategory.DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_NONE,
    }
    
    response = model.generate_content([image[0], prompt], safety_settings=safety_settings)
    # 新增拦截状态检查,避免直接调用response.text报错
    if response.prompt_feedback.block_reason:
        raise Exception(f"内容被拦截:{response.prompt_feedback.block_reason}")
    return response.text

若坚持使用字符串形式,需确保类别名称完全匹配官方定义:

safety_settings = [
    {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"},
    {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"},
    {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_NONE"},
    {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"},
]

空列表无效的原因

当safety_settings设为空列表时,API会自动应用默认安全阈值(并非完全禁用),因此仍会拦截敏感内容。必须显式设置所有类别为BLOCK_NONE才能彻底禁用拦截。

2. 调整时需考虑的额外事项

  • 官方政策限制:即使设置BLOCK_NONE,若内容违反Google Generative AI服务条款(如涉及未成年人、非法内容等),仍可能被系统拦截。此类情况需通过Google Cloud控制台提交申请,请求放宽特定类别的安全限制。
  • 日志排查:Streamlit Cloud的日志包含未脱敏的错误详情,点击「Manage app」→「Logs」查看具体拦截原因(如触发拦截的安全类别),确认是否真的是安全设置问题。
  • 库版本兼容:确保google-generativeai库为最新版本,执行pip install --upgrade google-generativeai更新,旧版本可能不支持部分安全设置参数。
  • 图片合规性:检查自拍图片是否包含违规元素(如裸露、暴力暗示等),或图片尺寸/格式超出API限制(Gemini Pro Vision支持JPG、PNG等格式,单张图片不超过20MB)。
  • 密钥权限:确认API密钥关联的Google Cloud项目已启用Generative AI API,且无额外访问限制(如IP白名单、配额限制)。

内容的提问来源于stack exchange,提问作者Likith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 18:14:54