Ana içeriğe geç

AI Gateway Genel Bakış

Apinizer AI Gateway Nedir?

Apinizer AI Gateway, uygulamalarınız ile birden fazla büyük dil modeli (LLM) sağlayıcısı arasında konumlanmış, OpenAI-uyumlu bir proxy ve gateway'dir. Her sağlayıcıya ayrı bağlantı yönetmek yerine, Apinizer'a bir kez bağlanıp istemci kodunuzda değişiklik yapmadan istekleri herhangi bir desteklenen LLM'ye yönlendirebilirsiniz.

bilgi

LLM, token, embedding gibi temel yapay zeka kavramlarına buradan girmiyoruz — bunlar için Yapay Zeka Temel Kavramları sayfasına bakabilirsiniz. Bu sayfa, Apinizer'ın AI Gateway modülünün ne yaptığına odaklanır.

Temel faydalar:

  • Tek uç nokta — Python OpenAI SDK ile uyumlu, yapılandırılabilir base_url üzerinden entegrasyon
  • Çoklu sağlayıcı desteği ve yanıt normalizasyonu — OpenAI-uyumlu hizmetlerin yanı sıra native formatlı Anthropic, Google Vertex (Gemini) ve AWS Bedrock sağlayıcılarına da bağlanırsınız; tüm sağlayıcı yanıtları OpenAI canonical formatına normalize edilir
  • Gerçek akış (streaming) — Sunucu Tarafından Gönderilen Olaylar (SSE) ile chunk başına iletim
  • Yerleşik kontroller — İstek filtreleme, kişisel veri (PII) maskeleme, semantik önbellekleme, token kotaları ve maliyet takibi
  • Kurumsal görünürlük — Kullanıcı, ekip, model ve dağıtım türüne (bulut vs. şirket içi) göre ayrıntılı kullanım raporları
Streaming ayarı istemcinin isteğindeki alanı ezer

Her AI proxy'nin AI Proxy Routing ekranında kendine ait bir Streaming ayarı bulunur. Bu ayar kapalıyken gateway, istemci istek gövdesinde stream: true gönderse bile isteği her zaman tekil (non-streaming) bir yanıt olarak işler — sağlayıcıya iletmeden önce bu alanı false olarak değiştirir (ve stream_options alanını kaldırır). Böylece token sayıları ve maliyet, istemcinin ne gönderdiğinden bağımsız olarak Trafik raporunda doğru görünür. Streaming açıkken istek etkilenmez ve yukarıda anlatıldığı gibi sunucu tarafından gönderilen olaylarla (SSE) iletilir.

Desteklenen LLM Sağlayıcıları

  • Bulut: OpenAI, Anthropic (Claude), Azure OpenAI, Google Vertex AI, AWS Bedrock
  • Şirket içi: vLLM, Ollama, Hugging Face TGI
  • Özel: OpenAI-uyumlu herhangi bir API uç noktası

Her sağlayıcı, şifreli API kimlik bilgileri ve dağıtım meta verileri içeren bir bağlantı aracılığıyla yapılandırılır.

bilgi

Sağlayıcı bağlantısı oluşturma ve dağıtım türü ayarları için LLM Sağlayıcıları ve Bağlantılar sayfasına bakın.

İstek ve Yanıt Formatı

İstemci tarafında her zaman OpenAI formatı kullanılır — Apinizer'a native Anthropic Messages veya Gemini formatıyla giriş yapmazsınız; tek arayüz OpenAI'dir. Sağlayıcı yanıtları OpenAI canonical formatına normalize edilir; böylece mevcut OpenAI istemci kodunuz, hangi sağlayıcıya yönlendirildiğinden bağımsız olarak çalışır.

Nasıl Çalışır?

İstek Akışı

Her istek aşağıdaki aşamalardan geçer:

  1. Alım — İstek OpenAI formatı JSON olarak doğrulanır ve ayrıştırılır
  2. Korumalar (isteğe bağlı) — Kişisel veri maskeleme, içerik filtreleri, istem denetimi; bkz. Gelişmiş Korumalar
  3. Semantik Önbellek (isteğe bağlı) — Benzer istekler önbelleğe alınmış yanıtları yeniden kullanır
  4. Hız Sınırlaması — Token kota uygulanması (dakika, saat, gün, ay başına veya USD bütçe); bkz. Token Kotaları ve Hız Sınırlaması
  5. Yönlendirme — Model kimliğine göre sağlayıcı bağlantısı (ve varsa yedek hedefler) seçilir; bkz. Yönlendirme ve Failover
  6. Çıkarım — İstek LLM sağlayıcısına iletilir
  7. Yanıt — Kullanım metrikleri ile chunk başına geri akışı yapılır

