Skip to main content
Yapay Zeka ve Yazılım

AI API Entegrasyonu: OpenAI, Anthropic, Google APIs

Mart 06, 2026 10 dk okuma 25 views Raw
AI API entegrasyonu - OpenAI, Anthropic ve Google API bağlantıları
İçindekiler

1. Giriş: AI API Ekosistemi

Yapay zeka teknolojileri, modern yazılım geliştirme süreçlerinin vazgeçilmez bir parçası haline geldi. 2026 yılı itibarıyla üç büyük oyuncu — OpenAI, Anthropic ve Google — geliştiricilere güçlü API'ler sunarak yapay zeka yeteneklerini uygulamalara entegre etmeyi kolaylaştırıyor. Doğal dil işleme, kod üretimi, görsel analiz ve çok modlu görevler için bu API'ler, startuplardan büyük kurumsal şirketlere kadar geniş bir yelpazede kullanılmaktadır.

Bu rehberde, OpenAI GPT serisi, Anthropic Claude ve Google Gemini API'lerini derinlemesine karşılaştıracak, her birinin güçlü ve zayıf yönlerini analiz edecek, fiyatlandırma modellerini inceleyecek ve gerçek dünya senaryolarında kullanabileceğiniz kod örnekleri sunacağız. Amacımız, projeniz için en uygun AI API'yi seçmenize yardımcı olmaktır.

💡 İpucu: API seçimi yaparken yalnızca fiyata değil, modelin yeteneklerine, gecikme süresine (latency) ve ekosistem desteğine de dikkat edin.

2. OpenAI API Detaylı İnceleme

OpenAI, GPT serisinin mucidi olarak AI API pazarının öncüsü konumundadır. GPT-4o, GPT-4 Turbo ve o1 modelleri ile geliştiricilere çok yönlü bir API deneyimi sunmaktadır.

Temel Özellikler

  • Chat Completions API: Sohbet tabanlı etkileşimler için ana endpoint
  • Assistants API: Kalıcı thread'ler, dosya erişimi ve kod çalıştırma yetenekleri
  • Vision (Görsel Anlama): GPT-4o ile resim analizi
  • Function Calling: Yapılandırılmış çıktı ve harici araç entegrasyonu
  • Embeddings API: Metin vektörizasyonu ve semantik arama
  • DALL-E & Whisper: Görsel üretim ve ses tanıma

OpenAI API Kimlik Doğrulama

OpenAI API, Bearer token kimlik doğrulaması kullanır. API anahtarınızı HTTP başlığında göndermeniz gerekir:

Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

OpenAI Model Seçenekleri

Model Context En İyi Kullanım
GPT-4o 128K Genel amaçlı, multimodal
GPT-4 Turbo 128K Karmaşık muhakeme
GPT-4o-mini 128K Hız ve maliyet optimizasyonu
o1 200K İleri düzey muhakeme, matematik

3. Anthropic Claude API

Anthropic, güvenlik odaklı yapay zeka araştırma şirketi olarak Claude modelini geliştirmiştir. Claude API, özellikle uzun bağlam penceresi, güvenilir çıktılar ve kurumsal güvenlik gereksinimleriyle öne çıkmaktadır.

Claude Modelleri

  • Claude Opus 4: En güçlü model, karmaşık analiz ve uzun belgeler için ideal
  • Claude Sonnet 4: Performans ve maliyet dengesi, genel amaçlı kullanım
  • Claude Haiku: Hızlı ve ekonomik, yüksek hacimli işlemler için

Claude API'nin Ayırt Edici Özellikleri

Claude API, geliştiriciler için bazı benzersiz avantajlar sunar:

  • 200K Token Bağlam Penceresi: Uzun dokümanları ve kod tabanlarını tek seferde analiz edebilme
  • System Prompt Desteği: Modelin davranışını hassas şekilde yönetme
  • Tool Use (Araç Kullanımı): Fonksiyon çağırma ve yapılandırılmış çıktı
  • Vision: Resim ve grafik analizi
  • Streaming: Gerçek zamanlı yanıt akışı
  • Extended Thinking: Karmaşık problemlerde adım adım düşünme süreci

Anthropic API Yapısı

POST https://api.anthropic.com/v1/messages
Headers:
  x-api-key: sk-ant-xxxxxxxxxxxxx
  anthropic-version: 2023-06-01
  content-type: application/json

4. Google Gemini API

Google, Gemini modeliyle yapay zeka yarışında güçlü bir rakip olarak konumlandı. Gemini API, Google Cloud ekosistemiyle derin entegrasyonu ve çok modlu yetenekleriyle dikkat çekmektedir.

Gemini Modelleri

Model Context Özellik
Gemini 2.5 Pro 1M En gelişmiş muhakeme
Gemini 2.0 Flash 1M Hız ve verimlilik
Gemini 1.5 Pro 2M Ultra uzun bağlam

