Delphi、C++ Builder、.NET sgcUI の一部

sgcChat:Delphi、C++ Builder、.NET 向け AI アシスタントとチームチャットのコントロール

自社のアプリケーションの中に、チャットを組み込めます。sgcChat は AI アシスタントの回答を、Markdown、コードブロック、ツール呼び出しを含めて生成されるそばから表示し、プレゼンス、入力中表示、既読通知、リアクションでユーザー同士をつなぎます。同じコントロールが VCL、FireMonkey、WinForms、WPF、Avalonia で動作し、Markdown ビューアは単体でも利用できます。

ストリーミング回答に対応した AI アシスタントWebSocket によるチームチャットVCL、FMX、WinForms、WPF、AvaloniasgcUI Enterprise に含まれます
Result.AI := TsgcChatAI.Create(Result);
Result.AI.Conversation := Result.Conversation;
Result.AI.AssistantUserId := 'bot';
Result.AI.SystemPrompt := 'You are a helpful assistant.';
Result.AI.Provider := Result.Provider;
// the panel sends, stops, regenerates and edits through the binding
Result.Panel.AI := Result.AI;

チャットに必要なすべてを提供

以下は主な機能です。機能比較表では、すべての機能を一覧にしています。

AI アシスタント

AI チャットアプリケーションでおなじみの操作を備えた、あらゆる言語モデルとのチャットです。

AI アシスタント

ストリーミング回答、停止、再生成

AI の回答は小さな断片として届き、ユーザーは書かれていく途中から読みたいと考えます。TsgcChatAI は会話をプロバイダーに結び付け、履歴とシステムプロンプトを送信し、届いた断片を整形済みの Markdown としてすぐに表示します。プロバイダーはワーカースレッドで動作するため、ウィンドウは応答性を保ち、チャットパネルはすべての回答に対して停止、再生成、編集して再送信を提供します。

  • 回答の生成中はキャレットを表示する、ストリーミング Markdown
  • メッセージのアクションから、停止、再生成、編集して再送信
  • ツール名、引数、結果、実行中、完了、エラーの状態を示すツール呼び出しカード
  • 会話履歴を JSON として保存および読み込み

AI アシスタント

あらゆるプロバイダーに対応

sgcChat は特定の AI ベンダーに縛られません。TsgcChatAIProvider_AIChat は sgcWebSockets の TsgcAIChat に接続し、OpenAI、Anthropic、Gemini、DeepSeek、Ollama、Grok、Mistral と通信します。TsgcChatAIProvider_UICore はすべての sgcUI 製品が共有する AI プロバイダー層を使用し、TsgcChatAIEventProvider を使うと、独自のバックエンドからのストリーミングをイベントで処理できます。

  • TsgcChatAIProvider_AIChat による sgcWebSockets の AI プロバイダー
  • TsgcChatAIProvider_UICore による sgcUI の AI プロバイダー層
  • OnStream イベントによる独自のバックエンド

チームチャット

アプリケーションのユーザー同士が、自社のサーバー上で行うチャットです。

チームチャット

プレゼンス、入力中表示、既読通知、リアクション

サポートデスク、現場チーム、社内ツールには、ユーザーが使い慣れたチャットが必要です。チャットビューは、投稿者ごとにメッセージをアバターと名前でまとめ、オンライン、離席中、取り込み中の状態と入力中のユーザーを表示し、各メッセージを送信済み、配信済み、既読として示します。ユーザーはメッセージへの返信やリアクション、自分のメッセージの編集や削除、添付ファイルの送信ができます。

  • イニシャルまたは画像のアバターと、プレゼンスを示す点
  • グループ会話にも対応した、入力中表示と既読通知
  • リアクション、返信、編集済みおよび削除済みのメッセージ
  • 画像のサムネイルとファイルチップを備えた添付ファイル

チームチャット

あらゆるバックエンドに対応するトランスポートと WebSocket ブリッジ

チャットは特定のサーバーに依存しません。TsgcChatEventTransport は、すべてのメッセージ、入力状態の変化、既読通知、リアクションを、文書化された JSON フレームとしてコードに渡します。sgcWebSockets を使うと、TsgcChatTransport_WebSocket がクライアントを接続し、TsgcChatServer_WebSocket がチャンネル内のクライアント間でメッセージを中継し、各ユーザーのプレゼンスを管理して、後から参加したユーザーに直近のメッセージを送信します。

  • 独自のバックエンド向けに JSON ワイヤーフォーマットを使うイベントトランスポート
  • sgcWebSockets で構築した WebSocket クライアントと中継サーバー
  • 確認応答と再試行を伴い、メインスレッドで配信されるメッセージ

