O DeepSeek emergiu rapidamente como um dos provedores de modelos de IA mais econômicos e capazes, oferecendo poderosas capacidades de raciocínio, visão e chamada de ferramentas a uma fração do custo dos serviços concorrentes. Para desenvolvedores Delphi que desejam aproveitar os modelos do DeepSeek, o sgcWebSockets fornece o TsgcHTTP_API_DeepSeek — um componente nativo que encapsula toda a API DeepSeek com código Delphi limpo e com segurança de tipos.
Seja construindo chatbots inteligentes, processando imagens, orquestrando fluxos de trabalho com chamada de funções ou transmitindo respostas em tempo real para seus usuários, este componente oferece acesso direto a todos os recursos do DeepSeek. Sem boilerplate REST. Sem manipulação de JSON. Basta soltar o componente, definir sua chave de API e começar a construir.
Cobertura Completa da API
Todos os principais recursos da API DeepSeek são suportados imediatamente.
|
Chat Completions Envie mensagens com prompts de sistema, receba respostas de forma síncrona ou em streaming. Controle total sobre temperatura, top-p, penalidades de frequência e presença. |
Streaming em Tempo Real Transmita respostas token por token usando Server-Sent Events. Crie interfaces responsivas que exibem respostas conforme são geradas. |
Visão Analise imagens enviando dados codificados em base64 ou URLs de imagens junto com prompts de texto. O DeepSeek descreve, interpreta e raciocina sobre conteúdo visual. |
|
Uso de Ferramentas — Chamada de Funções Defina ferramentas personalizadas com JSON Schema. O DeepSeek decide quando invocá-las, habilitando fluxos de trabalho agênticos e de múltiplas etapas. |
Gerenciamento de Modelos Liste todos os modelos DeepSeek disponíveis programaticamente. Consulte IDs de modelos, proprietários e capacidades. |
Retry e Logging Integrados Repetição automática em falhas transitórias com tentativas e intervalos de espera configuráveis. Registro completo de requisições/respostas para depuração. |
Primeiros Passos
Integre o DeepSeek ao seu projeto Delphi em menos de um minuto. Solte o componente, configure sua chave de API e envie sua primeira mensagem.
// 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;
Dois estilos de API. Cada recurso oferece métodos de conveniência (baseados em strings, código mínimo) e classes tipadas de requisição/resposta (controle total, segurança de tipos). Escolha a abordagem que melhor se adapta ao seu caso de uso.
Chat Completions & Streaming
A API Chat Completions é a base de cada interação com o DeepSeek. Envie texto com prompts de sistema opcionais e receba respostas de forma síncrona ou em streaming em tempo real.
Prompts de Sistema
Controle o comportamento do DeepSeek fornecendo um prompt de sistema que define o contexto, personalidade ou restrições para a conversa.
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."
Streaming em Tempo Real
Para interfaces de usuário responsivas, transmita a resposta do DeepSeek token por token usando Server-Sent Events. Atribua o manipulador de evento OnHTTPAPISSE e chame _CreateMessageStream.
// 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;
API Tipada Avançada
Para controle total sobre os parâmetros da requisição — temperatura, top-p, penalidade de frequência, penalidade de presença, sequências de parada — use as classes tipadas de requisição e resposta.
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;
Visão — Compreensão de Imagens
O DeepSeek pode analisar e raciocinar sobre imagens. Envie fotografias, capturas de tela, diagramas ou documentos junto com um prompt de texto e receba descrições detalhadas, extração de dados ou perguntas e respostas visuais.
// 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;
Caso de uso. Automatize o processamento de notas fiscais, extraia texto de documentos, analise gráficos e tabelas ou construa pipelines de classificação de imagens — tudo em código Delphi nativo com os preços competitivos do DeepSeek.
Uso de Ferramentas — Chamada de Funções
Defina ferramentas personalizadas com JSON Schema e o DeepSeek decidirá quando e como invocá-las. Esta é a base para construir fluxos de trabalho agênticos e de múltiplas etapas que conectam a IA à sua lógica de negócios.
// 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;
Gerenciamento de Modelos
Consulte os modelos DeepSeek disponíveis de forma programática. Liste todos os modelos para descobrir novas capacidades à medida que forem disponibilizadas.
// 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;
Configuração & Opções
Ajuste o comportamento do componente com opções de configuração abrangentes.
| Propriedade | Descrição |
|---|---|
DeepSeekOptions.ApiKey |
Sua chave de API do DeepSeek (obrigatória) |
HttpOptions.ReadTimeout |
Timeout de leitura HTTP em milissegundos (padrão: 60000) |
LogOptions.Enabled |
Habilita o registro de requisições/respostas |
RetryOptions.Enabled |
Repetição automática em falhas transitórias |
RetryOptions.Retries |
Número máximo de tentativas de repetição (padrão: 3) |
RetryOptions.Wait |
Tempo de espera entre tentativas em milissegundos (padrão: 3000) |
Parâmetros da Requisição
| Parâmetro | Descrição |
|---|---|
Temperature |
Temperatura de amostragem (0.0–2.0). Valores menores = mais determinístico. |
TopP |
Amostragem nucleus (0.0–1.0). Controla o corte de probabilidade cumulativa. |
MaxTokens |
Número máximo de tokens na resposta (padrão: 4096). |
FrequencyPenalty |
Penaliza tokens com base na frequência no texto até o momento. |
PresencePenalty |
Penaliza tokens com base em sua presença no texto até o momento. |
ToolChoice |
Controla a seleção de ferramentas: 'auto', 'none' ou 'required'. |
Vantagem de custo. Os modelos DeepSeek entregam qualidade competitiva a preços significativamente menores do que provedores comparáveis. Combinado com a lógica de repetição e registro integrados do componente sgcWebSockets, você obtém integração de IA pronta para produção a uma fração do custo.