Google AI Studio ve Vertex AI

Google, Gemini API'yi iki farklı platform üzerinden sunar:

  • Google AI Studio: Hızlı başlangıç, bireysel geliştiriciler ve prototipler için ücretsiz katman
  • Vertex AI: Kurumsal düzeyde güvenlik, SLA ve Google Cloud entegrasyonu
⚠️ Uyarı: Google AI Studio ücretsiz katmanı, üretim ortamları için uygun değildir. Ticari projeler için Vertex AI kullanmanız önerilir.

5. Kapsamlı Karşılaştırma Tablosu

Üç büyük AI API sağlayıcısını temel özellikler açısından karşılaştıralım:

Özellik OpenAI Anthropic Google
Maks. Bağlam 200K (o1) 200K 2M
Multimodal Metin, Görsel, Ses Metin, Görsel Metin, Görsel, Ses, Video
Function Calling Evet Evet (Tool Use) Evet
Streaming SSE SSE SSE
Ücretsiz Katman Sınırlı Yok Evet (AI Studio)
SDK Dilleri Python, Node, C#, Java Python, TypeScript Python, Node, Go, Java
Fine-tuning Evet Sınırlı Evet

6. Fiyatlandırma Analizi

AI API maliyetleri genellikle token bazlı olarak hesaplanır. Input (giriş) ve output (çıkış) tokenları farklı fiyatlandırılır. Aşağıdaki tablo, 1 milyon token başına yaklaşık fiyatları göstermektedir:

Model Input (1M token) Output (1M token)
GPT-4o $2.50 $10.00
GPT-4o-mini $0.15 $0.60
Claude Opus 4 $15.00 $75.00
Claude Sonnet 4 $3.00 $15.00
Claude Haiku $0.25 $1.25
Gemini 2.5 Pro $1.25 $10.00
Gemini 2.0 Flash $0.10 $0.40
💡 Maliyet İpucu: Prompt caching özelliği sunan API'lerde (OpenAI ve Anthropic), tekrarlayan isteklerde %50-90 oranında maliyet tasarrufu sağlanabilir.

7. Rate Limiting Stratejileri

Her API sağlayıcısı, kaynakların adil kullanımını sağlamak amacıyla rate limit uygular. Bu limitleri aşmamak için etkili stratejiler geliştirmek kritik önem taşır.

Rate Limit Türleri

  • RPM (Requests Per Minute): Dakikada izin verilen istek sayısı
  • TPM (Tokens Per Minute): Dakikada işlenebilecek toplam token sayısı
  • RPD (Requests Per Day): Günlük toplam istek limiti

Exponential Backoff Stratejisi

Rate limit hatası (HTTP 429) aldığınızda, üstel geri çekilme (exponential backoff) uygulamanız önerilir:

# Python - Exponential Backoff
import time
import random

def api_call_with_retry(func, max_retries=5):
    for attempt in range(max_retries):
        try:
            return func()
        except RateLimitError:
            wait_time = (2 ** attempt) + random.uniform(0, 1)
            print(f"Rate limit aşıldı. {wait_time:.1f}s bekleniyor...")
            time.sleep(wait_time)
    raise Exception("Maksimum deneme sayısı aşıldı")

Token Bucket Algoritması

Daha sofistike uygulamalar için token bucket algoritması kullanabilirsiniz. Bu yöntem, belirli bir hızda token biriktirerek isteklerin düzgün dağılmasını sağlar. Özellikle yüksek hacimli uygulamalarda, burst trafiği yönetmek için idealdir.

8. Güvenlik ve Best Practices

AI API entegrasyonlarında güvenlik, en kritik konulardan biridir. API anahtarlarının sızması, yetkisiz kullanım ve veri güvenliği gibi riskler ciddi sonuçlar doğurabilir.

API Anahtarı Yönetimi

🚨 Kritik Uyarı: API anahtarlarını asla kaynak kodunda veya versiyon kontrol sistemlerinde saklamayın! Her zaman ortam değişkenleri veya güvenli anahtar kasası (vault) kullanın.
  • Ortam Değişkenleri: API anahtarlarını .env dosyasında saklayın ve .gitignore ile hariç tutun
  • Azure Key Vault / AWS Secrets Manager: Kurumsal projelerde güvenli anahtar yönetimi
  • Anahtar Rotasyonu: Düzenli aralıklarla API anahtarlarını değiştirin
  • En Az Yetki Prensibi: Sadece gerekli izinlere sahip anahtarlar oluşturun

Veri Güvenliği

  • Kişisel verileri (PII) API'ye göndermeden önce anonimleştirin
  • HTTPS kullanarak iletim sırasında şifreleme sağlayın
  • API yanıtlarını loglarken hassas verileri maskeleyin
  • GDPR ve KVKK uyumluluğunu kontrol edin

