1-3-3. Blocks

Blocks では、ブロック(Block)に対する設定、制御を行います。

ブロックとは、本プラグインによって出力される表示先の単位のことです。

「ブロック」部分の設定の一例です

Block (n)

作成されているブロックがパネルヘッダーに表示されます。

このブロック番号(n)は変更できません。

ブロックパネルヘッダー

これらは、パネル内で設定済みの内容をインジケーターとして表示しているものです。

パネルが閉じている場合でも認識しやすい状態としています。

  • On または Off
  • Real または Already
  • クラス名

Trash(右上の赤いゴミ箱マーク)

該当Blockを削除します。

複数ブロックが有る状態での中間Blockの削除は、Blockの番号が欠けた状態になります。

Duplicate 開発中

新規ブロックを追加する際に、既存ブロックからコピーして複製します。

ブロック – On / Off / Block – On / Off

この要素の表示、非表示を設定します。

On の場合は、対象要素が表示されます。

Off の場合は、対象要素は表示されません。

モード / Mode

Real ページ表示時(実行時)に、常にChatGPTと通信しメッセージを取得して表示します。

Already 保存されている既存のメッセージ(Generated)を用いて表示します。

ブロック内の設定状態について

全てのブロックの設定状態は「変更を保存」ボタンをクリックして保存するようになっています。

これらは見直しをしており、ブロック – On / Off、モード、等は設定の切替後にダイレクトに保存が行えるように検討中です。

クラス名 / Class Name

生成した応答メッセージの表示対象となるHTML要素の「クラス名」です。

HTMLの仕様に基づいた英数字等で指定する必要があります。

例として、`ai_block_1` を指定した場合は下記のように利用します。

投稿、固定ページなどで「カスタムHTML」ブロックを作成し、HTMLコードを入力して利用します。

<class="ai_block_1"></div>

クラス名、HTMLコード、はそれぞれをクリックすると、値がクリップボードにコピーされます。

必要に応じて、編集 をクリックして変更することも出来ます。

ここで設定した「クラス名」の要素が、同一ページ内に2つ以上存在している場合は、複数の要素に同じ表示を行うようになります。

本Class Name(クラス名)は、設定画面内のブロック全体でユニークである必要があります。

現在の挙動は、ai_block_n の末尾番号がブロック(n) に応じてインクリメントされる仕様としています。

編集を行う際、複数のブロックにまたがり同じClass Name(クラス名)を設定した場合は、正常に動作いたしませんのでご注意ください。

技術要素

クリップボードコピーについて

Clipboard.writeText() を使用しています。

対応ブラウザのバージョンは下記を想定しています。

ブラウザーバージョン年度
Google Chrome66以上2018年4月
Mozilla Firefox63以上2018年10月
Microsoft Edge79以上2020年1月
Safari14.1以上2021年4月
Opera53以上2018年6月
Brave1.17以上2021年5月
Vivaldi1.14以上2018年1月

セキュアではない`HTTP環境`の場合、ブラウザのセキュリティ制約等では、正常に動作しませんのご了承ください。

Cannot read properties of undefined (reading ‘writeText’)

メッセージ(ユーザーロール) / Message (User role)

ここに最初のメッセージを入力します。

生成 ボタンをクリックするとChatGPTより応答が得られます。

キーワードを入力する場合に区切りとして半角スペースを使うことを推奨します。

この事は、Tokenizer による検証を行った当社の見解であり、日本語をメッセージとして送信する場合にTokensを少しでも節約するためのあくまでも推奨事項です。

次のキーワードからキャッチフレーズを書いてください 観光案内 横浜 みなとみらい 観覧車

生成 / Generate

ChatGPTへメッセージを送信します。

メッセージに何かしら文字を入力することでクリック出来るようになります。

生成結果 / Generated

ChatGPTからの応答が表示されます。

注意点

点滅したままで表示が遅い場合

  • 状況によっては表示に遅れが生じる場合があります。10秒から20秒かかることがあります。
  • 最終的には応答が得られない場合も有ります。50秒程で「ChatGPT is very busy... 」と表示れます。この場合は応答を得ることに失敗している可能性が高いため、もう一度 Generate ボタンをクリックしてください。

編集時

  • HTMLコード等の特殊文字を入力しても、表示側には正常に反映出来ません。
    表示箇所のフォント色等のスタイルを適用したい場合は、別途クラス名に対してCSSを施工してください。

