Anthropic Claude
Anthropic, güvenilir, yorumlanabilir ve yönlendirilebilir AI sistemleri oluşturan bir AI güvenliği şirketidir. Amiral gemisi model ailesi, düşünceli diyalog, içerik oluşturma, karmaşık akıl yürütme, kodlama ve daha fazlasında mükemmel olan Claude'dur.
sgcWebSockets kitaplığı, Anthropic Claude API ile etkileşim kurmak için bir Delphi bileşeni olan TsgcHTTP_API_Anthropic sağlar.
Anthropic API
Anthropic API, AI destekli uygulamalar oluşturmak için Claude modellerine erişim sağlar. API; metin üretimini, görüntü (görsel anlama), tool use (function calling), extended thinking, document/PDF işleme, prompt caching, citations, web search, akış, token sayımı ve message batches öğelerini destekler.
Özellikler
- Yapılandırılmış Çıktılar (Structured Outputs)
Configuration
Anthropic API, kimlik doğrulama için API anahtarları kullanır. İsteklerinizde kullanacağınız API anahtarını almak için Anthropic Console'daki API Keys sayfanızı ziyaret edin.
API anahtarınızın bir sır olduğunu unutmayın! Başkalarıyla paylaşmayın veya herhangi bir istemci tarafı kodda açığa çıkarmayın.
Bu API Anahtarı, bileşenin AnthropicOptions.ApiKey özelliğinde yapılandırılmalıdır. AnthropicOptions.AnthropicVersion özelliği API sürümünü belirtir (varsayılan: 2023-06-01).
Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'YOUR_API_KEY';
Özellikler
AnthropicOptions
- ApiKey: Anthropic API ile kimlik doğrulamak için API anahtarı.
- AnthropicVersion: API sürüm dizesi (varsayılan: 2023-06-01).
- BetaHeaders: Ön sürüm API özelliklerini etkinleştirmek için isteğe bağlı beta özellik başlıkları (örneğin files-api-2025-04-14, mcp-client-2025-11-20).
- HttpOptions: HTTP bağlantı ayarları.
- ReadTimeout: HTTP yanıtlarını okumak için milisaniye cinsinden zaman aşımı. Varsayılan 0'dır (zaman aşımı yok).
- LogOptions: Günlük (logging) yapılandırması.
- Enabled: True olduğunda, HTTP istekleri ve yanıtları bir dosyaya kaydedilir.
- FileName: Günlük çıktısının yazıldığı dosya yolu.
- RetryOptions: Başarısız API istekleri için otomatik yeniden deneme yapılandırması.
- Enabled: True olduğunda, başarısız istekler otomatik olarak yeniden denenir.
- Retries: Maksimum yeniden deneme girişimi sayısı.
- Wait: Yeniden deneme girişimleri arasındaki milisaniye cinsinden bekleme süresi.
Messages
Metin ve/veya görüntü içeriğine sahip yapılandırılmış bir giriş mesajları listesi gönderin; model konuşmadaki bir sonraki mesajı üretecektir.
- CreateMessage: Belirtilen model ve parametrelerle bir mesaj oluşturur.
- Model: Kullanılacak model (örneğin claude-sonnet-4-20250514).
- Message: Kullanıcı mesaj içeriği.
- MaxTokens: Üretilecek maksimum token sayısı (gerekli, varsayılan 4096).
- CreateMessageWithSystem: Bir system prompt ile bir mesaj oluşturur.
- System: Asistanın davranışını ayarlayan system prompt.
- CreateMessageStream: Akış (SSE) etkinleştirilmiş bir mesaj oluşturur. Olaylar OnHTTPAPISSE olay işleyicisi aracılığıyla iletilir.
- CreateMessageJSON: Sağlanan bir JSON Şemasına uygun yapılandırılmış JSON döndüren bir mesaj oluşturur.
- Schema: Çıktı biçimini tanımlayan bir JSON Şeması dizesi.
- CreateMessageWithThinking: Genişletilmiş düşünme etkinleştirilmiş bir mesaj oluşturur.
- BudgetTokens: Düşünme için maksimum token bütçesi (minimum 1024).
- CreateDocumentMessage: base64 belge (PDF veya metin) içeren bir mesaj oluşturur.
- DocumentBase64: base64 ile kodlanmış belge verileri.
- MediaType: MIME türü (örneğin application/pdf).
Vision
Claude, mesajlar içinde base64 kodlu içerik blokları olarak geçirilen görüntüleri anlayabilir.
- CreateVisionMessage: Bir metin istemiyle bir resim gönderir.
- ImageBase64: base64 ile kodlanmış resim verisi.
- MediaType: MIME türü (image/jpeg, image/png, image/gif, image/webp).
- Prompt: Resme eşlik edecek metin istemi.
Tool Use
Claude, harici sistemlerle etkileşim kurmak için araçları (function calling) kullanabilir. Araçları adları, açıklamaları ve giriş şemalarıyla tanımlarsınız ve Claude bir aracı çağırmak istediğinde tool_use içerik blokları üretir.
Models
Kullanılabilir Claude modellerini listeleyin ve açıklayın.
- GetModels: Mevcut tüm modelleri listeler.
- GetModel: Belirli bir model hakkında bilgi alır.
- ModelId: Alınacak modelin ID'si.
Extended Thinking
Genişletilmiş düşünme (extended thinking), Claude'un yanıt vermeden önce adım adım akıl yürütmesini sağlar ve matematik, kodlama ve analiz gibi karmaşık görevler için kaliteyi artırır.
- ThinkingType: Düşünmeyi etkinleştirmek için 'enabled', kapatmak için 'disabled' olarak ayarlayın.
- ThinkingBudgetTokens: Düşünme için token bütçesi (min 1024, MaxTokens'tan küçük olmalıdır).
- CreateMessageWithAdaptiveThinking: Adaptif düşünme ile bir mesaj oluşturur, Claude'un düşünme derinliğine otomatik olarak karar vermesini sağlar.
Documents
Claude, içerik blokları olarak gönderilen PDF belgelerini ve metin dosyalarını işleyebilir. base64, text ve URL kaynak türlerini destekler.
- CreateDocumentMessage: Bir metin istemiyle bir belge gönderir.
- DocumentBase64: base64 ile kodlanmış belge verisi.
- MediaType: MIME türü (application/pdf, text/plain).
Prompt Caching
Önbellek okumalarında maliyetleri %90'a kadar azaltmak için API çağrıları arasında sık kullanılan bağlamı (system prompt'lar, content blokları, tool tanımları) önbelleğe alın.
-
SystemCacheControl: Sistem prompt'unu önbelleğe almak için istekte True olarak ayarlayın.
- CacheControl: Content block'larında veya araç tanımlarında 'ephemeral' olarak ayarlayın.
- BetaHeaders: AnthropicOptions'ta isteğe bağlı beta özellik başlıkları.
Citations
Belgeler alıntılar etkin olarak gönderildiğinde, Claude yanıtına kaynak referansları ekler. Alıntı türleri arasında char_location (metin), page_location (PDF), content_block_location (özel içerik) ve web_search_result_location (web araması) bulunur.
Web Search
Claude, yerleşik web_search aracını kullanarak gerçek zamanlı bilgi için web'de arama yapabilir. Diğer yerleşik araçlar code_execution ve computer use içerir.
- CreateMessageWithWebSearch: Web search etkinleştirilmiş bir mesaj oluşturur.
- Model: Kullanılacak model.
- Message: Kullanıcı sorgusu.
Token Counting
Bir mesajı göndermeden önce içindeki token sayısını sayar.
- CountTokens: Bir mesaj için girdi token'larının sayısını sayar.
- Model: Token sayımı için kullanılacak model.
- Message: Token sayılacak mesaj içeriği.
Message Batches
Message Batches API, büyük hacimli mesajları asenkron olarak işlemenize olanak tanır.
- ListBatches: Tüm mesaj yığınlarını listeler.
- GetBatch: Belirli bir grubu ID'ye göre getirir.
- CancelBatch: Hala işlenmekte olan bir grubu iptal eder.
- GetBatchResults: Tamamlanmış bir yığının sonuçlarını alır.
Structured Outputs
Claude'u, sağlanan bir JSON Schema'ya uygun geçerli JSON döndürmeye zorlayın. Çıktı kalitesini maliyete karşı kontrol etmek için Effort parametresiyle birleştirin.
- CreateMessageJSON: JSON şema çıktısı ile bir mesaj oluşturur.
- Schema: Çıktı biçimini tanımlayan bir JSON Schema dizesi.
- OutputFormatSchema: (Request özelliği) Yapılandırılmış çıktı için JSON Schema.
- Effort: (Request özelliği) Kaliteyi maliyete karşı denetler: 'low', 'medium', 'high', 'max'.
- Strict: (Tool özelliği) True olduğunda, araç girdilerinin input_schema ile eşleşmesi garanti edilir.
Files API
Dosyaları yükleyin, listeleyin, alın, indirin ve silin. Yüklenen dosyalar, file source türüyle belge içerik blokları kullanılarak mesajlarda başvurulabilir. files-api-2025-04-14 beta başlığını gerektirir.
- UploadFile: Yerel bir dosyayı yükler. Dosya metadata'sını döndürür.
- ListFiles: Yüklenen dosyaları sayfalama ile listeler.
- GetFile: Belirli bir dosya için metadata'yı getirir.
- DownloadFile: Dosya içeriğini indirir.
- DeleteFile: Bir dosyayı kalıcı olarak siler.
İstek Parametreleri
Messages API'sinde kullanılabilen ek istek parametreleri.
- ServiceTier: Öncelik katmanı kullanımını kontrol eder: 'auto' (varsayılan) veya 'standard_only'.
- InferenceGeo: Çıkarım coğrafyasını kontrol eder: 'global' (varsayılan) veya 'us'.
- Container: İstekler arasında kod yürütme ortamlarını yeniden kullanmak için Container ID'si.
- IsError: (İçerik bloğu özelliği) Araç yürütme başarısızlığını belirtmek için tool_result bloklarında True olarak ayarlayın.
- CacheTTL: Genişletilmiş önbellek yaşam süresi (time-to-live): '5m' (varsayılan) veya '1h'.
- ThinkingType: Claude'un düşünme derinliğine otomatik olarak karar vermesine izin vermek için 'adaptive' olarak ayarlayın.
MCP Connector
Üçüncü taraf araçlara erişmek için Claude'u harici MCP (Model Context Protocol) sunucularına bağlayın. mcp-client-2025-11-20 beta başlığını gerektirir.
- CreateMessageWithMCP: Bir MCP sunucu bağlantısı ile bir mesaj oluşturur.
- MCPServerUrl: MCP sunucusunun HTTPS URL'si.
- MCPServerName: Sunucu için benzersiz ad.
- MCPServers: (Request özelliği) ServerType, Url, Name, AuthorizationToken içeren MCP sunucu tanımları dizisi.
- MCPServerName: (Tool özelliği) ToolType 'mcp_toolset' olduğunda bir MCP sunucusuna başvurur.