Ulaşım
- Adres:Batıkent Mh. 8910 Sk. 6. Etap 1H No: 18 Yeni Toki Eyyübiye / Şanlıurfa (Yeni Alım Satım Karşısı)
- Telefon:0 (545) 528 88 93
- eMail: info@alestaweb.com
OpenAI o3 API, yapay zeka dünyasında bir çığır açan akıl yürütme (reasoning) modellerinin en güçlüsüdür. OpenAI o3 reasoning model ile o4-mini'nin Python entegrasyonunu, maliyet optimizasyonunu ve production-ready kullanımını Alesta Web ekibi olarak bu kapsamlı rehberde ele aldık. Eğer uygulamanıza gelişmiş AI düşünme yeteneği kazandırmak istiyorsanız, OpenAI o3 API ile başlamak için doğru yerdesiniz!
OpenAI o3 API, OpenAI'ın geliştirdiği yeni nesil "reasoning" (akıl yürütme) modellerinin en kapsamlısıdır. Geleneksel dil modellerinin aksine, OpenAI o3 reasoning model cevap vermeden önce adım adım düşünme süreci uygular. Bu yaklaşım özellikle matematik, kod yazma ve karmaşık analitik görevlerde dramatik başarı artışı sağlar.
o4-mini ise OpenAI o3 reasoning model ailesinin maliyet-etkin versiyonudur. Daha az compute kullanarak benzer reasoning kalitesi sunar. Alesta Web projelerinde hangi modeli kullanacağınız büyük ölçüde bütçenize ve görevin karmaşıklığına bağlıdır.
OpenAI o3 reasoning model, 2025 sonunda piyasaya sürülen o3-mini'nin geliştirilmiş versiyonudur. ARC-AGI benchmark'ında %87.5 başarı oranıyla insan üstü performans sergilemiştir. Alesta Web AI projelerinde bu modeli aktif olarak kullanmaktayız.
OpenAI o3 API'yi Python ile kullanmaya başlamak oldukça basittir. openai Python kütüphanesinin en güncel versiyonunu yüklemek kritik önem taşır çünkü eski versiyonlar OpenAI o3 reasoning model parametrelerini desteklemeyebilir.
# Python virtual environment oluştur
python -m venv openai-env
source openai-env/bin/activate # Linux/Mac
# openai-env\Scripts\activate # Windows
# openai kütüphanesini kur (v1.40+ gerekli)
pip install openai>=1.40.0
pip install python-dotenv
# API anahtarını .env dosyasına kaydet
echo "OPENAI_API_KEY=sk-your-key-here" > .env
import os
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# OpenAI o3 reasoning model ile basit istek
response = client.chat.completions.create(
model="o3",
messages=[
{
"role": "user",
"content": "Python'da binary search algoritmasını açıkla ve uygula."
}
]
)
print(response.choices[0].message.content)
print(f"Kullanılan token: {response.usage.total_tokens}")
OpenAI o3 API bağlantısı kuruldu. Model yanıt verirken "thinking" sürecini otomatik olarak gerçekleştirir. Alesta Web uygulamalarında bu yapıyı base client olarak kullanıyoruz.
OpenAI o3 API'nin en güçlü özelliklerinden biri reasoning_effort parametresidir. Bu parametre OpenAI o3 reasoning model'in ne kadar derin düşüneceğini kontrol eder. Maliyet ve hız optimizasyonu için kritik öneme sahiptir.
from openai import OpenAI
client = OpenAI()
# Düşük efektli reasoning (hızlı, ucuz)
response_low = client.chat.completions.create(
model="o3",
reasoning_effort="low",
messages=[{"role": "user", "content": "Türkiye'nin başkenti neresidir?"}]
)
# Orta efektli reasoning (dengeli)
response_medium = client.chat.completions.create(
model="o3",
reasoning_effort="medium",
messages=[{"role": "user", "content": "Bu Python kodundaki bug nedir?\n\ndef factorial(n):\n if n == 0: return 1\n return n * factorial(n-1)"}]
)
# Yüksek efektli reasoning (derin analiz, pahalı)
response_high = client.chat.completions.create(
model="o3",
reasoning_effort="high",
messages=[{
"role": "user",
"content": "Bu algoritmanın zaman ve uzay karmaşıklığını analiz et ve optimize et."
}]
)
# o4-mini ile maliyet optimizasyonu
response_mini = client.chat.completions.create(
model="o4-mini",
reasoning_effort="medium",
messages=[{"role": "user", "content": "REST API tasarım prensipleri nelerdir?"}]
)
print(f"o3 low tokens: {response_low.usage.total_tokens}")
print(f"o3 high tokens: {response_high.usage.total_tokens}")
print(f"o4-mini tokens: {response_mini.usage.total_tokens}")
Alesta Web projelerinde basit soru-cevap için reasoning_effort="low", kod inceleme ve hata ayıklama için "medium", kapsamlı sistem tasarımı için "high" kullanıyoruz. Bu yaklaşım OpenAI o3 API maliyetlerini %60'a kadar azaltabilir.
OpenAI o3 API streaming desteği sayesinde kullanıcılar uzun reasoning sürelerini beklemenin yerine yanıtı gerçek zamanlı alabilir. Bu özellik özellikle web uygulamalarında kullanıcı deneyimini büyük ölçüde iyileştirir.
from openai import OpenAI
client = OpenAI()
print("OpenAI o3 Streaming Başlıyor...\n")
with client.chat.completions.stream(
model="o3",
reasoning_effort="medium",
messages=[
{
"role": "system",
"content": "Sen bir uzman yazılım mimarısın. Alesta Web için çözümler üretiyorsun."
},
{
"role": "user",
"content": "Yüksek trafikli bir e-ticaret API'si için mikroservis mimarisi tasarla."
}
]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_completion()
print(f"\n\nToplam token: {final.usage.total_tokens}")
print(f"Reasoning token: {final.usage.completion_tokens_details.reasoning_tokens}")
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
from openai import AsyncOpenAI
import asyncio
app = FastAPI()
client = AsyncOpenAI()
async def generate_stream(prompt: str):
async with client.chat.completions.stream(
model="o4-mini",
reasoning_effort="medium",
messages=[{"role": "user", "content": prompt}]
) as stream:
async for text in stream.text_stream:
yield f"data: {text}\n\n"
@app.get("/chat")
async def chat_endpoint(q: str):
return StreamingResponse(
generate_stream(q),
media_type="text/event-stream"
)
OpenAI o3 API kullanırken maliyet optimizasyonu büyük önem taşır. OpenAI o3 reasoning model fiyatlandırması token bazlı olup reasoning token'ları ayrıca faturalandırılır.
# Yaklaşık fiyatlandırma (1M token başına USD)
model_pricing = {
"o3": {
"input": 10.00, # $10/1M input token
"output": 40.00, # $40/1M output token
"reasoning": 40.00 # Reasoning token da output gibi
},
"o4-mini": {
"input": 1.10, # $1.10/1M input token
"output": 4.40, # $4.40/1M output token
"reasoning": 4.40
},
"gpt-4o": {
"input": 2.50,
"output": 10.00,
"reasoning": 0
}
}
def estimate_cost(model: str, input_tokens: int, output_tokens: int, reasoning_tokens: int = 0) -> float:
p = model_pricing[model]
cost = (input_tokens / 1_000_000 * p["input"] +
output_tokens / 1_000_000 * p["output"] +
reasoning_tokens / 1_000_000 * p["reasoning"])
return cost
# Örnek: 1000 API çağrısı, her biri 500 input + 200 output token
for model in model_pricing:
cost = estimate_cost(model, 500, 200, 500) * 1000
print(f"{model}: 1000 çağrı = ${cost:.4f}")
OpenAI o3 API'de reasoning_effort="high" kullanımı reasoning token sayısını dramatik artırır. Alesta Web olarak production uygulamalarında varsayılan olarak "medium" kullanıp sadece gerektiğinde "high"'a geçmeyi öneriyoruz.
OpenAI o3 API kullanırken en sık karşılaşılan sorunlardan biri rate limit hatalarıdır. OpenAI o3 reasoning model, daha uzun işlem süresi nedeniyle rate limit hesaplamalarını farklı yapar.
import time
import random
from openai import OpenAI, RateLimitError, APITimeoutError
client = OpenAI()
def call_o3_with_retry(messages: list, max_retries: int = 5) -> str:
"""OpenAI o3 API için retry mekanizması"""
for attempt in range(max_retries):
try:
response = client.chat.completions.create(
model="o3",
reasoning_effort="medium",
messages=messages,
timeout=120 # o3 uzun sürebilir
)
return response.choices[0].message.content
except RateLimitError as e:
if attempt == max_retries - 1:
raise
# Exponential backoff: 1s, 2s, 4s, 8s, 16s
wait_time = (2 ** attempt) + random.random()
print(f"Rate limit aşıldı. {wait_time:.1f}s bekleniyor... (Deneme {attempt+1})")
time.sleep(wait_time)
except APITimeoutError:
if attempt == max_retries - 1:
raise
print(f"Timeout. Yeniden deneniyor... (Deneme {attempt+1})")
time.sleep(5)
return ""
# Kullanım örneği
result = call_o3_with_retry([
{"role": "user", "content": "Bu kodu optimize et: [kod buraya]"}
])
print(result)
OpenAI o3 API timeout değeri varsayılan 10s yerine en az 120s olarak ayarlanmalıdır. Alesta Web API entegrasyonlarında reasoning modellerini her zaman asenkron ve timeout-aware olarak çalıştırıyoruz.
OpenAI o3 API'yi production ortamında kullanmak için sağlam bir client yapısı gereklidir. Alesta Web'de kullandığımız production-ready OpenAI o3 reasoning model istemcisini paylaşıyoruz.
import os
import time
import logging
from dataclasses import dataclass
from typing import Optional
from openai import OpenAI, RateLimitError
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("AlestaAI")
@dataclass
class O3Config:
model: str = "o3"
reasoning_effort: str = "medium"
max_tokens: int = 4096
timeout: int = 180
max_retries: int = 3
class AlestaO3Client:
"""Alesta Web - OpenAI o3 API Production Client"""
def __init__(self, config: Optional[O3Config] = None):
self.config = config or O3Config()
self.client = OpenAI(
api_key=os.getenv("OPENAI_API_KEY"),
max_retries=0, # Manuel retry kullanıyoruz
timeout=self.config.timeout
)
def complete(self, user_message: str, system_message: str = "") -> dict:
messages = []
if system_message:
messages.append({"role": "system", "content": system_message})
messages.append({"role": "user", "content": user_message})
for attempt in range(self.config.max_retries):
try:
start = time.time()
response = self.client.chat.completions.create(
model=self.config.model,
reasoning_effort=self.config.reasoning_effort,
messages=messages
)
elapsed = time.time() - start
logger.info(f"o3 yanıt süresi: {elapsed:.2f}s, token: {response.usage.total_tokens}")
return {
"content": response.choices[0].message.content,
"tokens": response.usage.total_tokens,
"reasoning_tokens": getattr(response.usage.completion_tokens_details, 'reasoning_tokens', 0),
"elapsed": elapsed
}
except RateLimitError:
wait = 2 ** attempt * 5
logger.warning(f"Rate limit, {wait}s bekleniyor")
time.sleep(wait)
raise RuntimeError("OpenAI o3 API max retry aşıldı")
# Kullanım
ai = AlestaO3Client(O3Config(reasoning_effort="high"))
result = ai.complete(
user_message="alestaweb.com için SEO stratejisi oluştur",
system_message="Sen bir dijital pazarlama uzmanısın."
)
print(result["content"])
OpenAI o3 API'yi hangi senaryolarda kullanmalısınız? Alesta Web projelerinde farklı görevler için hangi modeli tercih ettiğimizi paylaşıyoruz.
# Hangi göreve hangi model?
model_selection_guide = {
"Basit soru-cevap": "gpt-4o-mini",
"Genel metin üretimi": "gpt-4o",
"Kod yazma (basit)": "gpt-4o",
"Kod yazma (karmaşık)": "o4-mini (reasoning_effort=medium)",
"Bug ayıklama": "o4-mini (reasoning_effort=high)",
"Matematik/STEM problemleri": "o3 (reasoning_effort=high)",
"Sistem tasarımı": "o3 (reasoning_effort=high)",
"Araştırma analizi": "o3 (reasoning_effort=high)",
"Hızlı akıl yürütme": "o4-mini (reasoning_effort=low)",
}
# Alesta Web kullanım örüntüsü
print("Alesta Web - Model Seçim Matrisi")
print("-" * 50)
for task, model in model_selection_guide.items():
print(f" {task:<35} → {model}")
OpenAI o3 API kurulumunuz tamamlandı! Alesta Web olarak reasoning model entegrasyonlarında yardıma ihtiyacınız olursa alestaweb.com üzerinden bize ulaşabilirsiniz.
OpenAI o3 API ile Python entegrasyonunuz hazır! Alesta Web ekibi olarak reasoning model teknolojilerini her gün aktif kullandığımız projelerimizde öğrendiğimiz en iyi pratikleri bu rehberde sizinle paylaştık. o3 ve o4-mini ile uygulamalarınıza bir üst seviye akıl yürütme yeteneği kazandırabilirsiniz.
Faydalı Linkler:
© 2026 AlestaWeb - Tüm hakları saklıdır.