Input Validasyonu

Kullanıcı girdilerini API'ye göndermeden önce mutlaka doğrulayın. Prompt injection saldırılarına karşı savunma mekanizmaları kurun. System prompt'ları ile model davranışını sınırlayın ve beklenmeyen çıktıları filtreleme katmanları ekleyin.

9. SDK'lar ve Kütüphaneler

Her API sağlayıcısı, farklı programlama dilleri için resmi SDK'lar sunmaktadır. Doğru SDK seçimi, geliştirme hızını ve kod kalitesini doğrudan etkiler.

OpenAI SDK'ları

# Python
pip install openai

# Node.js
npm install openai

# C# (.NET)
dotnet add package OpenAI

Anthropic SDK'ları

# Python
pip install anthropic

# TypeScript/Node.js
npm install @anthropic-ai/sdk

Google Gemini SDK'ları

# Python
pip install google-generativeai

# Node.js
npm install @google/generative-ai

# Go
go get github.com/google/generative-ai-go

10. Kod Örnekleri (Python, C#, JavaScript)

Python - OpenAI Chat Completion

from openai import OpenAI
import os

client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "Sen yardımcı bir asistansın."},
        {"role": "user", "content": "Python ile REST API nasıl oluşturulur?"}
    ],
    temperature=0.7,
    max_tokens=1000
)

print(response.choices[0].message.content)

Python - Anthropic Claude

import anthropic
import os

client = anthropic.Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    system="Sen deneyimli bir yazılım mühendisisin.",
    messages=[
        {"role": "user", "content": "Microservices mimarisinin avantajları nelerdir?"}
    ]
)

print(message.content[0].text)

Python - Google Gemini

import google.generativeai as genai
import os

genai.configure(api_key=os.environ["GOOGLE_API_KEY"])

model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content("Yapay zeka etiği hakkında bilgi ver.")

print(response.text)

C# - OpenAI Entegrasyonu

using OpenAI;
using OpenAI.Chat;

var client = new ChatClient(
    model: "gpt-4o",
    apiKey: Environment.GetEnvironmentVariable("OPENAI_API_KEY")
);

var response = await client.CompleteChatAsync(new[]
{
    new SystemChatMessage("Sen yardımcı bir asistansın."),
    new UserChatMessage("C# ile async programlama hakkında bilgi ver.")
});

Console.WriteLine(response.Value.Content[0].Text);

C# - Anthropic Claude ile HttpClient

using System.Net.Http.Json;

var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("ANTHROPIC_API_KEY"));
httpClient.DefaultRequestHeaders.Add("anthropic-version", "2023-06-01");

var requestBody = new
{
    model = "claude-sonnet-4-20250514",
    max_tokens = 1024,
    messages = new[]
    {
        new { role = "user", content = "SOLID prensiplerini açıkla." }
    }
};

var response = await httpClient.PostAsJsonAsync(
    "https://api.anthropic.com/v1/messages", requestBody);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);

JavaScript - OpenAI (Node.js)

import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY
});

const completion = await openai.chat.completions.create({
  model: 'gpt-4o',
  messages: [
    { role: 'system', content: 'Sen yardımcı bir asistansın.' },
    { role: 'user', content: 'React ile state management nasıl yapılır?' }
  ],
  temperature: 0.7
});

console.log(completion.choices[0].message.content);

JavaScript - Anthropic Claude (Node.js)

import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY
});

const message = await anthropic.messages.create({
  model: 'claude-sonnet-4-20250514',
  max_tokens: 1024,
  messages: [
    { role: 'user', content: 'TypeScript ile tip güvenliği nasıl sağlanır?' }
  ]
});

console.log(message.content[0].text);

JavaScript - Streaming Örneği (OpenAI)

const stream = await openai.chat.completions.create({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'Uzun bir hikaye yaz.' }],
  stream: true
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content || '';
  process.stdout.write(content);
}

11. Entegrasyon Best Practices

Hata Yönetimi

Üretim ortamında sağlam bir hata yönetimi stratejisi kritik önem taşır. Her API çağrısını try-catch blokları ile sarmalayın ve farklı hata türleri için özel işleme mantığı uygulayın:

  • 400 Bad Request: İstek parametrelerini kontrol edin
  • 401 Unauthorized: API anahtarını doğrulayın
  • 429 Too Many Requests: Rate limit - exponential backoff uygulayın
  • 500 Internal Server Error: API sağlayıcı taraflı sorun - tekrar deneyin
  • Timeout: Bağlantı zaman aşımı - circuit breaker deseni kullanın

Caching Stratejileri

