AI Chat
TsgcAIChat is één chatclient voor zeven providers van large language models. Zet Provider, geef een API-sleutel en een model op en roep Chat aan. Van leverancier wisselen is één toewijzing, de rest van je code blijft hetzelfde.
TsgcAIChat is één chatclient voor zeven providers van large language models. Zet Provider, geef een API-sleutel en een model op en roep Chat aan. Van leverancier wisselen is één toewijzing, de rest van je code blijft hetzelfde.
Een providerneutraal chatcomponent. Het bewaart de gespreksgeschiedenis, bouwt de providerspecifieke JSON-body op, stuurt de bijbehorende HTTP-API-client aan en geeft je de tekst van de assistent terug, in één aanroep of token voor token.
TsgcAIChat
Providerneutrale LLM-chat
Win32 en Win64
sgcAI is zelfstandig. Dit component zit in sgcAI, samen met de sgcWebSockets Core runtime waarop het gebouwd is, dus je hoeft geen basislicentie te kopen.
Kies de provider, geef de sleutel en het model op en roep Chat aan. De streaming- en async-varianten gebruiken dezelfde configuratie.
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.ChatOptions.MaxTokens := 4096;
oChat.SystemMessage := 'You are a Delphi expert.';
oChat.MaxHistoryMessages := 20;
// Blocking call, returns the assistant text.
vAnswer := oChat.Chat('How do I keep a WebSocket connection alive?');
// 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;
// includes: sgcAI.hpp, sgcAI_Chat.hpp
TsgcAIChat *oChat = new TsgcAIChat(NULL);
oChat->Provider = aicpOpenAI;
oChat->ChatOptions->ApiKey = "sk-...";
oChat->ChatOptions->Model = "gpt-4o";
oChat->SystemMessage = "You are a Delphi expert.";
String vAnswer = oChat->Chat("How do I keep a WebSocket connection alive?");
// Local models: same code, no data leaves the machine.
oChat->Provider = aicpOllama;
oChat->ChatOptions->BaseUrl = "http://127.0.0.1:11434";
oChat->ChatOptions->Model = "llama3";
vAnswer = oChat->Chat("Same question, local model.");
De leden die je het vaakst gebruikt.
Provider kiest de leverancier: aicpOpenAI, aicpAnthropic, aicpGemini, aicpDeepSeek, aicpOllama, aicpGrok of aicpMistral. Als je hem wijzigt, wordt de client in de cache van de vorige provider vrijgegeven.
ApiKey, Model, MaxTokens, Temperature, TopP en BaseUrl. Laat je Temperature en TopP op hun standaardwaarde staan, dan worden ze weggelaten uit het verzoek en geldt de standaard van de provider.
SystemMessage legt de persona vast voor elke beurt. MaxHistoryMessages begrenst hoeveel eerdere berichten opnieuw worden meegestuurd, wat de tokenkosten beperkt. ClearHistory en GetHistory resetten en lezen het transcript.
Chat blokkeert en geeft het antwoord terug. ChatStream streamt over SSE. ChatWithSystem overschrijft de systeemprompt voor één beurt. ChatAsync geeft een future terug op Delphi 2010 en later.
OnChatMessage meldt elk voltooid bericht met zijn rol. OnChatStream levert elke chunk en draagt een Cancel-vlag mee. OnChatError brengt fouten van de provider en van het transport naar boven.
Met Provider op aicpOllama wijst ChatOptions.BaseUrl het component naar je eigen Ollama-host, zodat prompts en antwoorden de machine nooit verlaten.
Gezaghebbende bronnen voor de diensten en protocollen die dit component gebruikt.
| Online helpVolledige API-referentie en gebruiksgids voor de sgcAI-componenten. | Openen | |
| Alle sgcAI-componentenBekijk de volledige functiematrix van alle 15 componenten. | Openen | |
| Download de gratis proefversieProbeer alle zeven providers met je eigen API-sleutels. | Openen | |
| PrijzenSingle-, Team- en Site-licenties, volledige broncode, geen basisproduct vereist. | Openen |