Re:ゼロから始めるML生活

どちらかといえばエミリア派です

Geminiで安全性属性に関するエラーが出たときの対応メモ

小ネタです。

Gemini-ProやGemini-flashを使っているときに、安全性に関するメッセージとともにエラーになることがあります。

このときの対処方法について調べてみたのでそのメモです。

エラー内容

cloud.google.com

大体この辺のメッセージと共にエラーになったら安全性のエラーを疑ったほうが良いです。

  • HARM_CATEGORY_SEXUALLY_EXPLICIT
  • HARM_CATEGORY_HATE_SPEECH
  • HARM_CATEGORY_HARASSMENT
  • HARM_CATEGORY_DANGEROUS_CONTENT

APIだったりGoogle AI Studioだったり、色々ありますので、この辺のメッセージが出たら怪しいくらいに覚えておきます。

対応

基本的には入出力するテキスト次第なので極力不適切な内容を回避するのが一番楽ではあります。 ただし、設定でどうにかなることもあります。

SafetySetting

出力が止めているのはSafetySettingってやつです。 これが既定値以上になるとGeminiから出力が帰ってこなくてエラーになります。

このしきい値を設定してあげることで出力なくなることを回避できたりします。

# Safety config
safety_config = {
    generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
}

こんな感じにそれぞれについてしきい値を設定してあげると、エラーのでやすさをコントロールすることができます。

ただし、BLOCK_NONE(確率によらず常に表示)のパラメータは使用するのに条件があるそうなのでドキュメントをご参照ください。

cloud.google.com

感想

以上、ちょっとエラーで引っかかったので備忘録でした。