QuickStart
İlk yanıtınız, yaklaşık on satırda
Bileşeni oluşturun, bir sağlayıcı, bir anahtar ve bir model ayarlayın, ardından Chat çağırın ve döndürdüğü dizeyi okuyun.
uses
Classes, SysUtils,
sgcAI_Chat;
procedure TfrmUnifiedChat.btnChatClick(Sender: TObject);
var
oChat: TsgcAI_Chat;
begin
oChat := TsgcAI_Chat.Create(nil);
try
oChat.Provider := aicpOpenAI;
oChat.ChatOptions.ApiKey := GetApiKey;
oChat.ChatOptions.Model := 'gpt-4o-mini';
oChat.ChatOptions.MaxTokens := 1024;
oChat.SystemMessage := 'You are a concise assistant inside a Delphi ERP.';
memoResponse.Lines.Text := oChat.Chat(memoPrompt.Text);
finally
oChat.Free;
end;
end;
Sağlayıcıyı değiştirmek tek satırdır. Provider, aicpOpenAI, aicpAnthropic, aicpGemini, aicpDeepSeek, aicpOllama, aicpGrok ve aicpMistral değerlerini kabul eder. Geri kalan her şey olduğu yerde kalır.
procedure TfrmUnifiedChat.OnChatStream(Sender: TObject; const aChunk: string;
var Cancel: Boolean);
begin
memoResponse.Text := memoResponse.Text + aChunk;
end;
procedure TfrmUnifiedChat.OnChatError(Sender: TObject; const aError: string);
begin
memoResponse.Text := 'error: ' + aError;
end;
procedure TfrmUnifiedChat.btnChatStreamClick(Sender: TObject);
begin
GetChat.Provider := aicpAnthropic;
GetChat.ChatOptions.ApiKey := GetApiKey;
GetChat.ChatOptions.Model := 'claude-sonnet-4-20250514';
GetChat.SystemMessage := memoSystem.Text;
memoResponse.Lines.Clear;
GetChat.ChatStream(memoPrompt.Text);
end;
Demo bileşenini GetChat içinde bir kez oluşturur ve OnChatStream ile OnChatError olaylarını orada atar. ChatStream tam yanıtı da döndürür; bu nedenle dönüş değerini yok sayıp yalnızca olayı kullanabilir ya da ikisini birden kullanabilirsiniz.
uses
Classes, SysUtils,
sgcAI_Chat;
var
oChat: TsgcAI_Chat;
begin
oChat := TsgcAI_Chat.Create(nil);
try
oChat.Provider := aicpOllama;
oChat.ChatOptions.Model := 'llama3';
oChat.ChatOptions.BaseUrl := 'http://localhost:11434';
Writeln(oChat.Chat('Summarise this invoice in one line.'));
finally
oChat.Free;
end;
end;
OllamaOptions.BaseUrl yoktur. Ham API düzeyinde özellik TsgcHTTP_API_Ollama üzerindeki OllamaOptions.Host özelliğidir ve bu katmandan onu besleyen ChatOptions.BaseUrl özelliğidir.
İlk iki sekme, form denetimleri sabit değerlerle değiştirilmiş olarak paketle gelen Demos\15.AI\02.Applications\06.UnifiedChat\fUnifiedChat.pas demosudur. Üçüncü sekme, yerel bir Ollama sunucusuna yöneltilmiş aynı bileşendir. İkinci bir demo olan 07.ConversationHistory, geçmiş API'sini aynı klasörde gösterir.