AI Chat
TsgcAIChat to jeden klient czatu dla siedmiu dostawców dużych modeli językowych. Ustaw Provider, podaj klucz API i model, a następnie wywołaj Chat. Zmiana dostawcy to jedno przypisanie, reszta twojego kodu pozostaje bez zmian.
TsgcAIChat to jeden klient czatu dla siedmiu dostawców dużych modeli językowych. Ustaw Provider, podaj klucz API i model, a następnie wywołaj Chat. Zmiana dostawcy to jedno przypisanie, reszta twojego kodu pozostaje bez zmian.
Komponent czatu niezależny od dostawcy. Przechowuje historię rozmowy, buduje treść JSON właściwą dla dostawcy, steruje odpowiednim klientem HTTP API i zwraca ci tekst asystenta, w jednym wywołaniu albo token po tokenie.
TsgcAIChat
Czat LLM niezależny od dostawcy
Win32 i Win64
sgcAI jest samowystarczalny. Ten komponent jest dostarczany w sgcAI razem ze środowiskiem uruchomieniowym sgcWebSockets Core, na którym jest zbudowany, więc nie ma licencji bazowej do kupienia.
Wybierz dostawcę, ustaw klucz i model, wywołaj Chat. Warianty strumieniowy i asynchroniczny korzystają z tej samej konfiguracji.
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.");
Składowe, po które sięgasz najczęściej.
Provider wybiera dostawcę: aicpOpenAI, aicpAnthropic, aicpGemini, aicpDeepSeek, aicpOllama, aicpGrok lub aicpMistral. Zmiana tej wartości zwalnia buforowanego klienta poprzedniego dostawcy.
ApiKey, Model, MaxTokens, Temperature, TopP i BaseUrl. Pozostaw Temperature oraz TopP z wartością domyślną, a zostaną pominięte w żądaniu, więc zastosowana będzie wartość domyślna dostawcy.
SystemMessage ustawia personę dla każdej tury. MaxHistoryMessages ogranicza liczbę odtwarzanych wcześniejszych wiadomości, co ogranicza koszt tokenów. ClearHistory i GetHistory resetują i odczytują zapis rozmowy.
Chat blokuje i zwraca odpowiedź. ChatStream strumieniuje przez SSE. ChatWithSystem nadpisuje prompt systemowy dla jednej tury. ChatAsync zwraca future w Delphi 2010 i nowszych.
OnChatMessage raportuje każdą ukończoną wiadomość wraz z jej rolą. OnChatStream dostarcza każdy fragment i niesie flagę Cancel. OnChatError wystawia błędy dostawcy i transportu.
Gdy Provider jest ustawiony na aicpOllama, ChatOptions.BaseUrl kieruje komponent na twój własny host Ollama, więc prompty i odpowiedzi nigdy nie opuszczają maszyny.
Miarodajne źródła dla usług i protokołów, z których korzysta ten komponent.
| Pomoc onlinePełna dokumentacja API i przewodnik użytkowania komponentów sgcAI. | Otwórz | |
| Wszystkie komponenty sgcAIPrzejrzyj pełną matrycę funkcji wszystkich 15 komponentów. | Otwórz | |
| Pobierz bezpłatną wersję próbnąWypróbuj wszystkich siedmiu dostawców z własnymi kluczami API. | Otwórz | |
| CennikLicencje Single, Team i Site, pełny kod źródłowy, bez wymaganego produktu bazowego. | Otwórz |