Cross Mark 失敗となる場合

稀にChatGPTからの応答メッセージが空文字、または下記のようになる場合があります。

空文字になる場合にはキャレット点滅が終了して何も出力されません。

このような場合は改めて 生成 をクリックしてみてください。

Generate後に失敗となる場合

Details

ここでは、ChatGPTへの詳細パラメーターを指定して 生成 することができます。

多くのケースでは必要有りませんが、ChatGPTをより詳細に使ってみたい方向けに構成しています。

On または Off は有効 または 無効を示します。

初期値は Off ですが、必要に応じて On に設定します。

Off の状態では、ChatGPT側ではデフォルト値で処理されるような設計となっています。

メッセージ(システムロール) / Message (System role)

応答メッセージの持続性を期待したい場合に On にしてみてください。

この内容は、最後に送信したメッセージに対する応答を引き継ぐためのものです。

ユーザーからの最初のメッセージは”User Role”で送信します。

初めの送信の際には”System Role”でメッセージを送ることに意味はありません。

前回の応答メッセージを”System role”にメッセージを加えて送信すると、APIは前回の応答メッセージに対するフォローアップとして、新しい質問に対して適切な応答を生成することが期待されています。

これらの応答を期待しない場合には Clear をクリックしてください。

max_tokens

応答メッセージの語尾が尻切れになるケースなどに置いては数値を上げてみることをおすすめします。

生成される完成文書に含まれるトークンの最大数を指定するパラメーターです。

「prompt」に含まれるトークンの数に「max_tokens」を足した数が、モデルのコンテキスト長を超えてはいけません。ほとんどのモデルのコンテキスト長は2048トークンであり、最新のモデルは4096トークンに対応しています。つまり、「prompt」に含まれるトークンの数が「max_tokens」によって指定された数に達した時点で、完成文書が生成されます。ただし、モデルによっては、「stop」パラメーターなどの別の条件が満たされるまで生成を続ける場合があります。

temperature

生成されたテキストにランダムな要素を加えるためのパラメーターの一つです。

具体的には、temperatureが高いほど、生成されるテキストがより創造的で、予測不能になります。

逆にtemperatureが低いほど、生成されるテキストはより予測しやすくなり、より合理的である傾向があります。

ただし、temperatureを高くしすぎると、無意味な出力が生成される可能性があります。通常、0.5〜1.0の値が使われますが、目的やコンテキストに応じて調整されます。

top_p

生成されるテキストの多様性を制御するためのパラメーターの一つです。

具体的には、生成されるテキストの各単語の出現確率を計算し、上位から順に足し合わせた際に、その合計確率が指定されたしきい値以下になるように、生成される単語を選択するという仕組みです。つまり、top_pが低いほど、生成されるテキストの多様性が低くなり、より高い確率でよく出現する単語が選択されます。

一方、top_pが高いほど、生成されるテキストの多様性が高くなり、より稀に出現する単語も選択される可能性があります。通常、0.1〜0.9の値が使われますが、目的やコンテキストに応じて調整されます。

APIマニュアルには、top_pのデフォルト値が1となっていると記載されていますが、実際にはデフォルト値が0.9であることが報告されています。ですので、top_pを明示的に指定しなかった場合、0.9が適用されます。

ただし、top_pを高くしすぎると、不適切な内容が生成される可能性があることに注意してください。また、top_pの値が低すぎると、生成されるテキストが単調になってしまう可能性があるため、適切な値を選択することが重要です。

n 開発中

複数の応答メッセージを一度に受け取るためのものです。
(開発中のため、現在は一つの応答メッセージのみを表示しています。数値を増やした場合、応答に時間がかかります)

APIが生成する応答の数を指定するために使用されます。

具体的には、APIが生成する応答の数を1つ以上指定することができます。

たとえば、”n”を2に設定すると、APIは2つの異なる応答を生成して返信します。デフォルトの設定では、”n”の値は1に設定されています。

なお、”n”パラメータは、APIの出力結果に対する多様性を増やすために使用されることがあります。複数の異なる応答を生成することで、APIの出力結果の多様性が増し、より自然な会話を実現することができます。

ただし、”n”の値が大きくなるほど、APIからの応答の取得にかかる時間が増える可能性があることにも注意が必要です。