😇
Dify × Vertex AI × DockerのHarmBlockThreshold エラー解決方法
Vertex AI の HarmBlockThreshold エラー解決方法
エラーの概要
Vertex AI を使用する際に以下のエラーが発生する場合があります:
[vertex_ai] Bad Request Error, 400 User has requested a restricted HarmBlockThreshold setting BLOCK_NONE.
このエラーは、コンテンツフィルタリングの設定 BLOCK_NONE
が制限されていることを示しています。
解決方法
このエラーは、Docker Desktop を使用してファイルを直接修正し、コンテナを再起動することで解決できます。以下に手順を示します。
手順 1: Docker Desktop でファイルを修正
- Docker Desktop を開きます。
- 該当するコンテナ(
api-1
)を見つけ、ファイルシステム(Files
)にアクセスします。 - エラーの原因となっている設定ファイルを探します。(
app/api/core/model_runtime/model_providers/vertex_ai/llm/llm.py
) - ファイルを開き、
safety_settings
の設定をコメントアウトします
# safety_settings={
# HarmCategory.HARM_CATEGORY_HARASSMENT: HarmBlockThreshold.BLOCK_NONE,
# HarmCategory.HARM_CATEGORY_HATE_SPEECH: HarmBlockThreshold.BLOCK_NONE,
# HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: HarmBlockThreshold.BLOCK_NONE,
# HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: HarmBlockThreshold.BLOCK_NONE,
# }
google_model = glm.GenerativeModel(
model_name=model,
system_instruction=system_instruction
)
response = google_model.generate_content(
contents=history,
generation_config=glm.GenerationConfig(
**config_kwargs
),
stream=stream,
# safety_settings=safety_settings,
tools=self._convert_tools_to_glm_tool(tools) if tools else None
)
手順 2: コンテナの再起動
- ファイルの変更を保存します。
- コンテナの「Restart」ボタンをクリックして再起動します。
代替解決策
もし上記の方法で解決しない場合、以下の代替策を検討してください:
- Google Cloud のアカウントタイプを月次請求(インボイス)ベースに変更する。
- Google のアカウントチームに連絡し、
BLOCK_NONE
設定の使用許可を要請する。
Discussion