Markdown ビューア

チャットの吹き出しを支えるエンジンで、単独のコントロールとしても利用できます。

Markdown ビューア

コードブロックとコピーボタンを備えた Markdown

リリースノート、ヘルプテキスト、AI の回答は、Markdown で書かれることがよくあります。TsgcVCLMarkdownViewer と TsgcFMXMarkdownViewer は、見出し、強調、引用、リスト、タスクリスト、表、リンク、画像を表示し、Pascal、C#、C++、JavaScript、Python、JSON、SQL などのコードブロックをハイライトします。AppendMarkdown は届いたテキストを順次追加し、ユーザーはテキストやコードブロック全体を選択してコピーできます。

  • シンタックスハイライトとコピーボタンを備えたコードブロック
  • タスクリスト、表、引用、画像
  • AppendMarkdown と Flush によるストリーミング
  • 選択、Ctrl+C、OnLinkClick イベント

外観と対応範囲

テーマ、言語、支援技術、ウィンドウなしの出力に対応します。

外観と対応範囲

テーマ、右から左への表示、12 言語

チャットは sgcUI のライト、ダーク、Fluent テーマに従うため、アプリケーションの他の部分となじみます。アラビア語やヘブライ語の会話は左右が反転し、自分のメッセージが左側に表示されます。コントロールのテキストは、英語、スペイン語、ドイツ語、フランス語、イタリア語、ポルトガル語 (ブラジル)、オランダ語、ポーランド語、トルコ語、日本語、韓国語、中国語に翻訳されています。

  • ライト、ダーク、Fluent テーマ
  • 右から左への会話表示
  • 12 言語のコントロールテキスト

外観と対応範囲

アクセシビリティとヘッドレス出力

Windows では、チャットビューがスクリーンリーダー向けのメッセージ一覧として公開され、各メッセージの投稿者と時刻を読み上げます。Markdown ビューアもテキストを公開します。会話モデル、Markdown ドキュメント、ビューは VCL や FireMonkey に依存しないため、サービスはウィンドウなしで、Linux64 でも、会話や Markdown ドキュメントを SVG や PNG にレンダリングできます。

  • チャットビュー、Markdown ビューア、入力欄に対応した UI Automation
  • 会話や Markdown ドキュメントの SVG と PNG 出力
  • Windows と、Delphi 10.2 以降の Linux64 で動作するフレームワーク非依存のユニット

sgcChat で開発しているのは誰か

業務アプリケーションに組み込む AI アシスタント

ERP、CRM、エンジニアリングのアプリケーションに、画面上のデータについて質問に答えるアシスタントを追加できます。アシスタントはコードや表を含む回答をストリーミングし、アプリケーションのツールを呼び出して各呼び出しをカードとして表示します。ユーザーはいつでも回答を停止したり再生成したりできます。

  • ストリーミング Markdown
  • ツール呼び出しカード
  • あらゆる AI プロバイダー
AIAssistant デモを実行

自社サーバー上のチームチャット

サポートデスク、配車、フィールドサービスのアプリケーションでは、サードパーティのサービスを使わずに、ユーザー同士が会話できます。WebSocket の中継サーバーは自社のサービス内で動作し、クライアントはプレゼンス、入力中表示、既読通知、リアクションを表示します。

  • WebSocket 中継サーバー
  • プレゼンスと既読通知
  • 添付ファイル
TeamChat デモを実行

デスクトップアプリケーションでの Markdown コンテンツ

Markdown で書かれたリリースノート、ヘルプページ、メッセージを、アプリケーションの他の部分と同じ外観で表示します。ハイライトされたコードは、ワンクリックでコピーできます。

  • Markdown ビューア
  • コードのハイライト
  • テーマ
MarkdownViewer デモを実行

チャットを AI プロバイダーに接続

sgcWebSockets 経由で OpenAI を使って回答するか、独自のチームチャットサーバーを実行します。

TsgcChatAIProvider_AIChat は、TsgcChatAI バインディングを sgcWebSockets の TsgcAIChat に接続します。Provider を変更すると、Anthropic、Gemini、DeepSeek、Ollama、Grok、Mistral を利用できます。

