DeepSeek, rakip hizmetlerin maliyetinin çok altında güçlü akıl yürütme, görüntü işleme ve araç çağırma yetenekleri sunarak en uygun maliyetli ve yetenekli yapay zeka model sağlayıcılarından biri olarak hızla öne çıktı. DeepSeek'in modellerinden yararlanmak isteyen Delphi geliştiricileri için sgcWebSockets, TsgcHTTP_API_DeepSeek bileşenini sağlar — tüm DeepSeek API'sini temiz, tür güvenli Delphi koduyla saran yerel bir bileşen.
İster akıllı chatbot'lar oluşturuyor, ister görüntü işliyor, ister işlev çağırma iş akışlarını düzenliyor veya kullanıcılarınıza gerçek zamanlı yanıtlar akıtıyor olun, bu bileşen size her DeepSeek özelliğine doğrudan erişim sağlar. REST kalıp kodu yok. JSON ile uğraşmak yok. Yalnızca bileşeni bırakın, API anahtarınızı ayarlayın ve geliştirmeye başlayın.
Eksiksiz API Kapsamı
DeepSeek API'sinin her temel özelliği kutudan çıktığı haliyle desteklenir.
|
Sohbet Tamamlamaları Sistem istemleriyle mesaj gönderin, yanıtları senkron veya akış halinde alın. Sıcaklık (temperature), top-p, frekans ve varlık cezaları üzerinde tam kontrol. |
Gerçek Zamanlı Akış Server-Sent Events kullanarak yanıtları belirteç belirteç (token-by-token) akıtın. Yanıtları oluşturuldukça görüntüleyen duyarlı kullanıcı arayüzleri oluşturun. |
Görüntü İşleme (Vision) Metin istemlerinin yanı sıra base64 ile kodlanmış veri veya görüntü URL'leri göndererek görüntüleri analiz edin. DeepSeek, görsel içeriği açıklar, 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. DeepSeek bunları ne zaman çağıracağına karar vererek aracı (agentic), çok adımlı iş akışlarına olanak tanır. |
Model Yönetimi Mevcut tüm DeepSeek modellerini programatik olarak listeleyin. Model kimliklerini, sahiplerini ve yeteneklerini sorgulayın. |
Yerleşik Yeniden Deneme ve Günlük Tutma Yapılandırılabilir deneme sayıları ve bekleme aralıklarıyla geçici hatalarda otomatik yeniden deneme. Hata ayıklama için tam istek/yanıt günlük tutma. |
Başlarken
DeepSeek'i 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
DeepSeek: TsgcHTTP_API_DeepSeek;
vResponse: string;
begin
DeepSeek := TsgcHTTP_API_DeepSeek.Create(nil);
Try
DeepSeek.DeepSeekOptions.ApiKey := 'YOUR_API_KEY';
// Send a simple message to DeepSeek
vResponse := DeepSeek._CreateMessage(
'deepseek-chat', 'Hello, DeepSeek!');
ShowMessage(vResponse);
Finally
DeepSeek.Free;
End;
end;
İki API stili. Her özellik hem kolaylık metotları (dize tabanlı, minimum kod) hem de türlü istek/yanıt sınıfları (tam kontrol, tür güvenliği) sunar. Kullanım senaryonuza en uygun yaklaşımı seçin.
Sohbet Tamamlamaları ve Akış
Sohbet Tamamlamaları API'si, her DeepSeek etkileşiminin temelidir. İsteğe bağlı sistem istemleriyle metin gönderin ve yanıtları senkron 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 DeepSeek'in davranışını kontrol edin.
vResponse := DeepSeek._CreateMessageWithSystem(
'deepseek-chat',
'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, DeepSeek'in yanıtını Server-Sent Events kullanarak belirteç belirteç akıtın. OnHTTPAPISSE olay işleyicisini atayın ve _CreateMessageStream metodunu çağırın.
// Enable streaming via SSE
DeepSeek.OnHTTPAPISSE := OnSSEEvent;
DeepSeek._CreateMessageStream('deepseek-chat',
'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ş Türlü API
İstek parametreleri üzerinde tam kontrol için — sıcaklık, top-p, frekans cezası, varlık cezası, durdurma dizileri — türlü istek ve yanıt sınıflarını kullanın.
var
oRequest: TsgcDeepSeekClass_Request_ChatCompletion;
oMessage: TsgcDeepSeekClass_Request_Message;
oResponse: TsgcDeepSeekClass_Response_ChatCompletion;
begin
oRequest := TsgcDeepSeekClass_Request_ChatCompletion.Create;
Try
oRequest.Model := 'deepseek-chat';
oRequest.MaxTokens := 2048;
oRequest.Temperature := 0.7;
oRequest.TopP := 0.9;
oRequest.FrequencyPenalty := 0.5;
oMessage := TsgcDeepSeekClass_Request_Message.Create;
oMessage.Role := 'user';
oMessage.Content := 'Explain quantum computing in simple terms.';
oRequest.Messages.Add(oMessage);
oResponse := DeepSeek.CreateMessage(oRequest);
Try
if Length(oResponse.Choices) > 0 then
ShowMessage(oResponse.Choices[0].MessageContent);
Finally
oResponse.Free;
End;
Finally
oRequest.Free;
End;
end;
Görüntü İşleme — Görüntü Anlama
DeepSeek, görüntüleri analiz edebilir ve hakkında akıl yürütebilir. Bir metin isteminin yanı sıra fotoğraflar, ekran görüntüleri, diyagramlar veya belgeler gönderin ve ayrıntılı açıklamalar, veri çıkarımı veya görsel Soru-Cevap alın.
// Load an image and ask DeepSeek to analyze it
var
vBase64: string;
begin
vBase64 := sgcBase64Encode(LoadFileToBytes('invoice.png'));
ShowMessage(DeepSeek._CreateVisionMessage(
'deepseek-chat',
'Extract all line items and totals from this invoice.',
vBase64, 'image/png'));
end;
Kullanım senaryosu. Fatura işlemeyi otomatikleştirin, belgelerden metin çıkarın, çizelgeleri ve grafikleri analiz edin veya görüntü sınıflandırma hatları oluşturun — tümü DeepSeek'in rekabetçi fiyatlandırmasıyla yerel Delphi kodundan.
Araç Kullanımı — İşlev Çağırma
JSON Schema ile özel araçlar tanımlayın; DeepSeek bunları ne zaman ve nasıl çağıracağına karar verecektir. Bu, yapay zekayı iş mantığınıza bağlayan aracı (agentic), çok adımlı iş akışları oluşturmanın temelidir.
// Define a tool with JSON Schema
oTool := TsgcDeepSeekClass_Request_Tool.Create;
oTool.Name := 'get_stock_price';
oTool.Description := 'Get the current stock price for a ticker symbol';
oTool.Parameters :=
'{"type":"object","properties":{"symbol":{"type":"string",' +
'"description":"Stock ticker symbol"}},"required":["symbol"]}';
oRequest.Tools.Add(oTool);
oResponse := DeepSeek.CreateMessage(oRequest);
// Check if DeepSeek wants to call a tool
if oResponse.Choices[0].FinishReason = 'tool_calls' then
begin
for i := 0 to Length(oResponse.Choices[0].ToolCalls) - 1 do
begin
vToolId := oResponse.Choices[0].ToolCalls[i].Id;
vFuncName := oResponse.Choices[0].ToolCalls[i].FunctionName;
vFuncArgs := oResponse.Choices[0].ToolCalls[i].FunctionArguments;
// Execute the tool and return the result
end;
end;
Model Yönetimi
Mevcut DeepSeek modellerini programatik olarak sorgulayın. Kullanıma sunuldukça yeni yetenekleri keşfetmek için tüm modelleri listeleyin.
// List all available DeepSeek models
vModels := DeepSeek._GetModels;
// Typed API: access model properties directly
var
oModels: TsgcDeepSeekClass_Response_Models;
i: Integer;
begin
oModels := DeepSeek.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 ve Seçenekler
Kapsamlı yapılandırma seçenekleriyle bileşen davranışını ince ayarlayın.
| Özellik | Açıklama |
|---|---|
DeepSeekOptions.ApiKey |
DeepSeek 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 tutmayı 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ındaki bekleme süresi (varsayılan: 3000) |
İstek Parametreleri
| Parametre | Açıklama |
|---|---|
Temperature |
Örnekleme sıcaklığı (0,0–2,0). Daha düşük değerler = daha belirleyici. |
TopP |
Çekirdek örneklemesi (0,0–1,0). Kümülatif olasılık eşiğini kontrol eder. |
MaxTokens |
Yanıttaki maksimum belirteç (token) sayısı (varsayılan: 4096). |
FrequencyPenalty |
Belirteçleri, şimdiye kadarki metindeki frekanslarına göre cezalandırır. |
PresencePenalty |
Belirteçleri, şimdiye kadarki metinde görünüp görünmediklerine göre cezalandırır. |
ToolChoice |
Araç seçimini kontrol eder: 'auto', 'none' veya 'required'. |
Maliyet avantajı. DeepSeek modelleri, benzer sağlayıcılara göre önemli ölçüde daha düşük fiyatlarla rekabetçi kalite sunar. sgcWebSockets bileşeninin yerleşik yeniden deneme mantığı ve günlük tutmasıyla birlikte, maliyetin çok altında üretime hazır bir yapay zeka entegrasyonu elde edersiniz.