API maliyetlerini düşürmek ve yanıt sürelerini iyileştirmek için caching kullanın:

  • Prompt Caching: OpenAI ve Anthropic'in sunduğu yerleşik caching
  • Response Caching: Aynı sorular için yanıtları Redis veya Memcached'de saklayın
  • Semantic Caching: Embedding tabanlı benzer sorguları tespit edin

Monitoring ve Logging

API kullanımınızı izlemek, maliyet kontrolü ve hata ayıklama için olmazsa olmazdır. Her API çağrısında şunları loglayın: model adı, token kullanımı, yanıt süresi, başarı/hata durumu. Bu metrikleri Grafana veya benzeri araçlarla görselleştirerek anormallikleri erken tespit edebilirsiniz.

Multi-Provider Mimari

Tek bir API sağlayıcısına bağımlı kalmak risk oluşturur. Birden fazla sağlayıcıyı destekleyen bir soyutlama katmanı oluşturarak, bir sağlayıcıda sorun olduğunda otomatik olarak diğerine geçiş yapabilirsiniz. Bu yaklaşım hem yüksek erişilebilirlik sağlar hem de maliyet optimizasyonu imkanı sunar.

12. Sonuç ve Öneriler

Her üç API sağlayıcısı da güçlü yetenekler sunmaktadır. Doğru seçim, projenizin gereksinimlerine bağlıdır:

  • OpenAI: En geniş ekosistem, en fazla SDK desteği, genel amaçlı kullanım için ideal
  • Anthropic Claude: Güvenlik odaklı, uzun bağlam penceresi, kurumsal uygulamalar ve hassas görevler için mükemmel
  • Google Gemini: Google Cloud entegrasyonu, ultra uzun bağlam, multimodal yetenekler ve rekabetçi fiyatlandırma

Önerimiz, küçük bir prototip ile başlayarak her üç API'yi de test etmeniz ve kendi kullanım senaryonuza en uygun olanı belirlemenizdir. Multi-provider mimari yaklaşımını benimseyerek, uzun vadede esneklik ve dayanıklılık kazanabilirsiniz.

13. Sıkça Sorulan Sorular

Hangi AI API'yi seçmeliyim?

Genel amaçlı projeler için OpenAI GPT-4o iyi bir başlangıç noktasıdır. Güvenlik ve uzun belge analizi öncelikliyse Anthropic Claude, Google Cloud kullanıyorsanız ve maliyet önemliyse Google Gemini tercih edilebilir. En iyi yaklaşım, her üçünü de kendi kullanım senaryonuzda test etmektir.

AI API maliyetlerini nasıl düşürebilirim?

Prompt caching kullanın, gereksiz token harcamalarından kaçının, daha küçük modelleri (GPT-4o-mini, Claude Haiku, Gemini Flash) basit görevler için tercih edin. Response caching ile aynı soruların tekrar tekrar API'ye gönderilmesini engelleyin. Prompt mühendisliği ile daha kısa ama etkili promptlar yazın.

Rate limit hatasını nasıl yönetirim?

Exponential backoff stratejisi uygulayın, token bucket algoritması kullanın, isteklerinizi kuyrukla yönetin ve API sağlayıcınızın sunduğu rate limit başlıklarını (headers) izleyerek proaktif olarak limitlere yaklaşmadan hızınızı ayarlayın. Gerekirse API sağlayıcınızdan daha yüksek limitler talep edin.

API anahtarlarımı nasıl güvenli tutarım?

API anahtarlarını asla kaynak koduna eklemeyin. Ortam değişkenleri, .env dosyaları veya güvenli anahtar kasaları (Azure Key Vault, AWS Secrets Manager, HashiCorp Vault) kullanın. Anahtarları düzenli olarak rotasyona tabi tutun ve her ortam (geliştirme, staging, üretim) için ayrı anahtarlar oluşturun.

Birden fazla AI API'yi aynı projede kullanabilir miyim?

Evet, multi-provider mimari yaklaşımı giderek yaygınlaşmaktadır. Farklı görevler için farklı modeller kullanabilir (örneğin, basit sınıflandırma için Gemini Flash, karmaşık analiz için Claude Opus), failover mekanizmaları kurabilir ve maliyet optimizasyonu yapabilirsiniz. Soyutlama katmanı (abstraction layer) oluşturarak provider değişimini kolaylaştırın.

Streaming yanıtlar ne zaman kullanılmalıdır?

Kullanıcı arayüzünde gerçek zamanlı metin gösterimi gerektiğinde streaming kullanın. Sohbet uygulamaları, uzun metin üretimi ve interaktif asistanlar için ideal olan streaming, kullanıcı deneyimini önemli ölçüde iyileştirir. Arka plan işlemleri ve batch processing gibi senaryolarda ise standart (non-streaming) yanıtlar yeterlidir.

Bu yazıyı paylaş