xAI tarafından geliştirilen Grok, gerçek zamanlı bilgi ve gelişmiş akıl yürütme yetenekleriyle hızlı, akıllı yanıtlar için tasarlanmış yüksek performanslı bir yapay zeka modelidir. Grok'u uygulamalarına entegre etmek isteyen Delphi geliştiricileri için sgcWebSockets, TsgcHTTP_API_Grok sunar; bu, tüm xAI Grok API'sini temiz, tip güvenli Delphi koduyla saran yerel bir bileşendir.
İster sohbet asistanları oluşturuyor, görüntü analiz ediyor, araçla zenginleştirilmiş iş akışlarını düzenliyor ister gerçek zamanlı yanıtlar akıtıyor olun, bu bileşen her Grok özelliğine doğrudan erişim sağlar. REST kalıp kodu yok. JSON ile boğuşmak yok. Yalnızca bileşeni bırakın, API anahtarınızı ayarlayın ve oluşturmaya başlayın.
Tam API Kapsamı
xAI Grok API'sinin her büyük özelliği kutudan çıkar çıkmaz desteklenir.
|
Sohbet Tamamlamaları Sistem istemleriyle mesaj gönderin, yanıtları senkron olarak veya akış halinde alın. Temperature, top-p, frekans ve varlık cezaları üzerinde tam denetim. |
Gerçek Zamanlı Akış Server-Sent Events kullanarak yanıtları belirteç belirteç akıtın. Yanıtları üretildikçe gösteren duyarlı arayüzler oluşturun. |
Görüntü (Vision) Metin istemleriyle birlikte base64 kodlu veri veya görüntü URL'leri göndererek görüntüleri analiz edin. Grok, görsel içeriği tanımlar, yorumlar ve hakkında akıl yürütür. |
|
Araç Kullanımı, İşlev Çağırma JSON Schema ile özel araçlar tanımlayın. Grok bunları ne zaman çağıracağına karar vererek aracılı, çok adımlı iş akışlarını mümkün kılar. |
Model Yönetimi Mevcut tüm Grok modellerini programatik olarak listeleyin. En uygun olanı seçmek için model kimliklerini ve yeteneklerini sorgulayın. |
Yerleşik Yeniden Deneme & Günlük Kaydı Yapılandırılabilir deneme ve bekleme aralıklarıyla geçici hatalarda otomatik yeniden deneme. Hata ayıklama için tam istek/yanıt günlük kaydı. |
Başlarken
xAI Grok'u Delphi projenize bir dakikadan kısa sürede entegre edin. Bileşeni bırakın, API anahtarınızı yapılandırın ve ilk mesajınızı gönderin.
// Create the component and configure the API key
var
Grok: TsgcHTTP_API_Grok;
vResponse: string;
begin
Grok := TsgcHTTP_API_Grok.Create(nil);
Try
Grok.GrokOptions.ApiKey := 'YOUR_API_KEY';
// Send a simple message to Grok
vResponse := Grok._CreateMessage(
'grok-3', 'Hello, Grok!');
ShowMessage(vResponse);
Finally
Grok.Free;
End;
end;
İki API stili. Her özellik hem kolaylık metotları (dize tabanlı, minimum kod) hem de tipli istek/yanıt sınıfları (tam denetim, tip güvenliği) sunar. Kullanım senaryonuza en uygun yaklaşımı seçin.
Sohbet Tamamlamaları & Akış
Chat Completions API'si, her Grok etkileşiminin temelidir. İsteğe bağlı sistem istemleriyle metin gönderin ve yanıtları senkron olarak veya gerçek zamanlı akış halinde alın.
Sistem İstemleri
Konuşma için bağlamı, kişiliği veya kısıtlamaları belirleyen bir sistem istemi sağlayarak Grok'un davranışını denetleyin.
vResponse := Grok._CreateMessageWithSystem(
'grok-3',
'You are a helpful assistant that responds in Spanish.',
'What is the capital of France?');
// Returns: "La capital de Francia es París."
Gerçek Zamanlı Akış
Duyarlı kullanıcı arayüzleri için, Server-Sent Events kullanarak Grok'un yanıtını belirteç belirteç akıtın. OnHTTPAPISSE olay işleyicisini atayın ve _CreateMessageStream çağırın.
// Enable streaming via SSE
Grok.OnHTTPAPISSE := OnSSEEvent;
Grok._CreateMessageStream('grok-3',
'Explain the theory of relativity.');
procedure TForm1.OnSSEEvent(Sender: TObject;
const aEvent, aData: string; var Cancel: Boolean);
begin
// aData: JSON payload with generated content
Memo1.Lines.Add(aData);
end;
Gelişmiş Tipli API
İstek parametreleri üzerinde tam denetim için (temperature, top-p, frekans cezası, varlık cezası, durdurma dizileri, tamamlama sayısı) tipli istek ve yanıt sınıflarını kullanın.
var
oRequest: TsgcGrokClass_Request_ChatCompletion;
oMessage: TsgcGrokClass_Request_Message;
oResponse: TsgcGrokClass_Response_ChatCompletion;
begin
oRequest := TsgcGrokClass_Request_ChatCompletion.Create;
Try
oRequest.Model := 'grok-3';
oRequest.MaxTokens := 2048;
oRequest.Temperature := 0.7;
oRequest.TopP := 0.9;
oRequest.FrequencyPenalty := 0.5;
oRequest.N := 1;
oMessage := TsgcGrokClass_Request_Message.Create;
oMessage.Role := 'user';
oMessage.Content := 'Explain quantum computing in simple terms.';
oRequest.Messages.Add(oMessage);
oResponse := Grok.CreateMessage(oRequest);
Try
if Length(oResponse.Choices) > 0 then
ShowMessage(oResponse.Choices[0].Message.Content);
Finally
oResponse.Free;
End;
Finally
oRequest.Free;
End;
end;
Görüntü (Vision), Görüntü Anlama
Grok, görüntüleri analiz edebilir ve hakkında akıl yürütebilir. Bir metin istemiyle birlikte fotoğraflar, ekran görüntüleri, diyagramlar veya grafikler gönderin ve ayrıntılı açıklamalar, veri çıkarımı veya görsel soru-cevap alın.
// Load an image and ask Grok to analyze it
var
vBase64: string;
begin
vBase64 := sgcBase64Encode(LoadFileToBytes('dashboard-screenshot.png'));
ShowMessage(Grok._CreateVisionMessage(
'grok-3',
'Analyze this dashboard and summarize the key metrics.',
vBase64, 'image/png'));
end;
Kullanım senaryosu. Rapor analizini otomatikleştirin, ekran görüntülerinden veri çıkarın, görsel içeriğin açıklamalarını üretin veya görüntüden haberdar asistanlar oluşturun; hepsi yerel Delphi kodundan.
Araç Kullanımı, İşlev Çağırma
JSON Schema ile özel araçlar tanımlayın; Grok bunları ne zaman ve nasıl çağıracağına karar verecektir. Bu, yapay zekayı iş mantığınıza bağlayan aracılı, çok adımlı iş akışları oluşturmanın temelidir.
var
oRequest: TsgcGrokClass_Request_ChatCompletion;
oTool: TsgcGrokClass_Request_Tool;
oResponse: TsgcGrokClass_Response_ChatCompletion;
begin
// Define a tool with JSON Schema
oTool := TsgcGrokClass_Request_Tool.Create;
oTool.Name := 'search_database';
oTool.Description := 'Search the product database by keyword';
oTool.Parameters :=
'{"type":"object","properties":{"query":{"type":"string",' +
'"description":"Search keyword"}},"required":["query"]}';
oRequest.Tools.Add(oTool);
oRequest.ToolChoice := 'auto';
oResponse := Grok.CreateMessage(oRequest);
// Check if Grok wants to call a tool
if oResponse.Choices[0].FinishReason = 'tool_calls' then
begin
for i := 0 to Length(oResponse.Choices[0].Message.ToolCalls) - 1 do
begin
vToolId := oResponse.Choices[0].Message.ToolCalls[i].Id;
vFuncName := oResponse.Choices[0].Message.ToolCalls[i].FunctionCall.Name;
vFuncArgs := oResponse.Choices[0].Message.ToolCalls[i].FunctionCall.Arguments;
// Execute the tool and return the result
end;
end;
Model Yönetimi
Mevcut Grok modellerini programatik olarak sorgulayın. Kullanıma sunuldukça yeni yetenekleri keşfetmek için tüm modelleri listeleyin.
// List all available Grok models
vModels := Grok._GetModels;
// Typed API: access model properties directly
var
oModels: TsgcGrokClass_Response_Models;
i: Integer;
begin
oModels := Grok.GetModels;
Try
for i := 0 to Length(oModels.Data) - 1 do
Memo1.Lines.Add(oModels.Data[i].Id);
Finally
oModels.Free;
End;
end;
Yapılandırma & Seçenekler
Bileşen davranışını kapsamlı yapılandırma seçenekleriyle ince ayarlayın.
| Özellik | Açıklama |
|---|---|
GrokOptions.ApiKey |
xAI API anahtarınız (zorunlu) |
HttpOptions.ReadTimeout |
Milisaniye cinsinden HTTP okuma zaman aşımı (varsayılan: 60000) |
LogOptions.Enabled |
İstek/yanıt günlük kaydını etkinleştirir |
RetryOptions.Enabled |
Geçici hatalarda otomatik yeniden deneme |
RetryOptions.Retries |
Maksimum yeniden deneme sayısı (varsayılan: 3) |
RetryOptions.Wait |
Milisaniye cinsinden yeniden denemeler arası bekleme süresi (varsayılan: 3000) |
İstek Parametreleri
| Parametre | Açıklama |
|---|---|
Temperature |
Örnekleme sıcaklığı (0,0–2,0). Düşük değerler = daha deterministik. |
TopP |
Çekirdek örnekleme (0,0–1,0). Kümülatif olasılık eşiğini denetler. |
MaxTokens |
Yanıttaki maksimum belirteç sayısı (varsayılan: 4096). |
FrequencyPenalty |
Belirteçleri şu ana kadarki metindeki frekanslarına göre cezalandırır. |
PresencePenalty |
Belirteçleri şu ana kadarki metinde görünüp görünmediklerine göre cezalandırır. |
N |
Üretilecek tamamlama sayısı (varsayılan: 1). |
ToolChoice |
Araç seçimini denetler: 'auto', 'none' veya 'required'. |
Neden Grok? xAI tarafından yardımseverliğe ve gerçek zamanlı bilgiye odaklanılarak oluşturulan Grok, güncel bilgi ve incelikli akıl yürütme gerektiren görevlerde üstünlük gösterir. sgcWebSockets bileşeni, Delphi kodunuzu temiz ve tutarlı tutarken Grok ile diğer yapay zeka sağlayıcıları arasında geçiş yapmayı kolaylaştırır.
