Anthropic API dla Delphi

· Komponenty

Zintegruj Anthropic Claude API ze swoimi aplikacjami Delphi

sgcWebSockets dostarcza gotowy do produkcji komponent Delphi dla pełnego Anthropic Claude API — od generowania tekstu i rozumienia obrazów po użycie narzędzi, rozszerzone myślenie i więcej. 

Anthropic Claude to jedna z najbardziej zaawansowanych rodzin modeli AI dostępnych obecnie, ceniona za wyjątkowe rozumowanie, projektowanie zorientowane na bezpieczeństwo i wszechstronne możliwości w zakresie tekstu, kodu, obrazów i danych strukturalnych. Dla deweloperów Delphi pragnących wykorzystać te możliwości sgcWebSockets dostarcza TsgcHTTP_API_Anthropic — kompletny, natywny komponent owijający całą powierzchnię Anthropic API.

Niezależnie od tego, czy tworzysz inteligentne chatboty, automatyzujesz analizę dokumentów, orkiestrujesz złożone pipelines narzędzi, czy przetwarzasz tysiące żądań wsadowo, komponent daje bezpośredni dostęp do każdej funkcji Claude przez czysty, typowany kod Delphi. Bez szablonowego kodu REST. Bez manipulowania JSON. Wystarczy wrzucić komponent, ustawić klucz API i zacząć budować.

Pełne pokrycie API

 Każda główna funkcja Anthropic Claude API jest obsługiwana od razu po instalacji.

Wiadomości i streaming

Wysyłaj wiadomości z promptami systemowymi, odbieraj odpowiedzi synchronicznie lub strumieniowane w czasie rzeczywistym przez Server-Sent Events.
Vision

Analizuj obrazy w formatach JPEG, PNG, GIF i WebP. Claude opisuje, interpretuje i rozumuje o treści wizualnej.
Użycie narzędzi

Definiuj niestandardowe narzędzia za pomocą JSON Schema i pozwól Claude je wywoływać. Buduj agentic workflows z wywołaniami funkcji.
Rozszerzone myślenie

Włącz rozumowanie krok po kroku dla złożonych zadań. Idealne do matematyki, analizy i rozwiązywania wieloetapowych problemów.
Przetwarzanie dokumentów

Wysyłaj dokumenty PDF i pliki tekstowe do analizy, streszczania i odpowiadania na pytania z obsługą cytatów.
Wyniki strukturalne

Wymuszaj na Claude zwracanie prawidłowego JSON zgodnego z Twoim schematem. Gwarantowane, parsowalne, typowane odpowiedzi.
Wyszukiwanie w sieci

Pozwól Claude wyszukiwać informacje w czasie rzeczywistym podczas rozmów za pomocą wbudowanych narzędzi po stronie serwera.
Buforowanie promptów

Buforuj prompty systemowe, bloki treści i definicje narzędzi. Redukuj koszty nawet o 90% przy powtarzającym się kontekście.
Wsadowe przetwarzanie wiadomości

Przetwarzaj tysiące żądań asynchronicznie. Idealne do masowego generowania treści i potoków przetwarzania danych.
Files API

Przesyłaj, listuj, pobieraj i zarządzaj plikami na serwerach Anthropic. Odwołuj się do nich w wielu rozmowach.
MCP Connector

Połącz Claude z zewnętrznymi serwerami Model Context Protocol. Rozszerzaj możliwości o narzędzia i usługi trzecich stron.
Liczenie tokenów

Licz tokeny przed wysyłaniem żądań. Dokładnie szacuj koszty i zarządzaj budżetem okna kontekstu.

Pierwsze kroki

Zintegruj Claude z projektem Delphi w mniej niż minutę. Wrzuć komponent, skonfiguruj klucz API i wyślij pierwszą wiadomość. 

// Create the component and configure the API key
var
  Anthropic: TsgcHTTP_API_Anthropic;
  vResponse: string;
begin
  Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
  Try
    Anthropic.AnthropicOptions.ApiKey := 'YOUR_API_KEY';
    // Send a simple message to Claude
    vResponse := Anthropic._CreateMessage(
      'claude-sonnet-4-20250514', 'Hello, Claude!');
    ShowMessage(vResponse);
  Finally
    Anthropic.Free;
  End;
end; 

Wiadomości i streaming

Messages API stanowi fundament każdej interakcji z Claude. Wysyłaj tekst z opcjonalnymi promptami systemowymi i odbieraj odpowiedzi synchronicznie lub strumieniowane w czasie rzeczywistym.

Prompty systemowe

Kontroluj zachowanie Claude, podając prompt systemowy ustawiający kontekst, osobowość lub ograniczenia rozmowy. 

vResponse := Anthropic._CreateMessageWithSystem(
  'claude-sonnet-4-20250514',
  'You are a helpful assistant that responds in Spanish.',
  'What is the capital of France?');
// Returns: "La capital de Francia es París." 

Streaming w czasie rzeczywistym

Dla responsywnych interfejsów użytkownika strumieniuj odpowiedź Claude token po tokenie za pomocą Server-Sent Events. Przypisz handler zdarzenia OnHTTPAPISSE i wywołaj _CreateMessageStream

// Enable streaming via SSE
Anthropic.OnHTTPAPISSE := OnSSEEvent;
Anthropic._CreateMessageStream('claude-sonnet-4-20250514',
  'Tell me a story about a brave explorer.');
procedure TForm1.OnSSEEvent(Sender: TObject;
  const aEvent, aData: string; var Cancel: Boolean);
begin
  // aEvent: event type (e.g., content_block_delta)
  // aData: JSON payload for this event
  Memo1.Lines.Add(aData);
end; 

Zaawansowane typowane API

