sgcAI 您的 Delphi 应用, 现在就是 AI 应用。 无需 Python 桥接。

十五个面板组件,把大语言模型、Model Context Protocol、嵌入向量、向量搜索和语音直接带入您的 Delphi 或 C++ Builder 应用程序。一个聊天组件通过单个属性即可接入 OpenAI、Anthropic、Google Gemini、xAI Grok、DeepSeek、Mistral 和 Ollama。无需外部运行时,目标机器上也不需要额外安装任何东西。

十行代码向模型提出第一个问题 →
  • Delphi
  • C++ Builder
  • 7 LLM providers
  • MCP 客户端和服务器
  • Windows Win32 和 Win64
  • 完整源代码
  • 15同一个面板页上的面板组件
  • 7一个属性背后的 LLM 提供商
  • 3语音引擎:系统、Google、Amazon Polly
  • 2向量存储:本地文件和 Pinecone
  • 1统一 API,面向每家厂商都是相同的调用
看它运行

两分钟看懂 sgcAI。

带解说和字幕的演示,展示组件如何完成实际工作。从列表中选择一个即可。在您点击播放之前不会下载任何内容。

提供商

七家厂商,一个 Provider 属性。

这并不是七个组件,而是 TsgcAIChatProvider的七个取值,因此更换厂商只需改一处赋值,其他都不用动。同样的 Chat、 ChatStream 和 ChatAsync 调用、同样的历史记录处理和同样的事件,适用于所有厂商。

  • OpenAIaicpOpenAI

    通过 Chat Completions API 使用 GPT 模型。

  • AnthropicaicpAnthropic

    通过 Messages API 使用 Claude 模型,流式输出和历史记录处理与其他提供商相同。

  • Google GeminiaicpGemini

    通过 Google Generative Language API 使用 Gemini 模型。

  • DeepSeekaicpDeepSeek

    deepseek-flash and deepseek-v4-pro.

  • OllamaaicpOllama

    本地模型。将 ChatOptions.BaseUrl 指向您的 Ollama 主机,数据不会离开这台机器。

  • xAI GrokaicpGrok

    通过 xAI API 使用 Grok 模型。

  • MistralaicpMistral

    通过 Mistral API 使用 Mistral 模型。

  • 兼容 OpenAI 的端点

    Azure OpenAI、Groq、Together、LM Studio、vLLM 和 llama.cpp 服务器。更换端点和 API 密钥,代码保持不变。

向量存储也在覆盖范围内,嵌入向量可写入本地文件存储或 Pinecone。请参阅 嵌入向量、 文件向量数据库 和 Pinecone。

快速入门

十行 Delphi 代码,令牌显示在屏幕上。

选择一个提供商,设置密钥和模型,然后调用 Chat。以后切换到其他厂商,只需改一处赋值。

uses
  sgcAI, sgcAI_Chat;
var
  oChat: TsgcAIChat;
  vAnswer: string;
begin
  oChat := TsgcAIChat.Create(nil);
  oChat.Provider := aicpAnthropic;
  oChat.ChatOptions.ApiKey := 'sk-ant-...';
  oChat.ChatOptions.Model := 'claude-sonnet-4-5';
  oChat.SystemMessage := 'You are a Delphi expert. Answer in one paragraph.';
  vAnswer := oChat.Chat('How do I keep a WebSocket connection alive?');

  // Same code, different vendor: one property and one key.
  oChat.Provider := aicpOpenAI;
  oChat.ChatOptions.ApiKey := 'sk-...';
  oChat.ChatOptions.Model := 'gpt-6-astra';
  vAnswer := oChat.Chat('Same question, different model.');
end;
// includes: sgcAI.hpp, sgcAI_Chat.hpp
TsgcAIChat *oChat = new TsgcAIChat(NULL);
oChat->Provider = aicpAnthropic;
oChat->ChatOptions->ApiKey = "sk-ant-...";
oChat->ChatOptions->Model = "claude-sonnet-4-5";
oChat->SystemMessage = "You are a Delphi expert. Answer in one paragraph.";
String vAnswer = oChat->Chat("How do I keep a WebSocket connection alive?");

