ユーザーはフィルタ行など欲しくありません。500より大きい金額を日付の降順で並べると入力して、グリッドが変わるのを見たいのです。sgcWebSockets 2026.10はsgcHTMLにAI Data Packを追加します。グリッド、データテーブル、ピボットの上に置かれるクエリバーで、文章をフィルタ、並べ替え、グループ化、ハイライト、件数制限に変換します。
興味深いのは、モデルを呼び出すことそのものではありません。その答えがデータに届く前に何が起きるか、です。
たった2行
uses
sgcHTML_AI;
FAssistant := TsgcHTMLAIAssistant.Create(Self);
FAssistant.Provider := aiprOpenAI;
FAssistant.APIKey := ReadSetting('openai.key');
FGrid.AIAssistant := FAssistant;
FGrid.AIQueryEnabled := True;
配線はこれで全部です。バーがグリッドの上に現れ、質問は何が理解されたかを示すチップとして返ってきて、コントロール1つでそれを消せます。
APIキーがまったくなくても動きます
プロバイダーを未設定のままにしても、パックは答え続けます。ライブラリ内蔵のルールベースのパーサーが、人が実際に入力する質問を理解します:
500より大きい金額を日付の降順で並べる(amount greater than 500 sort by date desc)国でグループ化上位10件AとBの間、カンマ区切りの小数を含む- ハイライト要求
同じパーサーはプロバイダー呼び出しが失敗したときのフォールバックでもあり、AIユニットのないプラットフォームで動くのもこれです。そのため機能はエラーではなく役に立つものへと縮退し、トークン代を払わない顧客にも出荷できます。
マシンから外に出るもの
デフォルトでは、行データは出ません。リクエストが運ぶのは列名、そのキャプション、その型、そしてサンプル値3つだけです。それ以外は何もありません:
FAssistant.AllowRowDataToProvider := False; { the default }
FAssistant.MaxRows := 50; { when it is True }
これは明白な理由でも、それほど明白でない理由でも重要です。小さいリクエストの方が安く、速いのです。
検証がセキュリティ境界です
何が返ってきても、適用される前に自分自身の列と照合されます。すべての列名はホワイトリストと、すべての演算子は閉じた集合と、すべての値はその列の型に強制変換されて照合され、すべての上限は切り詰められます。何も残らなければセット全体が説明付きで消去され、モデルのテキストが決してページに届くことはありません。
その帰結ははっきり言っておく価値があります。指示を紛れ込ませようとする質問は何も生み出しません。エラーページも、部分的なフィルタも、何もありません。構築中にインジェクションプロンプトとスクリプトペイロードでテストし、それが今QAスイートが守っている挙動です。
クエリバーだけではありません
列アシスタント。 グリッドの列は行ごとに1つずつ提案を求めることができ、すべての提案は人が承認または却下できるように表示されます。人が決めるまでは何も書き込まれません。
フォームへのスマート貼り付け。 住所、メール署名、スプレッドシートの1行を貼り付けると、フォームがそれをフィールドにマッピングし、何が入力されたかを示します。
インラインプロンプト。 新しいTsgcHTMLComponent_InlineAIPromptは、フィールドの隣にある小さなポップオーバーです。質問し、答えを読み、承認または破棄します。
どのプロバイダー
7つで、プロパティは1つだけです:aiprOpenAI、aiprAnthropic、aiprGemini、aiprDeepSeek、aiprOllama、aiprGrok、aiprMistral。aiprOllamaとBaseUrlを使えば、全体が顧客自身のハードウェア上で動作し、建物の外には何も出ません。
その下にあるのが、このリリースのもう半分です。TsgcAIChatは今や、新しいChatJSONメソッドを通じて、これらのプロバイダーのどれにでもあなたが与えたスキーマに従うJSONで答えるよう求めることができます。このメソッドは答えを解析し、読み取れなかった場合はパースエラーを添えてもう一度尋ねます。これによって、構造化された答えは自分で拾い集めるものではなく、そのまま行動に移せるものになります。
実データで見る
新しいデモ18.AIDataは、約26,000件のあらかじめ用意された注文行に対して4ページを提供し、APIキーなしで動作し、どのエンジンがどの質問に答えたか、サーバーが何ミリ秒かかったかを表示します。データセットはSQLiteで、初回起動時に作成されるため、インストールするものは何もありません。
アップグレード
このパックはsgcHTMLの一部であり、アシスタントが割り当てられるまでは何もしません。AIAssistantのないグリッドは、以前とまったく同じマークアップをレンダリングします。
次に読む
動画で見る
この内容についての短い動画がeSeGeCeチャンネルにあります。
質問、フィードバック、移行のお手伝いが必要ですか?お問い合わせください — コードを書いた本人たちから返信が届きます。
