呼び出しサンプル
外部マクロから「HmOpenAiGpt.mac」を呼び出し、
「テキスト選択なしで、特定のタスクに特化したマクロ」や「メニューから機能選択してタスクを実行するマクロ」を作成することが出来るようになっています。
「HmOpenAiGptSample.mac」は、そのサンプルです。
一番簡単な例
以下のようなコードにすることで、
- 質問内容は「100と100を足すと?」となり、
- AIの返答が終わると、アウトプット枠へと(デバッグ)表示
するようになります。
jsmode @"WebView2\HmOpenAiGpt";
とするのを忘れないようにしてください。
onRequestQuestionText()
質問内容が要求された時に呼び出される、
onCompleteAnswerText(answer_text)
AIからの返答が完了した直後に呼び出される
の2つを提供しています。
関数が存在するだけでは呼び出されない、マクロ呼び出しの際に引数が必要
それぞれの関数を利用するよ、という意味で
といった記述があります。
1:その関数を利用する。
0:その関数は(定義してあったとしても)利用しない。
メニューなどを使うと便利になる
サンプルにあるように「メニュー」などを使って、
「選択テキスト」をどうしたいのか、
「あらかじめ登録してある処理内容」を選択することが出来るようになります。
onRequestQuestionText() の return に 文字列ではなく、true や false を返す意味。
- onRequestQuestionText() の return に false:
HmOpenAiGpt.mac の本体ある「メニューを出す処理やその関連処理」をまるまるスキップ出来ます。
- onRequestQuestionText() の return に true:
HmOpenAiGpt.mac の本体ある「メニューを出す処理やその関連処理」は実行されます。
全体のキャンセルなどを含めた場合分けをする場合には、ご自身のメイン関数(サンプルではmyEntryPoint)で行う
HmOpenAiGptを呼び出すかどうかも含めたmenuやinput を利用したい場合は、以下のようにするのが良いでしょう。
このサンプルが一番基本的な「外部マクロからHmOpenAiGptを呼び出すサンプル」になるかと思います。
全リセットを呼び出したい場合
以下のように hidemaru.setTimeout と onHtmlEventHandler("reset") を組み合わせ、
あたかもレンダリング枠のボタンを押したかのようにふるまうのば一番安全です。