// Same code, different vendor: one property and one key.
oChat->Provider = aicpOpenAI;
oChat->ChatOptions->ApiKey = "sk-...";
oChat->ChatOptions->Model = "gpt-6-astra";
vAnswer = oChat->Chat("Same question, different model.");
  // Token by token, delivered on OnChatStream.
  oChat.OnChatStream := OnChatStreamHandler;
  oChat.ChatStream('Now explain it to a beginner.');
end;

procedure TForm1.OnChatStreamHandler(Sender: TObject;
  const aChunk: string; var Cancel: Boolean);
begin
  Memo1.Text := Memo1.Text + aChunk;
  Cancel := StopRequested;   // abort a long generation
end;
uses
  sgcHTTP_API_Anthropic;

procedure TForm1.Ask;
begin
  FClaude := TsgcHTTP_API_Anthropic.Create(nil);
  FClaude.AnthropicOptions.ApiKey := 'sk-ant-...';
  FClaude.AnthropicOptions.AnthropicVersion := '2023-06-01';
  FClaude.OnHTTPAPISSE := OnDelta;

  FClaude._CreateMessageStream('claude-3-5-sonnet-latest',
    'Summarise order 10248 for the customer.', 1024);
end;

procedure TForm1.OnDelta(Sender: TObject; const aEvent, aData: string;
  var Cancel: Boolean);
begin
  Memo1.Text := Memo1.Text + aData;
end;
// sgcWebSockets .NET
using esegece.sgcWebSockets;

var claude = new TsgcHTTPAPI_Anthropic();
claude.AnthropicOptions.ApiKey = "sk-ant-...";
claude.AnthropicOptions.AnthropicVersion = "2023-06-01";

// .NET has no per-delta event: the streaming call returns the full text
Console.Write(claude._CreateMessageStream("claude-3-5-sonnet-latest",
    "Summarise order 10248 for the customer.", 1024));
uses
  sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Types;
var
  oMCP: TsgcWSAPIClient_MCP;
begin
  oMCP := TsgcWSAPIClient_MCP.Create(nil);
  // Remote server over streamable HTTP.
  oMCP.MCPOptions.Transport := aimcptrHttpStreamable;
  oMCP.MCPOptions.HttpOptions.URL := 'https://mcp.example.com/mcp';
  oMCP.MCPOptions.ClientInfo.Name := 'sgc-mcp-client';
  oMCP.MCPOptions.ClientInfo.Version := '1.0.0';
  oMCP.OnMCPListTools := MCPListTools;
  oMCP.OnMCPResponseTool := MCPToolResponse;
  oMCP.Initialize;
  oMCP.ListTools;
  oMCP.RequestTool('GetTemperature', vArguments); // vArguments: IsgcJSON
end;

// Or spawn a local MCP server as a subprocess instead:
oMCP.MCPOptions.Transport := aimcptrStdio;
oMCP.MCPOptions.StdioOptions.Command := 'C:\tools\my-mcp-server.exe';
oMCP.MCPOptions.StdioOptions.Arguments := '--stdio';
  1. 带停止开关的流式输出令牌通过 OnChatStream 到达,并带有 Cancel 标志,因此较长的生成过程可以在中途停止。
  2. 异步调用,不阻塞界面在 Delphi 2010 及更高版本上,ChatAsync 会返回一个 future,因此在调用模型期间主线程仍保持响应。
  3. 由您掌控的对话状态SystemMessage 一次性设定角色,MaxHistoryMessages 限制每轮回放多少历史记录,从而让令牌成本可预测。
  4. 您的密钥不会离开您的进程请求通过 sgc HTTP 客户端直接从您的应用发往厂商端点,中间没有 eSeGeCe 的中转服务。
sgcAI 快速入门:只需一处 Provider 赋值,同一段 Delphi 代码就能从 Anthropic 切换到 Mistral,调用代码保持不变。
一个属性,七家厂商:更换提供商时调用代码保持不变。

阅读快速入门指南

包含什么

十五个组件,四类任务。

每个组件都是编译后的 Object Pascal,带有设计期属性和事件。您在对象查看器中设置 API 密钥,然后处理响应事件即可。没有 Python 桥接,没有脚本宿主,也没有外部进程。

聊天与 LLM

View →
  • TsgcAIChat
  • TsgcAIOpenAIChatBot
  • TsgcAIOpenAITranslator
  • TsgcAIOpenAIAssistant

