LLM Sağlayıcıları ve Bağlantılar
Genel Bakış
LLM Sağlayıcı Bağlantısı, harici bir LLM hizmetine (OpenAI, Anthropic, Azure vb.) kurulan güvenli, şifreli bir bağlantıdır. Her bağlantı, sağlayıcı türü, API kimlik bilgileri ve dağıtım meta verilerini içerir.
Bağlantıların kimlik bilgileri Apinizer'ın genel kimlik bilgisi sistemi üzerinden yönetilir; detaylar için Kimlik Bilgileri sayfasına bakın.
Sayfa Yapısı
LLM Sağlayıcılar ekranı üç tab'dan oluşur:
- Sağlayıcılar — bu sayfanın konusu olan, kimlik bilgileriyle yapılandırılmış bağlantı listesi.
- Model Kataloğu — sağlayıcılara ait modelleri ve birim fiyatları listeler; bkz. Model Kataloğu ve Fiyatlandırma.
- Tanımlar — sağlayıcı tiplerinin kataloğunu listeler: ad, kod, varsayılan uç nokta bilgileri ve hazır/özel rozeti kolonlarıyla. Kurulumla gelen hazır tanımlar (OpenAI, Anthropic, Azure vb.) da düzenlenebilir: uç nokta ya da varsayılan kimlik doğrulama şemasını değiştirip kaydedebilirsiniz. Yaptığınız düzenleme kalıcıdır — hiçbir sürüm yükseltmesi onu geri ezmez. Kurulumla gelen katalog yalnızca tohumlama yapar: bir tanım ilk kez oluşturulurken yazılır ve bir daha yazılmaz. Dolayısıyla değiştirdiğiniz görünen ad, varsayılan uç nokta, varsayılan API sürümü, varsayılan kimlik doğrulama şeması, varsayılan kimlik doğrulama header adı, ikon URL'i ve dokümantasyon linki bütün gelecek sürümlerde bıraktığınız gibi kalır. Bir hazır tanımı sağlayıcının genel adresi yerine kendi gateway'inize yönlendirmeyi güvenli kılan da budur.
Silme, düzenlemeden farklı davranır. Olağan bir sürüm yükseltmesi sildiğiniz tanımı silinmiş bırakır; fakat Apinizer zaman zaman bir LLM katalog tazeleme migration'ı yayınlar — sağlayıcı ekosistemi hızla değiştiği için hazır katalog belirli aralıklarla yeniden yayımlanır (en son APNZ-6550) — ve tazeleme eksik olanı tohumladığı için, sildiğiniz bir hazır tanım kurulum varsayılanlarıyla geri gelir. Kurulumla gelen bir sağlayıcıyı tümüyle devre dışı bırakmak istiyorsanız tanımını silmek yerine onu kullanan bağlantıları kaldırın ya da pasifleştirin. Kopyala, hazır tanımı ve onun bir varyantını yan yana tutmak istediğinizde hâlâ doğru yoldur: tanımı kopyalayıp kopyayı düzenleyin — kopya özel (custom) bir tanımdır. Özel (custom) bir tanım, bu tab'ın kendi formundan doğrudan oluşturulabildiği gibi, Dışa/İçe Aktarma Sihirbazı ("Provider Definition" tipi) ile içe aktararak ya da APIops REST API ile de eklenebilir. Ekranda özel tanımlar için oluşturma, düzenleme, detay görüntüleme, dışa aktarma ve silme aksiyonları kullanılabilir. Bir Provider Definition paketi içe aktarıldığında, sihirbazın tamamlanma ekranındaki kısayol sizi doğrudan bu tab'a getirir. Kavramın detayı için Model Kataloğu ve Fiyatlandırma sayfasındaki Sağlayıcı Tipi Kataloğu bölümüne bakın.
Özel Sağlayıcı Tanımı Ekleme
Tanıma bir Ad ve bir Kod verin — kod, bir bağlantının sağlayıcı tipinin karşılık geldiği değerdir ve tanım kaydedildikten sonra değiştirilemez. Görünen ad, ikon URL'i ve bir dokümantasyon linki isteğe bağlıdır.
İsteğe bağlı olarak varsayılan uç nokta, varsayılan API sürümü, varsayılan kimlik doğrulama şeması ve varsayılan kimlik doğrulama header adını doldurun — biri bu sağlayıcıyı seçtiğinde, tıpkı hazır tanımlarda olduğu gibi bu değerler yeni bir bağlantı formunu önceden doldurur; bağlantının kendi formu yine de kullanıcının bu değerlerin herhangi birini değiştirmesine izin verir.
Sağlayıcının gerçekte konuştuğu Wire Protocol'ü (tel protokolü) seçin — desteklenen beş aileden biri: OpenAI-uyumlu, Anthropic, Gemini, Bedrock ya da vLLM. Bu, serbest metin değil kısıtlı bir seçimdir: yalnızca Apinizer'ın gerçek bir adaptörü olan bir wire protocol seçilebilir ve bu alan zorunludur. Chat Completion Path de (örn. wire protocol'e göre /chat/completions ya da /messages) zorunludur. Sağlayıcının bir embedding uç noktası varsa Supports Embedding'i açın — bunu açmak Embedding Path alanını da zorunlu kılar, çünkü embedding desteği iddia edip ona ulaşacak bir yol tanımlamayan bir sağlayıcı, istek anında hiçbir şeye çözümlenmez. Supports Responses ve daha aşağıdaki transkripsiyon/konuşma/görsel yolları isteğe bağlıdır; yalnızca o trafiği gerçekten bu sağlayıcı üzerinden yönlendirecekseniz doldurun.
Kaydet'e tıklayın. Tanım, bir sonraki LLM Sağlayıcı bağlantısı oluşturulduğunda sağlayıcı-tipi açılır listesinde kullanılabilir hale gelir.
Hazır bir sağlayıcının aksine, özel bir kod Apinizer'ın kendi bilinen sağlayıcı-tipi listesine karşı çözümlenmez — dolayısıyla onun için arkada eksik bir yolu tamamlayacak bir yedek katman yoktur. Gerçekten özel bir sağlayıcıda wire protocol veya chat yolunu boş bırakmak, çalışma anında hiçbir şeye çözümlenirdi; form bunu sonradan sessizce başarısız olmak yerine baştan zorunlu kılar.
Sağlayıcı Türleri
Apinizer AI Gateway aşağıdaki sağlayıcıları destekler. Kod kolonu, Sağlayıcı Tipi Kataloğu'ndaki code alanının değeridir — Tanımlar tab'ında ve APIops'ta bu değerle karşılaşırsınız. 2026.09.1'deki LLM katalog tazelemesi (APNZ-6550) dokuz yeni bulut sağlayıcı ekledi (Google AI Studio ve tabloda xAI'den NVIDIA NIM'e kadar uzanan satırlar) — hepsi OpenAI-uyumlu tel formatı konuşur, bu yüzden yeni bir adaptör ailesi gerekmedi:
| Sağlayıcı | Kod | Dağıtım (varsayılan) | Notlar |
|---|---|---|---|
| OpenAI | openai | Bulut | GPT-4o, GPT-4 Turbo, GPT-3.5, vb. |
| Anthropic | anthropic | Bulut | Claude modelleri |
| Azure OpenAI | azure-openai | Bulut | Azure'da barındırılan OpenAI modelleri |
| Google Vertex AI | vertex | Bulut | PaLM 2, Gemini |
| Google AI Studio | google-ai-studio | Bulut | Doğrudan Gemini API yüzeyi — Vertex'ten ayrı, GCP projesi ya da OAuth2 gerektirmez |
| AWS Bedrock | bedrock | Bulut | Claude, Llama, Mistral, Titan, Nova |
| Cohere | cohere | Bulut | Command modelleri |
| Mistral | mistral | Bulut | Mistral/Mixtral modelleri |
| DeepSeek | deepseek | Bulut | DeepSeek-V3/R1 |
| Groq | groq | Bulut | LPU donanımıyla hızlı çıkarım |
| Moonshot (Kimi) | moonshot | Bulut | Kimi modelleri |
| Zhipu (GLM) | zhipu | Bulut | GLM modelleri |
| Qwen (DashScope) | qwen-dashscope | Bulut | Alibaba Qwen modelleri |
| xAI | xai | Bulut | Grok modelleri |
| Together AI | together | Bulut | Açık ağırlıklı model agregatörü |
| Fireworks AI | fireworks | Bulut | Açık ağırlıklı model çıkarımı |
| Cerebras | cerebras | Bulut | Cerebras Inference |
| Hugging Face | huggingface | Bulut | Inference Providers router |
| OpenRouter | openrouter | Bulut | Çoklu sağlayıcı agregatörü — model kimlikleri vendor/model biçimindedir |
| Perplexity | perplexity | Bulut | Perplexity Router API |
| NVIDIA NIM | nvidia-nim | Bulut | NVIDIA barındırmalı yüzey |
| Voyage AI | voyage | Bulut | Yalnızca embedding sağlayıcısı |
| vLLM | vllm | Şirket içi | Şirket içi çıkarım motoru |
| Ollama | ollama | Şirket içi | Yerel LLM çıkarımı |
| Özel OpenAI-Uyumlu | custom-openai-compat | Şirket içi | OpenAI-uyumlu herhangi bir uç nokta |
Dağıtım Türü
Her bağlantı, LLM'nin bulutta mı yoksa şirket içinde mi çalışıp çalışmadığını bildirir:
- Bulut — LLM sağlayıcı tarafından yönetilir (yukarıdaki tablodaki "Bulut" satırları)
- Şirket içi — LLM altyapınızda çalışır (vLLM, Ollama, özel OpenAI-uyumlu uç nokta)
Dağıtım türü sağlayıcı türüne göre otomatik doldurulur, ancak gerekirse geçersiz kılabilirsiniz (örneğin, bulut sağlayıcıda barındırılan özel bir vLLM örneğini kullanıyorsanız).
Yanıt Normalizasyonu
Sağlayıcı ne olursa olsun (OpenAI-uyumlu veya native format), Apinizer AI Gateway yanıtları her zaman OpenAI canonical formatına normalize eder. Bu sayede istemci tarafında sağlayıcıya özel bir ayrıştırma mantığı yazmanıza gerek kalmaz — aynı istemci kodu OpenAI, Anthropic, Vertex veya Bedrock bağlantısı arkasında da değişmeden çalışır.
Bedrock'un InvokeModelWithResponseStream API'si, worker'ın ayrıştırmadığı ikili (binary) bir olay-akışı (event-stream) çerçevelemesi kullanır. Bedrock bağlantısına yönlendirilen bir akış (streaming) sohbet isteği, AWS'ye hiçbir çağrı yapılmadan bir yapılandırma hatasıyla reddedilir — hiçbir şey denenmez, hiçbir maliyet oluşmaz. Bu bacak için streaming: false ayarlayın veya akış trafiğini başka bir sağlayıcı üzerinden yönlendirin. Akışsız (unary) Bedrock sohbet istekleri bundan etkilenmez.
Sağlayıcı Uyumluluk Matrisi
Her bağlantı türü her uç noktayı desteklemez ve her sağlayıcının isteği/yanıtı kendi ham (native) formatına tam çevrilmez — bir kısmı, sağlayıcı zaten (ya da beklenildiği üzere) OpenAI formatını konuştuğu için isteği olduğu gibi iletir (pass-through); daha küçük bir grup ise gerçekten çevrilir.
| Sağlayıcı | Chat completions | Sohbet akışı (streaming) | Embedding | Ses / görsel (STT, TTS, görsel üretim) |
|---|---|---|---|---|
| OpenAI, Azure OpenAI, Özel OpenAI-Uyumlu, vLLM, Ollama | ✅ | ✅ | ✅ | ✅ |
| Mistral, Zhipu (GLM), Qwen (DashScope), Together AI, Google AI Studio | ✅ | ✅ | ✅ | ❌ |
| DeepSeek, Groq, Moonshot (Kimi), xAI, Fireworks AI, Cerebras, Hugging Face, OpenRouter, Perplexity, NVIDIA NIM | ✅ | ✅ | ❌ (yalnız sohbet — birinci-taraf embedding uç noktası yok) | ❌ |
| Cohere | ✅ | ✅ | ❌ (henüz yok — özel bir adapter gerekir) | ❌ |
| Voyage AI | — (yalnız embedding sağlayıcısı) | — | ✅ | ❌ |
| Anthropic | ✅ (native çeviri) | ✅ (native çeviri) | ❌ (embedding uç noktası hiç yok — bunun yerine bir Voyage AI bağlantısı kurun, aşağıdaki Hazır Şablonlar bölümüne bakın) | ❌ |
| Google Vertex AI (Gemini) | ✅ (native çeviri) | ✅ (native çeviri, SSE) | ❌ (henüz yok) | ❌ |
| AWS Bedrock — Anthropic modelleri | ✅ (native çeviri) | ❌ (yukarıdaki uyarıya bakın) | ❌ (henüz yok) | ❌ |
| AWS Bedrock — Titan, Llama, Mistral, Nova | ✅ (OpenAI biçimli gövde olduğu gibi iletilir; bu aileler için native çeviri henüz yok) | ❌ | ❌ (henüz yok) | ❌ |
Embedding veya Ses/Görsel sütununda ❌ görmek, Apinizer'ın isteği sağlayıcıya ulaşmadan reddettiği anlamına gelir — hiçbir şey denenmez, hiçbir maliyet oluşmaz.
Native Çeviri ile Pass-Through Arasındaki Fark
Yalnızca üç bağlantı türü isteği/yanıtı gerçekten kendi şemasına çevirir: Anthropic, Google Vertex AI (Gemini) ve — yönlendirilen model bir Anthropic-on-Bedrock modeliyse — AWS Bedrock (model kimliği anthropic. içeren her model; us.anthropic.* gibi bölgeler-arası inference profilleri dahil). Diğer tüm sağlayıcılar — Bedrock'un Titan/Llama/Mistral/Nova modelleri ve Cohere dahil — istemcinin OpenAI biçimli isteğini değiştirmeden iletir.
Native çevirisi yapılan bu üç sağlayıcı için bazı OpenAI istek alanlarının karşılığı yoktur ve sessizce düşürülür (worker'da WARN olarak loglanır, istemciye hiçbir zaman yansımaz):
| OpenAI alanı | Anthropic | Google Vertex AI (Gemini) |
|---|---|---|
model | gövdede kalır | gövdede yok — URL path'inde taşınır |
| System / developer mesajı | üst-seviye system alanına eşlenir | systemInstruction'a eşlenir |
max_tokens / max_completion_tokens | zorunlu — istemci göndermezse model kataloğunun maksimum çıktı değerine, o da yoksa 4096'ya düşer | isteğe bağlı — yalnızca istemci gönderdiyse ayarlanır |
tools[].function | tools[].input_schema'ya eşlenir | functionDeclarations'a eşlenir |
tool_choice: "none" | düşürülür (araç tanımları da düşürülür) | mode: "NONE"'a eşlenir (araç tanımları korunur) |
temperature | istemci 1.0'dan yüksek gönderirse 1.0'a sabitlenir (clamp) | olduğu gibi iletilir (0–2 aralığı) |
stop | stop_sequences'a eşlenir | stopSequences'a eşlenir (yalnız ilk 5 eleman) |
user | metadata.user_id'ye eşlenir | düşürülür |
n, presence_penalty, frequency_penalty, logit_bias, logprobs, seed, response_format, parallel_tool_calls | düşürülür | düşürülür |
| Metin-dışı mesaj içeriği (görsel, ses, …) | düşürülür — bugün yalnız metin destekleniyor | düşürülür — bugün yalnız metin destekleniyor |
Kullanım (usage) muhasebesi de aileye göre farklıdır: Anthropic'in istemciye yansıyan prompt_tokens'ı, önbelleklenmiş token'ları taze girdi token'larının üstüne ekler; Gemini'nin promptTokenCount'u ise önbelleklenmiş token'ları zaten içinde barındırır. Apinizer bu farkı dahili olarak muhasebeleştirir, böylece hangi ailenin isteği karşıladığından bağımsız olarak maliyet takibi ve kotalar doğru kalır — bkz. Raporlar ve Analitik ve Token Kotaları.
Bir proxy farklı aileler arasında failover yaptığında — örneğin Anthropic birincil + OpenAI veya Gemini yedek — her bacağın isteği her zaman orijinal istemci isteğinizden yeniden kurulur; bir önceki bacağın zaten çevrilmiş native gövdesinden değil. Bkz. Failover Zinciri.