bricks/docs/ja/llmout.md
2025-11-19 12:30:39 +08:00

4.1 KiB
Raw Blame History

UserInputView

コントロール機能ユーザーが入力したデータテキスト、画像、音声、動画などをMarkdown形式で表示します。音声・動画メディアデータは独立したプレーヤー形式で表示されます。
タイプ:コンテナーコントロール
親クラスbricks.VBox

初期化パラメータ

  • opts (Object) - 設定オプション。VBoxの汎用パラメータを継承
    • data (Object) - ユーザー入力の生データオブジェクト。キーと値はそれぞれフィールド名とその値に対応。
    • input_fields (Array) - フィールド定義配列。各フィールドは以下のプロパティを含みます:
      • name (String) - フィールド名(例:video1, audio2, image3、通常のテキストなど)
      • label (String, オプション) - 表示用ラベル。Markdownでの見出し表示に使用。

注意:data 内のファイルBlobオブジェクトは URL.createObjectURL() を使ってプレビュー可能なURLに変換されます。

主なイベント

明示的なカスタムイベントはありません。show_input(data) が呼び出された際に自動的にコンテンツレイアウトが更新されます。


LlmOut

コントロール機能大規模言語モデルから返されるJSONデータに基づき、応答内容のインターフェースを動的に構築します。推論テキスト、回答内容、エラーメッセージ、音声、動画、画像など複数のタイプのコンテンツをレンダリングできます。
タイプ:コンテナーコントロール
親クラスbricks.VBox

初期化パラメータ

  • opts (Object) - 設定オプション。VBoxの汎用パラメータを継承しており、特別なコンストラクタパラメータはありません。

内部ステート属性(update(data) メソッドによって管理):

  • reasoning_content (String) - 累積された推論プロセスのテキスト。
  • content (String) - 累積された最終回答の内容。
  • error (String) - エラーメッセージテキスト。
  • images (Array) - 画像URLのリスト。
  • 各メディアコントロールのインスタンス:rc_w, c_w, v_w, a_w, i_w など。

主なイベント

update(data)

発火条件:新しい大規模モデルの出力データを受け取ったときに手動でこのメソッドを呼び出します。

パラメータ data (Object) は以下の任意のプロパティをサポート:

プロパティ 説明
reasoning_content String 推論プロセスのテキスト。通常はMarkdown形式でレンダリングされます。
content String 最終的な応答内容。Markdown対応。
error String エラーメッセージ。赤色のスタイルで表示されます。
audio String 音声リソース。URLまたはBase64エンコード文字列が可能。プロトコル接頭辞は自動処理されます。
video String 動画リソース。URLまたはBase64をサポート。
image String または Array[String] 単一または複数の画像URL。

動作説明

  • 新しいコンテンツは既存のフィールドに自動的に追加(アペンドモード)されます。
  • メディアリソースが初めて現れた場合、対応するプレーヤーコンポーネントAudioPlayer / VideoPlayerが作成されます。以降の更新では、その add_url() メソッドが呼び出されます。
  • すべてのコンテンツは次の順序でコンテナーに追加されます:エラー → 推論内容 → 回答内容 → 動画 → 音声 → 画像。
  • 古いコンポーネントを clear_widgets() でクリアした後、再描画することでビューの一貫性を保ちます。

登録情報:このコントロールは bricks.Factory.register('LlmOut', bricks.LlmOut) により登録されており、設定ベースでの生成が可能です。