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?');
oChat.Provider := aicpOpenAI;
oChat.ChatOptions.ApiKey := 'sk-...';
oChat.ChatOptions.Model := 'gpt-6-astra';
vAnswer := oChat.Chat('Same question, different model.');
end;
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?");
oChat->Provider = aicpOpenAI;
oChat->ChatOptions->ApiKey = "sk-...";
oChat->ChatOptions->Model = "gpt-6-astra";
vAnswer = oChat->Chat("Same question, different model.");
uses
sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Types;
var
oMCP: TsgcWSAPIClient_MCP;
begin
oMCP := TsgcWSAPIClient_MCP.Create(nil);
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);
end;
oMCP.MCPOptions.Transport := aimcptrStdio;
oMCP.MCPOptions.StdioOptions.Command := 'C:\tools\my-mcp-server.exe';
oMCP.MCPOptions.StdioOptions.Arguments := '--stdio';