设置 Provider、 ChatOptions.ApiKey 和 ChatOptions.Model,调用 Chat。流式输出通过 OnChatStream,并支持工具调用和对话历史。 TsgcAIDocumentExtractor 可以把 PDF 或图片转换为经过校验的 JSON,而 TsgcAIVoiceAgent 是基于 OpenAI Realtime 或 Gemini Live 的实时语音代理,能够倾听、回话、允许用户打断并调用您的工具。

Model Context Protocol

View →
  • TsgcWSAPIServer_MCP
  • TsgcWSAPIClient_MCP
  • HTTP
  • HTTP Streamable
  • stdio

把您自己的工具、提示词和资源发布给任何支持 MCP 的客户端,包括会话、通知和服务器发起的请求。也可以使用他人的服务器,并以 API 密钥、自定义头部或 OAuth2 进行身份验证。这是唯一跨平台的组件对。

嵌入向量与向量搜索

View →
  • TsgcAIOpenAIEmbeddings
  • TsgcAIDatabaseVectorFile
  • TsgcAIDatabaseVectorPinecone

把文本或整个文件转换成向量,在整批处理过程中触发进度事件,并写入无需服务器、无需账户、也不需要网络往返的本地文件,或写入托管的 Pinecone 索引。然后查询最近邻,对您自己的语料进行检索。

语音与音频

View →
  • TsgcTextToSpeechSystem
  • TsgcTextToSpeechGoogle
  • TsgcTextToSpeechAmazon
  • TsgcAudioRecorderMCI
  • TsgcAudioRecorderWave
  • TsgcAudioPlayerMCI

通过 Windows 的 MCI 或 Wave API 采集麦克风,用 Whisper 转写,把文本发送给模型,再把答案朗读出来。三种可互换的语音引擎共用同一个接口,其中一种既不需要 API 密钥也不需要网络。

查看所有组件和属性

Model Context Protocol

您的业务逻辑,可由代理直接调用。

MCP 是让 AI 宿主发现并调用工具的开放协议。把一个 Pascal 方法暴露为工具,Claude Desktop 或您自己的代理就能调用它,由您的代码决定答案。

  1. 暴露一个工具调用 Tools.AddTool('GetOrder', 'Return an order by id'),并通过 InputSchema.Properties.AddProperty 声明其参数。
  2. 注册服务器将 TsgcWSAPIServer_MCP 挂接到 HTTP 服务器,把端点设置为 /mcp,然后激活。
  3. AI 代理调用它AI 宿主会列出您的工具,选择 GetOrder,并发送它从对话中推断出的参数。
  4. 您的代码作答OnMCPRequestTool 会带着类型化请求触发,您填充响应,模型便把您的数据当作上下文来读取。

协议的两端都已包含。 TsgcWSAPIServer_MCP 把您的应用程序变成工具提供方, TsgcWSAPIClient_MCP 则让您的应用可以使用任何兼容 MCP 的服务器,通过 HTTP、HTTP Streamable 或 stdio 调用其工具、提示词和资源。这两个组件没有平台限制,也可为 macOS、Linux、iOS 和 Android 构建。

架构

为什么原生优于 Python 边车进程。

把一个 Python 服务硬接到 Delphi 应用上,意味着两套运行时、两套部署流程和两批 bug。这些组件会直接编译进您的可执行文件。

只需部署一个二进制文件

AI 客户端是链接进您应用程序的非可视组件。没有需要启动、监控或重启的边车进程,也没有需要保护的 localhost 端口。

无需分发解释器

客户机器上无需 pip install,没有虚拟环境,也不用固定版本。就是编译后的原生代码,与您应用的其余部分完全一样。

同一套 TLS 栈

AI 调用通过 sgc HTTP 客户端发送,因此会复用您为其他功能已设置好的 OpenSSL 和 SChannel 配置、TLS 选项以及超时设置。

自包含

sgcWebSockets Core 运行时、HTTP 客户端栈、JSON 层,以及 MCP 服务器 API 背后的 HTTP 服务器,都已内置在 sgcAI 中。一个 SKU,一个安装程序。

sgcAI 是 Windows 产品:15 个组件中有 13 个为 Win32 和 Win64 注册。两个 MCP 组件是例外,只要 sgc HTTP 栈能运行的地方它们就能运行。 查看完整的平台表。

价格

一款独立产品。

