NodeJS環境のGeminiのフィルタの設定を変更する

この記事は約5分で読めます。
スポンサーリンク

やりたいこと

Geminiでは暴力的なことや性的なことを返さないようにフィルタがかけられています。

フィルタを変更して暴力的なことや性的なことにも寛容になってもらいます。

Geminiの使用方法は以下にまとめています。

スポンサーリンク

前座

そもそもGeminiはいい子なのでフィルタにかかるようなことはなかなか返してきません。

上の回答はフィルタがかかっているからいい子の回答をしているのではなく、フィルタの設定に関係なく上記のように返答します。(もちろん全く同じ回答ではありませんが)

フィルタがかかるような回答をしてもらうには役割を演じてもらうといいようです。

実際にフィルタがかかると上のように何も回答が返ってきません。

コンソールを見るとブロックされたことがわかります。

スポンサーリンク

実装

HarmCategory, HarmBlockThresholdをインポートします

import { GoogleGenerativeAI, HarmCategory, HarmBlockThreshold } from "@google/generative-ai";

次に以下の呼び出しを変更します。

    const result = await model.generateContent(prompt);

修正後は以下のようになります。

    const result = await model.generateContent({
        contents: [
          {
            role: 'user',
            parts: [
              {
                text: prompt,
              }
            ],
          }
        ],
        safetySettings:[
            {
                "category": HarmCategory.HARM_CATEGORY_HARASSMENT,
                "threshold": HarmBlockThreshold.BLOCK_NONE
            },
            {
                "category": HarmCategory.HARM_CATEGORY_HATE_SPEECH,
                "threshold": HarmBlockThreshold.BLOCK_NONE
            },
            {
                "category": HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,
                "threshold": HarmBlockThreshold.BLOCK_NONE
            },
            {
                "category": HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
                "threshold": HarmBlockThreshold.BLOCK_NONE
            },
        ]
      })

ARM_CATEGORY_HARASSMENT 、HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT、HARM_CATEGORY_DANGEROUS_CONTENTのカテゴリーをBLOCK_NONE(フィルタなし)を設定しています。

</ph> これらのカテゴリは HarmCategory。「 Gemini モデルは HARM_CATEGORY_HARASSMENT のみをサポートします。 HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT、および HARM_CATEGORY_DANGEROUS_CONTENT。その他すべてのカテゴリが使用される PaLM 2(従来版)モデルでのみ可能です

以下のサイトに上記の記載がありHARM_CATEGORY_HARASSMENTのみがサポートされているように読み取れますがこれは誤訳です。正しくは”HARM_CATEGORY_HARASSMENT 、HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT、および HARM_CATEGORY_DANGEROUS_CONTENTのみをサポートします。”

Gemini API を使用してテキストを生成する  |  Google AI for Developers

シンプルな実装方法は以下のページを参考にしてください。

スポンサーリンク

結果

口げんかしてくれるようになりました。

スポンサーリンク

参考にさせていただいたサイト

自由で期間限定無料の Gemini API で遊ぶ(画像認識もできるし悪口も言わせられるぞ!)|ぶるぺん/blue.pen5805
Gemini って知ってますか? めちゃくちゃ適当な説明をすると Google の ChatGPT みたいなもんです それの Gemini Pro っていう中ボスぐらいのやつのAPI (なんかプログラムとかで呼べるやつ)が公開されたんですが、なんとこれが正式リリースまでの期間限定で無料で使えます ので、今回はこれを...
Gemini API を使用してテキストを生成する  |  Google AI for Developers
安全性設定  |  Gemini API  |  Google AI for Developers

コメント

タイトルとURLをコピーしました