问题验证
- 我已在文档和discord中寻找答案。
问题
我正在尝试为顶点AI模型添加安全设置。
safety_settings={
generative_models.HarmCategory.HARM_CATEGORY_HATE_SPEECH: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
generative_models.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_ONLY_HIGH,
}
当我传递上述设置时,我得到以下错误。
pydantic.v1.errors.ConfigError: field "safety_settings_List[ForwardRef('SafetySetting')]" not yet prepared so type is still a ForwardRef, you might need to call Vertex.update_forward_refs().
那么传递安全设置的正确格式是什么?
4条答案
按热度按时间eqfvzcg81#
将安全设置传递给Vertex AI模型的正确格式是使用
vertexai.generative_models._generative_models
模块中的SafetySettingsType
。在创建Vertex
类示例时,应将其作为名为safety_settings
的可选参数传递。以下是如何操作的示例:
这确保了
safety_settings
参数被正确传递,并避免了pydantic.v1.errors.ConfigError
1(https://github.com/run-llama/llama_index/blob/main/llama-index-integrations/llms/llama-index-llms-vertex/llama_index/llms/vertex/base.py)。详细信息
关于Dosu
此响应旨在帮助您节省时间并提高效率。它不是精确解决方案,而是您自己研究的起点。
请帮助我变得更有用!如果这有帮助,请留下一个👍,如果不相关,请留下一个👎。
of1yzvn42#
根据错误提示,需要调用update forward refs方法,因此类必须更新。解决方法是在使用之前手动调用它。
o2g1uqev3#
@dosu-bot, @logan-markewich
NameError: name 'SafetySetting' is not defined. Did you mean: 'SafetySettingsType'?
nzkunb0c4#
要解决
NameError: name 'SafetySetting' is not defined
错误,您需要确保SafetySetting
被正确定义或导入。然而,在您的情况中,似乎您应该使用SafetySettingsType
。以下是如何正确定义和传递安全设置的方法:
SafetySettingsType
定义您的安全设置:update_forward_refs
并创建Vertex
示例:这应该解决
NameError
并正确将安全设置传递给您的 Vertex AI 模型 1(https://github.com/run-llama/llama_index/blob/main/llama-index-integrations/llms/llama-index-llms-vertex/llama_index/llms/vertex/base.py)。