uses
  SysUtils, Classes,
  // sgcWebSockets
  sgcAI, sgcAI_Chat,
  // sgc
  sgcChat_AI, sgcChatWS_AI;

procedure UseOpenAI(aAI: TsgcChatAI; const aApiKey: string);
var
  oChat: TsgcAIChat;
  oProvider: TsgcChatAIProvider_AIChat;
begin
  oChat := TsgcAIChat.Create(aAI.Owner);
  oChat.Provider := aicpOpenAI;
  oChat.ChatOptions.ApiKey := aApiKey;
  oChat.ChatOptions.Model := 'gpt-4o-mini';

  oProvider := TsgcChatAIProvider_AIChat.Create(aAI.Owner);
  oProvider.Chat := oChat;

  aAI.Model := oChat.ChatOptions.Model;
  aAI.Provider := oProvider;
end;

中継サーバーは、サービスまたはコンソールプログラムで動作します。各クライアントは TsgcChatTransport_WebSocket でチャンネルに接続します。

// the relay, in a service or a console program
function CreateRelay(aOwner: TComponent; aPort: Integer)
  : TsgcChatServer_WebSocket;
var
  oServer: TsgcWebSocketServer;
begin
  oServer := TsgcWebSocketServer.Create(aOwner);
  oServer.Port := aPort;
  // the relay needs no main thread
  oServer.NotifyEvents := neNoSync;

  Result := TsgcChatServer_WebSocket.Create(aOwner);
  Result.Server := oServer;
  // the last 100 messages of every channel go to late joiners
  Result.HistoryCount := 100;

  oServer.Active := True;
end;

.NET のコントロールも同じ名前を使用します。このフォームは TsgcWinFormsChatPanel をホストしています。WPF と Avalonia のパネルも同じように動作します。

FConversation = new TsgcChatConversation();
FConversation.Users.Add("me", "You");
FConversation.Users.Add("bot", "Assistant");
FConversation.CurrentUserId = "me";

FPanel = new TsgcWinFormsChatPanel();
FPanel.Dock = DockStyle.Fill;
FPanel.Conversation = FConversation;
FPanel.Title = "Assistant";
FPanel.HeaderUserId = "bot";
Controls.Add(FPanel);

FProvider = new TsgcChatAIEventProvider();
FProvider.OnStream += DoStream;

FAI = new TsgcChatAI();
FAI.Conversation = FConversation;
FAI.AssistantUserId = "bot";
FAI.SystemPrompt = "You are a helpful assistant.";
FAI.Provider = FProvider;
// the panel sends, stops, regenerates and edits through the binding
FPanel.AI = FAI;

sgcChat のデモを実行

デモプロジェクトは、Delphi と C++ Builder 向け sgcUI 体験版と一緒にインストールされます。.NET のデモは、Registered 版の .NET ダウンロードに含まれています。以下の画像は、sgcChat のヘッドレス出力でレンダリングしたものです。

ツール呼び出しカードとハイライトされた Pascal コードブロックを含む AI アシスタントの会話

AIAssistant

AI プロバイダーにバインドしたチャットパネルです。ストリーミング回答、停止、再生成、編集して再送信、ツール呼び出しカードに対応します。VCL と FireMonkey、および C++ Builder 版があります。

ダークの Fluent テーマで表示した同じ AI アシスタントの会話

ダークテーマ

ダークの Fluent テーマで表示した同じ会話です。チャットは sgcUI のライト、ダーク、Fluent テーマに従います。

アバター、プレゼンス、リアクション、既読通知、入力中表示を備えたチームチャット

TeamChat と TeamChatServer

VCL クライアントと、sgcWebSockets 上のコンソール中継サーバーです。プレゼンス、入力中表示、既読通知、リアクション、返信、添付ファイルに対応します。

見出し、リスト、引用、表、コードブロックを表示した Markdown ビューア

MarkdownViewer

単体で動作する Markdown ビューアです。ストリーミング回答をシミュレートします。VCL と FireMonkey、および C++ Builder 版があります。

ダークの Fluent テーマで表示した Markdown ビューア

.NET デモ

WinForms、WPF、Avalonia 向けの MarkdownViewer、AIAssistant、TeamChat と、TeamChatServer 中継サーバーです。

sgcChat が含まれる製品

sgcChat は sgcUI Enterprise とAll-Access バンドルに含まれています。sgcUICore と sgcRichEdit が必要で、どちらも含まれており、インストーラーは sgcRichEdit と sgcPDF を一緒にインストールします。無料の Community 版はありません。