sgcAI 单独许可。每个许可证都包含 15 个 AI、LLM 和 MCP 组件、sgcWebSockets Core 运行时、完整源代码、免费二进制分发以及一年更新。

Single

1 个开发者许可证。同一时间在一台机器上使用。

€149

Team

2 个开发者许可证。同一时间在两台机器上使用。

€249

Site

不限开发者人数。公司所有机器。

€399

续订可享 50% to 70% 折扣,其中 sgcAI、sgcMQ 和 sgcSocial 各计为一个套装。同样的 AI 和 MCP 组件也包含在 sgcWebSockets中,其中 MCP 组件对位于 Enterprise 版本,所有产品也都包含在 All-Access 套餐。

查看价格并订购
用户评价

开发者怎么说

受到全球各地构建实时和 AI 驱动应用程序的 Delphi、C++ Builder、Lazarus 和 .NET 开发者的信赖。

你们的 sgcWebSockets 库非常实用,而且易于设置。请继续保持!
Simone Moretti Delphi 开发者
sgcWebSockets 非常出色,你们的支持也是最棒的!
Christian Meyer 创始人兼首席技术官
非常感谢你们的帮助和支持,我很喜欢你们的组件。
Mark Steinfeld 首席技术官

本周就让您的应用原生支持 AI。

放入组件,设置 API 密钥,流式输出第一个回答。完整源代码,免版税部署,中间没有任何中转服务。

eSeGeCe 的更多产品

eSeGeCe 的其他产品

AI 组件只是技术栈的一部分。下面的一切都由同一个团队、以同样的风格构建,并提供完整源代码。

sgcWebSockets

面向 Delphi、C++ Builder 和 .NET 的 WebSocket、HTTP/2、MQTT、WebRTC、AI 和 MCP,另有 30 多种 API 集成。sgcAI 所基于的库。

sgcHTML

在 Delphi 或 .NET 中为您的 AI 代理构建 Web 界面。服务器端 HTML 组件、实时 WebSocket 更新、htmx 交互。

sgcQUIC

原生 QUIC 传输以及 HTTP/3 客户端和服务器,支持 WebTransport。sgcWebSockets Enterprise 的附加组件。

sgcMQ

面向 Delphi 和 C++ Builder 的 MQTT、AMQP 0.9.1 和 1.0、Apache Kafka 与 STOMP 客户端组件。独立产品,随附 sgcWebSockets Core 运行时。

sgcAuth

面向 Delphi 和 C++ Builder 的 OAuth2 客户端、JWT 客户端和 WebAuthn 支持。独立产品,内置 sgcWebSockets Core 运行时。

sgcHTTP

面向 Delphi 和 C++ Builder 的 HTTP 服务器、HTTP/2 客户端、gRPC 客户端,以及 Google Cloud Pub/Sub、Calendar 和 FCM 客户端。

sgcREST

REST 服务器、OpenAPI 服务器和 OpenAPI 客户端组件。根据 OpenAPI 3.x 契约发布 REST API,或调用任何由 OpenAPI 描述的 API。

sgcOpenAPI

OpenAPI 3.x 解析器、Pascal SDK 生成器和服务器,以及 1,195+ 预构建 SDK。把任何 REST API 变成 AI 代理可以调用的工具。

sgcSign

文档签名(XAdES、PAdES、CAdES、ASiC)和代码签名(Authenticode、ClickOnce、NuGet、VSIX),可通过库或 sgcSign Server 实现。

sgcPDF

使用纯 Object Pascal 创建、编辑、查看、签名、涂黑并验证 PDF 文件,无需部署任何 DLL。

sgcBiometrics

面向 Delphi 和 C++ Builder 的 Windows Hello、指纹传感器和人脸识别,基于 Windows 生物特征框架。

sgcCrypto

面向 Delphi 和 C++ Builder 的通用密码学库:对称与非对称加密算法、哈希和后量子算法。自 sgcWebSockets Standard 起免费提供。

sgcSocial

WhatsApp Business Cloud API 和 Telegram TDLib 客户端。独立产品,已包含 sgcWebSockets Core 运行时。

sgcIndy

增强型 Indy TCP/IP 组件套件,为企业应用程序提供扩展协议支持和性能优化。

博客最新动态

查看全部文章 →

您正在查看 eSeGeCe 的 sgcAI 视角。

换个角度看看 →
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策