Tanık Dokümantasyon

Uygulamaları bağlama

#Azure ve diğer sağlayıcılar

Tanık sağlayıcıyı taklit etmez: bir hedef adres + kimlik türü + istek biçimi üçlüsüyle tanımlanır ve bir sağlayıcı bu üçüyle ifade edilebiliyorsa çalışır. OpenAI ya da Anthropic biçiminde konuşan her servis, yeni kod gerektirmeden bir hedef tanımıyla bağlanır.

#Azure OpenAI

Azure'un adresi ?api-version= sorgusu ister ve kimliği api-key başlığıyla alır; hedef tanımında bunun için ayrı alanlar vardır.

create-target --name azure-we --api-style openai \
  --base-url https://<kaynak>.openai.azure.com --region eu-west \
  --auth-kind api-key --secret-ref azure \
  --azure-api-version 2024-06-01 \
  --azure-deployment gpt-4o=prod-gpt4o

İstek /openai/deployments/<deployment>/chat/completions?api-version=… adresine gider. Deployment adı, istenen modelden eşlemeyle bulunur; eşlenmemiş bir model kendi adını deployment adı olarak kullanır (Azure'daki yaygın adlandırma). Sohbet ve embedding uçları desteklenir.

Konsolda: API biçimi "OpenAI", kimlik türü "api-key", Azure alanlarına API sürümü ve deployment eşlemesi.

#OpenAI biçiminde konuşanlar

SağlayıcıHedef tanımıNot
Google Gemini--api-style openai, --auth-kind bearer, base URL https://generativelanguage.googleapis.com/v1beta/openaiGoogle'ın OpenAI uyumlu ucu üzerinden. Yerel Gemini API'si desteklenmez.
Mistral, DeepSeek, Groq, Together, Fireworks, OpenRouter--api-style openai, --auth-kind bearerSağlayıcının belgelerindeki OpenAI uyumlu adres
vLLM, Ollama, LM Studio--api-style openai, --auth-kind bearerKendi sunucunuz. Anahtar gerekmese de bir değişken tanımlamanız gerekir
LiteLLM ya da kendi proxy'nizOpenAI ya da Anthropic biçimiAşağıya bakın

#Araya giren proxy (LiteLLM ve benzerleri)

Zaten bir LLM proxy'niz varsa Tanık onun önüne oturur: uygulama → Tanık → proxy → sağlayıcı. Proxy'niz Tanık için sıradan bir hedeftir; yönlendirme ve maliyet ayarlarınız olduğu gibi çalışır.

Bir fark var: gerçek sağlayıcıyı ve bölgeyi artık proxy'niz seçer, Tanık görmez. Bu durumda hedefi --declared ile işaretleyin ve modelden bölgeye eşlemeyi --map ile verin:

create-target --name litellm --api-style openai \
  --base-url https://llm.kurum.internal --region tr-istanbul --declared \
  --auth-kind bearer --secret-ref litellm \
  --map 'gpt-4o=eu-frankfurt,claude-*=us-east'

Kanıt raporu bu hedefin bölgesini "(beyan)" olarak basar: etiket sizin beyanınızdır, sağlayıcıdan teyit edilmemiştir.

#Birden fazla hedef

Aynı biçimde birden fazla hedef tanımlanabilir; isteğin modeli hangisine gideceğini belirler. --models 'gpt-*,o*' gibi desenler verin; en özel eşleşme kazanır, sonra --default olan, sonra ad sırası. Deseni olmayan hedef geri dönüş hedefidir. Bütün hedefler desenliyse ve hiçbiri eşleşmezse Tanık tahmin etmez, isteği upstream_not_configured ile reddeder.

create-target --list çıktısının sonundaki seçim satırı, her biçimde hangi hedefin kazanacağını gösterir. Orada ⚠ görürseniz kimsenin vermediği bir karar var demektir.

#Desteklenmeyenler