sgcUI Enterprise

sgcChat、sgcRichEdit、sgcPDF を含む、すべての sgcUI 製品が €699 から利用できます。

Enterprise を見る →

All-Access

sgcUI Enterprise と sgcWebSockets を含む、eSeGeCe のすべての製品が利用できるため、sgcChat の AI プロバイダーと WebSocket ブリッジをそのまま使えます。

All-Access を見る →

対応フレームワークとプラットフォーム

sgcChat のコンポーネント

VCL

TsgcVCLChatPanel、TsgcVCLChatView、TsgcVCLChatInput、TsgcVCLMarkdownViewer。

FireMonkey

TsgcFMXChatPanel、TsgcFMXChatView、TsgcFMXChatInput、TsgcFMXMarkdownViewer。

.NET

WinForms、WPF、Avalonia 向けの同じコントロール。TsgcWinFormsChatPanel、TsgcWpfChatPanel、TsgcAvaloniaChatPanel など。

AI とトランスポート

プロバイダーを備えた TsgcChatAI、TsgcChatEventTransport、そして TsgcChatTransport_WebSocket と TsgcChatServer_WebSocket による sgcWebSockets ブリッジ。

ターゲットコンポーネントバージョンとプラットフォーム
Delphi 7 から 13VCL コントロール、モデル、AI とトランスポートのユニットWin32、および Delphi XE2 以降の Win64
C++ Builder 2007 から 13同じクラス生成された .hpp ヘッダーと静的ライブラリ
FireMonkeyTsgcFMXChatPanel とその他の FireMonkey コントロールDelphi XE6 以降
Linux64モデル、Markdown ドキュメント、ビュー、AI とトランスポートのコア、SVG と PNG 出力Delphi 10.2 以降、ヘッドレス
.NET コアライブラリesegece.sgcChat.NET Standard 2.0、.NET Framework 4.7.2、.NET 6、8、9、10
WinForms と WPFTsgcWinFormsChatPanel、TsgcWpfChatPanelWindows 上の .NET Framework 4.7.2、.NET 8、9、10
AvaloniaTsgcAvaloniaChatPanel.NET 8、9、10

よくある質問

sgcWebSockets を使う場合、TsgcChatAIProvider_AIChat は TsgcAIChat を使用し、OpenAI、Anthropic、Gemini、DeepSeek、Ollama、Grok、Mistral に対応します。使わない場合は、TsgcChatAIProvider_UICore 経由で sgcUI の AI プロバイダー層を使うか、TsgcChatAIEventProvider の OnStream イベントで任意のバックエンドからストリーミングしてください。

ブリッジを使う場合だけです。WebSocket トランスポートと中継サーバーには sgcWebSockets が必要で、TsgcChatAIProvider_AIChat には、その AI コンポーネント (Enterprise エディションまたは AI パック) が必要です。Markdown ビューア、チャットのコントロール、AI バインディング、イベントトランスポートは、sgcWebSockets なしで動作します。

ありません。sgcChat は sgcUI Enterprise と All-Access に含まれています。.NET パッケージは Registered 版のみで、nuget.org では公開されていません。sgcUI 体験版でお試しください。

はい。TsgcVCLMarkdownViewer と TsgcFMXMarkdownViewer は単独のコントロールです。Markdown を設定するとテキストを表示し、AppendMarkdown を呼び出すと、届いたテキストを順次追加できます。

フレームワーク非依存のユニットは、Delphi 10.2 以降の Linux64 でコンパイルできます。会話モデル、Markdown ドキュメント、ビュー、AI とトランスポートのコアで、SVG と PNG 出力に対応します。Linux 向けのコントロールはありません。

はい。sgcUI Enterprise のライセンスには、ソースコード一式と 1 年間のアップデートが含まれます。sgcUI の価格ページをご覧ください。

sgcChat ヘルプ

オンラインヘルプ

Delphi、C++ Builder、.NET 向けの sgcUI ヘルプです。

PDF マニュアル

Delphi、C++ Builder、.NET。すべての sgcUI 製品を網羅しています。

3,000+開発者
20+年
761+コンポーネント
30+API 連携
5プラットフォーム
30日間返金保証ご満足いただけない場合は、ご購入から30日以内に全額返金をリクエストできます。 返金ポリシーを見る

今すぐ sgcChat をお試しください

sgcUI の体験版には、sgcChat、sgcRichEdit、その他すべての sgcUI 製品が含まれています。