调用Vertex AI API遇HARM_CATEGORY_UNSPECIFIED错误,如何禁用安全属性?
解决Vertex AI API的HARM_CATEGORY_UNSPECIFIED错误并提取论文核心内容
调整安全设置以禁用对应拦截
调用Vertex AI生成式模型时,需在请求配置中显式设置安全阈值,将HARM_CATEGORY_UNSPECIFIED及其他可能触发拦截的类别风险阈值设为最宽松级别,绕过不必要的内容限制。
Python代码示例
import vertexai from vertexai.generative_models import GenerativeModel, SafetySetting, HarmCategory, HarmBlockThreshold # 初始化Vertex AI环境 vertexai.init(project="你的项目ID", location="你的区域") # 配置安全规则:关闭指定类别的内容拦截 safety_settings = [ SafetySetting( category=HarmCategory.HARM_CATEGORY_UNSPECIFIED, threshold=HarmBlockThreshold.BLOCK_NONE ), # 可选:同步关闭其他常见风险类别拦截,避免后续触发其他错误 SafetySetting( category=HarmCategory.HARM_CATEGORY_HATE_SPEECH, threshold=HarmBlockThreshold.BLOCK_NONE ), SafetySetting( category=HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT, threshold=HarmBlockThreshold.BLOCK_NONE ), SafetySetting( category=HarmCategory.HARM_CATEGORY_HARASSMENT, threshold=HarmBlockThreshold.BLOCK_NONE ) ] # 加载模型并传入安全配置 model = GenerativeModel("gemini-1.5-flash-001") response = model.generate_content( "描述这篇论文的研究背景:[此处插入上传的论文文本或关键段落]", safety_settings=safety_settings ) # 输出提取结果 print(response.text)
REST API请求配置示例
如果通过REST接口调用,需在请求体中添加safetySettings字段:
{ "contents": [{"parts": [{"text": "提取以下论文的背景信息和核心摘要:[论文内容]"}]}], "safetySettings": [ { "category": "HARM_CATEGORY_UNSPECIFIED", "threshold": "BLOCK_NONE" } ] }
优化提示词提升提取准确性
调整安全设置后,可通过更明确的提示词让模型精准返回所需内容:
- 明确任务边界:
"基于以下论文文本,提取研究背景,包含领域现存问题、研究动机:[论文内容]" - 要求结构化输出:
"请分两点总结:1. 论文研究背景;2. 核心内容摘要,每点控制在200字以内"
内容的提问来源于stack exchange,提问作者unmasked_one
相关产品推荐
相关产品推荐

