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

7.5 KiB
Raw Blame History

LlmMsgAudio

コントロール機能:音声メッセージストリームを処理し、中国語および非中国語の句読点による分節に対応。モデルから返された音声応答をオーディオプレーヤーで再生します。
タイプ:通常コントロール
親コントロールbricks.UpStreaming

初期化パラメータ

パラメータ名 説明
opts Object 親クラスに渡される設定オプション。UpStreaming が処理します。

注意:このコントロール内部では以下のプロパティが初期化されています。

  • olddata / data:テキストデータを蓄積するための変数
  • cn_p / other_p:中国語および英語でよく使われる句読点の配列
  • audioAudioPlayer({}) で作成されたオーディオ再生インスタンス

主なイベント

明示的なイベントバインドはありませんが、以下のメソッドがデータストリーム処理のために上書きされています:

  • send(data):増分テキストを受け取り、言語ごとの句読点に基づいて分割し、再生可能なセグメントを送信
  • go():リクエストを発行し、応答内容に基づいてオーディオソースを設定して音声を再生

ModelOutput

コントロール機能大規模モデルの出力内容を表示。動的更新、実行状態の表示、ユーザー評価「いいね」「よくないね」、およびTTS音声再生機能をサポートしています。
タイプ:コンテナコントロール
親コントロールbricks.VBox

初期化パラメータ

パラメータ名 必須 説明
opts.modelname String 表示するモデル名
opts.icon String モデルアイコンのURL。省略時はデフォルトのLLMアイコンを使用
opts.response_mode String 応答モード:stream, sync, async
opts.estimate_url String ユーザー評価いいねよくないねを送信するAPIアドレス
opts.textvoice Boolean 音声読み上げ機能を有効にするかどうか
opts.tts_url String 音声生成に使用するTTSサービスのAPIアドレス

主なイベント

イベント名 発火条件 コールバック関数
click (on like icon) ユーザーが「いいね」アイコンをクリック estimate_llm(icon, 1)
click (on unlike icon) ユーザーが「よくないね」アイコンをクリック estimate_llm(icon, -1)

その他の動作:

  • update_data(data):モデル出力データを受け取り、表示内容を更新
  • finish():ストリーム終了時に呼び出され、現時点ではログ出力のみ

LlmModel

コントロール機能:単一の大規模モデルの呼び出しロジックをカプセル化。入力前処理、リクエスト送信、応答ストリーム処理、結果レンダリングを含みます。同期/ストリーム/非同期など複数のインタラクションモードをサポート。
タイプ:通常コントロール
親コントロールbricks.JsWidget

初期化パラメータ

パラメータ名 必須 説明
llmio Object はい 所属する LlmIO インスタンス。設定の共有に使用
opts.model String はい モデル識別子
opts.modelname String はい 表示用名称
opts.url String はい モデルAPIアドレス
opts.icon String カスタムアイコンパス
opts.params Object 追加のリクエストパラメータ
opts.user_message_format String ユーザーメッセージテンプレート形式
opts.system_message_format String システムメッセージテンプレート形式
opts.llm_message_format Object アシスタントメッセージの構造定義
opts.use_session Boolean 会話コンテキストを保持するかどうか
opts.input_from String 入力元の識別子
opts.textvoice Boolean 音声出力を有効にするかどうか
opts.tts_url String TTSインターフェースアドレス
opts.response_mode String はい リクエストモード:stream, sync, async

主なイベント

イベント名 発火条件 コールバック関数
click (on title) モデルタイトル領域をクリック show_setup_panel(event) —— サブクラスで拡張可能

内部主要メソッド:

  • model_inputed(data):入力データ受信後にモデルリクエストをトリガー
  • chunk_response(mout, line):ストリーム応答内の各データチャンクを処理
  • is_accept_source(source):特定のソースからのデータを受け入れるかどうかを判定

LlmIO

コントロール機能全体のLLM対話インターフェースの中心となるコンテナ。複数のモデルインスタンス、入力ポップアップ、知識ベース設定、ユーザー入力および出力表示を管理。複数モデルの協調動作を統一的に制御する入口を提供。
タイプ:コンテナコントロール
親コントロールbricks.VBox

初期化パラメータ

パラメータ名 必須 説明
opts.user_icon String ユーザーアイコンのURL
opts.list_models_url String 使用可能なモデル一覧を取得するAPIアドレス
opts.input_fields Array はい フォームフィールド定義prompt、temperatureなど
opts.models Array はい 初期ロードするモデル設定の配列
opts.tts_url String グローバルTTSサービスアドレス
opts.get_kdb_url String 知識ベース一覧を取得するAPIアドレス
opts.estimate_url String ユーザーフィードバック送信アドレス
opts.enabled_kdb Boolean 知識ベース強化機能を有効にするかどうか

models の例:

{
  model: "qwen",
  modelname: "通義千問",
  url: "/api/llm/qwen",
  response_mode: "stream"
}

主なイベント

イベント名 発火条件 コールバック関数
click (i_w) 入力ボタンをクリック open_input_widget(event) —— 入力フォームをポップアップ
click (nm_w) モデル追加ボタンをクリック open_search_models(event) —— モデル選択パネルをポップアップ
click (kdb_w) 知識ベース設定ボタンをクリック setup_kdb(event) —— KDB設定フォームを開く
submit (in form) ユーザーが入力フォームを送信 handle_input(event) —— 入力を各モデルに配布
record_click (in Cols) モデルレコードを選択 add_new_model(event) —— 新しいモデルインスタンスを追加
submit (in kdb form) 知識ベース設定を送信 handle_kdb_setup(event) —— 設定を保存して適用

その他の主な動作:

  • show_input(params):チャットエリアにユーザー入力を表示
  • show_added_model(m):新しいモデルインスタンスを登録・表示