OpenAI SDK Entegrasyonu

Apinizer AI Gateway'i Python OpenAI SDK veya uyumlu herhangi bir istemci ile kullanın:

from openai import OpenAI

client = OpenAI(
api_key="apinizer-kimlik-bilgisi-anahtarınız",
base_url="https://apinizer-gateway-adresiniz.com/api/ai/v1"
)

response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Merhaba"}],
stream=True
)

for chunk in response:
print(chunk.choices[0].delta.content, end="")

İstemci tarafı kod değişikliği gerekmez — sadece base_url'yi Apinizer gateway'inize, api_key'i ise kimlik bilgisi anahtarınıza işaret edin. Uçtan uca ilk kurulum için AI Gateway Hızlı Başlangıç sayfasına bakın.

AI Gateway ile Klasik API Proxy Farkı

Bir AI Gateway, Apinizer'da aynı ApiProxy varlığıdır — aynı oluşturma/deploy/undeploy akışından, aynı ortam yönetiminden ve aynı proxy listesinden geçer, aynı uçlarla yönetilir. Fark, isteğin backend'e nasıl yönlendirildiğindedir:

  • Klasik API proxyrouting nesnesi (adres listesi, circuit breaker, mTLS, proxy sunucu, NTLM vb.)
  • AI GatewayaiRouting nesnesi (LLM sağlayıcı bağlantısı, model, birincil havuz, koşullu yönlendirme, failover zinciri) — bkz. Yönlendirme ve Failover

AI Gateway çalışma zamanı klasik routing nesnesini hiç okumaz; bu nedenle routing'e bağlı ayarlar bir AI Gateway üzerinde anlamsızdır.

Davranış Değişikliği

Aşağıdaki 12 ayar ucu (PATCH .../apiProxies/{apiProxyName}/settings/<X>/), bir AI Gateway'ine uygulandığında artık HTTP 400 döner. Önceden bu uçlar HTTP 200 dönüyordu ama hiçbir etkisi olmuyordu (sessiz no-op) — bu davranış artık açıkça reddediliyor:

circuit-breaker · proxy-server · mtls · ntlm · connection · error-handling · custom-message · grpc · websocket · addresses · routing-status · metadata

AI Gateway'de mTLS, proxy sunucu ve circuit breaker gibi ayarlar aiRouting üzerinden yapılır — doğru yol PUT .../apiProxies/{apiProxyName}/ai-routing/'dir. metadata ucunun 400 kontrolü koşulludur: yalnızca gövdede fixSoapApiPortType alanı gönderildiğinde tetiklenir (bu alan yalnızca klasik routing'e özgüdür) — düz bir metadata güncellemesi AI Gateway'de sorunsuz çalışmaya devam eder.

Proxy tipinden bağımsız 11 ayar ucu — CORS, önbellek, idempotency, XML/JSON hata şablonu, forwarded-ip-header, spec-access-type, client-route, keys, bakım modu, iz kaydı (trace), trafik log — AI Gateway'de de çalışmaya devam eder, dokunulmadı.

Detaylar için bkz. API Referansı: API Proxy Settings.

Temel Kavramlar

Dağıtım Türü

Her sağlayıcı bağlantısının Bulut (sağlayıcı barındırır) veya Şirket içi (kendi altyapınızda çalışır) olarak işaretlenen bir dağıtım türü vardır; maliyet atfı ve kapasite planlamasında kullanılır.

Token Kotaları ve Maliyet

Model başına ve kapsam başına (dakika/saat/gün/ay veya USD bütçe) kotalarla kullanımı ve harcamayı sınırlarsınız.

Raporlar ve Analitik

Kullanımı kişi, ekip, model, sağlayıcı ve dağıtım türüne göre; maliyeti isteğe bağlı çoklu para birimiyle izlersiniz.

Sonraki Adımlar