DeepSeek hat sich rasch zu einem der kostengünstigsten und leistungsfähigsten Anbieter von KI-Modellen entwickelt und bietet starke Reasoning-, Vision- und Tool-Calling-Funktionen zu einem Bruchteil der Kosten konkurrierender Dienste. Für Delphi-Entwickler, die die Modelle von DeepSeek nutzen möchten, stellt sgcWebSockets TsgcHTTP_API_DeepSeek bereit — eine native Komponente, die die gesamte DeepSeek-API in sauberem, typsicherem Delphi-Code kapselt.
Ob du intelligente Chatbots baust, Bilder verarbeitest, Function-Calling-Workflows orchestrierst oder Antworten in Echtzeit an deine Nutzer streamst — diese Komponente bietet dir direkten Zugriff auf jede DeepSeek-Funktion. Kein REST-Boilerplate. Kein JSON-Gefummel. Einfach die Komponente platzieren, deinen API-Schlüssel setzen und loslegen.
Vollständige API-Abdeckung
Jede wichtige Funktion der DeepSeek-API wird out of the box unterstützt.
|
Chat Completions Sende Nachrichten mit System-Prompts und empfange Antworten synchron oder gestreamt. Volle Kontrolle über Temperature, Top-p sowie Frequency- und Presence-Penalties. |
Echtzeit-Streaming Streame Antworten Token für Token über Server-Sent Events. Baue reaktionsschnelle Oberflächen, die Antworten direkt während der Generierung anzeigen. |
Vision Analysiere Bilder, indem du Base64-kodierte Daten oder Bild-URLs zusammen mit Text-Prompts sendest. DeepSeek beschreibt, interpretiert und argumentiert über visuelle Inhalte. |
|
Tool-Nutzung — Function Calling Definiere eigene Tools per JSON-Schema. DeepSeek entscheidet, wann sie aufgerufen werden, und ermöglicht so agentische, mehrstufige Workflows. |
Modellverwaltung Liste alle verfügbaren DeepSeek-Modelle programmatisch auf. Frage Modell-IDs, Besitzer und Fähigkeiten ab. |
Integrierter Retry & Logging Automatisches Wiederholen bei vorübergehenden Fehlern mit konfigurierbaren Versuchen und Wartezeiten. Vollständiges Request/Response-Logging zum Debuggen. |
Erste Schritte
Integriere DeepSeek in weniger als einer Minute in dein Delphi-Projekt. Platziere die Komponente, konfiguriere deinen API-Schlüssel und sende deine erste Nachricht.
// 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;
Zwei API-Stile. Jede Funktion bietet sowohl Convenience-Methoden (stringbasiert, minimaler Code) als auch typisierte Request/Response-Klassen (volle Kontrolle, Typsicherheit). Wähle den Ansatz, der am besten zu deinem Anwendungsfall passt.
Chat Completions & Streaming
Die Chat-Completions-API ist die Grundlage jeder Interaktion mit DeepSeek. Sende Text mit optionalen System-Prompts und empfange Antworten synchron oder in Echtzeit gestreamt.
System-Prompts
Steuere das Verhalten von DeepSeek, indem du einen System-Prompt vorgibst, der Kontext, Persönlichkeit oder Einschränkungen der Konversation festlegt.
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."
Echtzeit-Streaming
Für reaktionsschnelle Oberflächen streamst du die Antwort von DeepSeek Token für Token über Server-Sent Events. Weise den Ereignishandler OnHTTPAPISSE zu und rufe _CreateMessageStream auf.
// 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;
Erweiterte typisierte API
Für volle Kontrolle über Request-Parameter — Temperature, Top-p, Frequency Penalty, Presence Penalty, Stop-Sequenzen — verwende die typisierten Request- und Response-Klassen.
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;
Vision — Bildverständnis
DeepSeek kann Bilder analysieren und über sie argumentieren. Sende Fotos, Screenshots, Diagramme oder Dokumente zusammen mit einem Text-Prompt und erhalte detaillierte Beschreibungen, extrahierte Daten oder visuelle Q&A-Antworten.
// 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;
Anwendungsfall. Automatisiere die Rechnungsverarbeitung, extrahiere Text aus Dokumenten, analysiere Diagramme und Grafiken oder baue Pipelines zur Bildklassifizierung — alles aus nativem Delphi-Code und zu den konkurrenzfähigen Preisen von DeepSeek.
Tool-Nutzung — Function Calling
Definiere eigene Tools per JSON-Schema, und DeepSeek entscheidet, wann und wie sie aufgerufen werden. Das ist die Grundlage für agentische, mehrstufige Workflows, die die KI mit deiner Geschäftslogik verbinden.
// 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;
Modellverwaltung
Frage verfügbare DeepSeek-Modelle programmatisch ab. Liste alle Modelle auf, um neue Fähigkeiten zu entdecken, sobald sie verfügbar werden.
// 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;
Konfiguration & Optionen
Feinabstimmung des Komponentenverhaltens über umfassende Konfigurationsoptionen.
| Eigenschaft | Beschreibung |
|---|---|
DeepSeekOptions.ApiKey |
Dein DeepSeek-API-Schlüssel (Pflichtfeld) |
HttpOptions.ReadTimeout |
HTTP-Lese-Timeout in Millisekunden (Standard: 60000) |
LogOptions.Enabled |
Aktiviert das Request/Response-Logging |
RetryOptions.Enabled |
Automatisches Wiederholen bei vorübergehenden Fehlern |
RetryOptions.Retries |
Maximale Anzahl an Wiederholungsversuchen (Standard: 3) |
RetryOptions.Wait |
Wartezeit zwischen Versuchen in Millisekunden (Standard: 3000) |
Request-Parameter
| Parameter | Beschreibung |
|---|---|
Temperature |
Sampling-Temperatur (0.0–2.0). Niedrigere Werte = deterministischer. |
TopP |
Nucleus-Sampling (0.0–1.0). Steuert die kumulative Wahrscheinlichkeitsgrenze. |
MaxTokens |
Maximale Anzahl Tokens in der Antwort (Standard: 4096). |
FrequencyPenalty |
Bestraft Tokens basierend auf ihrer bisherigen Häufigkeit im Text. |
PresencePenalty |
Bestraft Tokens danach, ob sie bislang im Text vorkamen. |
ToolChoice |
Steuert die Tool-Auswahl: 'auto', 'none' oder 'required'. |
Kostenvorteil. DeepSeek-Modelle liefern konkurrenzfähige Qualität zu deutlich niedrigeren Preisen als vergleichbare Anbieter. Zusammen mit der integrierten Retry-Logik und dem Logging der sgcWebSockets-Komponente erhältst du eine produktionsreife KI-Integration zu einem Bruchteil der Kosten.