Dla pełnej kontroli nad parametrami żądania — temperature, top-p, sekwencje stop, metadane — używaj typowanych klas żądania i odpowiedzi. 

var
  oRequest: TsgcAnthropicClass_Request_Messages;
  oMessage: TsgcAnthropicClass_Request_Message;
  oResponse: TsgcAnthropicClass_Response_Messages;
begin
  oRequest := TsgcAnthropicClass_Request_Messages.Create;
  Try
    oRequest.Model := 'claude-sonnet-4-20250514';
    oRequest.MaxTokens := 1024;
    oRequest.System := 'You are a helpful assistant.';
    oRequest.Temperature := 0.7;
    oMessage := TsgcAnthropicClass_Request_Message.Create;
    oMessage.Role := 'user';
    oMessage.Content := 'Explain quantum computing in simple terms.';
    // ... add message to request, send, and process response
    oResponse := Anthropic.CreateMessage(oRequest);
    Try
      if Length(oResponse.Content) > 0 then
        ShowMessage(oResponse.Content[0].Text);
    Finally
      oResponse.Free;
    End;
  Finally
    oMessage.Free;
    oRequest.Free;
  End;
end; 

Vision — rozumienie obrazów

 Claude może analizować i rozumować na temat obrazów. Wysyłaj zdjęcia, zrzuty ekranu, diagramy lub wykresy i otrzymuj szczegółowe opisy, ekstrakcję danych lub wizualne Q&A.

Obsługiwane formaty to JPEG, PNG, GIF i WebP. Obrazy są wysyłane jako bloki treści zakodowane w base64.

// Load an image and ask Claude to describe it
var
  vBase64: string;
begin
  vBase64 := sgcBase64Encode(LoadFileToBytes('product-photo.png'));
  ShowMessage(Anthropic._CreateVisionMessage(
    'claude-sonnet-4-20250514',
    'Describe this product image for an e-commerce listing.',
    vBase64, 'image/png'));
end; 

Użycie narzędzi — wywołania funkcji

Definiuj niestandardowe narzędzia za pomocą JSON Schema, a Claude zdecyduje kiedy i jak je wywoływać. To fundament budowania agentic, wieloetapowych workflows.

Przepływ użycia narzędzi ma jasny wzorzec: zdefiniuj narzędzia, wyślij żądanie, wykryj tool_use w odpowiedzi, wykonaj funkcję lokalnie i zwróć wynik do Claude dla ostatecznej odpowiedzi. 

// Define a weather tool with JSON Schema input
oTool := TsgcAnthropicClass_Request_Tool.Create;
oTool.Name := 'get_weather';
oTool.Description := 'Get the current weather in a given location';
oTool.InputSchema :=
  '{"type":"object","properties":{"location":{"type":"string",' +
  '"description":"The city and state"}},"required":["location"]}';
// Send request with tools defined
oResponse := Anthropic.CreateMessage(oRequest);
// Check if Claude wants to call a tool
if oResponse.StopReason = 'tool_use' then
begin
  for i := 0 to Length(oResponse.Content) - 1 do
  begin
    if oResponse.Content[i].ContentType = 'tool_use' then
    begin
      vToolUseId := oResponse.Content[i].Id;
      vToolName  := oResponse.Content[i].Name;
      vToolInput := oResponse.Content[i].Input;
      // Execute the tool and return the result to Claude
    end;
  end;
end; 

Przetwarzanie dokumentów i cytaty

Wysyłaj dokumenty PDF i pliki tekstowe do Claude w celu analizy, streszczania i odpowiadania na pytania. Włącz cytaty, aby otrzymać weryfikowalne odwołania do materiałów źródłowych. 

// Send a PDF and ask Claude to summarize it
vBase64 := sgcBase64Encode(LoadFileToBytes('annual-report.pdf'));
vResponse := Anthropic._CreateDocumentMessage(
  'claude-sonnet-4-20250514',
  'Summarize the key findings of this report.',
  vBase64, 'application/pdf'); 

Cytaty

Włącz cytaty w blokach treści dokumentu, aby otrzymywać odwołania do źródeł — w tym numery stron, zakresy znaków i cytowany tekst — w odpowiedzi Claude. 

oDocBlock := TsgcAnthropicClass_Request_Content_Block.Create;
oDocBlock.ContentType := 'document';
oDocBlock.SourceType := 'base64';
oDocBlock.MediaType := 'application/pdf';
oDocBlock.Data := vBase64;
oDocBlock.Title := 'Annual Report';
oDocBlock.CitationsEnabled := True;   

MCP Connector

Połącz Claude z zewnętrznymi serwerami Model Context Protocol (MCP), aby rozszerzyć jego możliwości o narzędzia i usługi trzecich stron — bazy danych, CRM, wewnętrzne API i inne. 

Anthropic.AnthropicOptions.BetaHeaders := 'mcp-client-2025-11-20';
// Connect to an MCP server with one method call
vResponse := Anthropic._CreateMessageWithMCP(
  'claude-sonnet-4-20250514',
  'What tools are available?',
  'https://my-mcp-server.example.com/sse',
  'my-mcp-server'); 

Uwierzytelnione serwery MCP

Dla serwerów wymagających uwierzytelnienia typowane API obsługuje tokeny OAuth Bearer. 

oServer := TsgcAnthropicClass_Request_MCPServer.Create;
oServer.ServerType := 'url';
oServer.Url := 'https://my-mcp-server.example.com/sse';
oServer.Name := 'my-server';
oServer.AuthorizationToken := 'OAUTH_TOKEN';
oTool := TsgcAnthropicClass_Request_Tool.Create;
oTool.ToolType := 'mcp_toolset';
oTool.MCPServerName := 'my-server';