AnyLanguageModel 1.0: Apple Platformlarında Yerel Modellerin Bir Yılı
Kaynak: Hugging Face Blog
İçindekiler 3 başlık
Geçtiğimiz Kasım ayında tanıtılan AnyLanguageModel, Apple'ın Foundation Models çatısına doğrudan alternatif (drop-in replacement) olarak geliştirildi. Yerel modelleri denemek isteyen ancak birden fazla çıkarım (inference) sağlayıcısını desteklemenin karmaşıklığından kaçınan uygulama geliştiricileri için ortak bir API sunuyor. Hem yerel hem de barındırılan (hosted) çıkarımın güçlü yönlerini birleştiren bu kütüphane, bir yıl ve onlarca sürümün ardından swift-huggingface 1.0 ve swift-xet 1.0 ile birlikte 1.0 sürümüne ulaştı.
Doğrudan Uyumlu (Drop-in) Bir API#
AnyLanguageModel'in temel fikri oldukça pratik: mevcut Foundation Models API'sini uygulamanıza en uygun modelle kullanmak. Başlamak için yalnızca içe aktarma (import) satırını değiştirmeniz yeterli:
- import FoundationModels
+ import AnyLanguageModel
Aynı oturum kodu; sistem modeliyle, llama.cpp, MLX ve Core ML üzerinden açık ağırlıklı (open-weight) modellerle ve barındırılan sağlayıcılarla çalışır. Geçtiğimiz yıl boyunca eklenen üç temel özellik şunlardır:
- Araç Çağırma (Tool Calling): Artık her sağlayıcı ile sorunsuz çalışıyor.
- Yönlendirilmiş Üretim (Guided Generation): İç içe geçmiş
@Generabletipleri ve bunların dizileri dahil olmak üzere tüm sağlayıcılarda destekleniyor. - Görsel Desteği (Image Support): iOS, macOS ve visionOS 27'deki sistem modeli dahil olmak üzere Foundation Models 27 sözdizimini kullanarak istemlere (prompt) görüntü eklemenize olanak tanır.
OS 27 üzerinde AnyLanguageModel, Core AI modelleri dahil olmak üzere Foundation Models'in LanguageModel protokolüne uyan herhangi bir modelle çalışır. Ayrıca swift-huggingface ve swift-xet sayesinde Hub üzerinden Swift uygulamalarına hızlandırılmış model indirme desteği sunuluyor.
Barındırılan (Hosted) Modeller de Destekleniyor#
Bu yıl barındırılan model desteği de önemli ölçüde genişledi. AnyLanguageModel artık şu yedi seçeneği destekliyor:
- OpenAI: Chat Completions ve Responses API'leri
- Open Responses: Uyumlu uç noktaya (endpoint) sahip herhangi bir sağlayıcı için
- Anthropic: Uyarlanabilir düşünme (adaptive thinking) ve efor seçenekleriyle Messages API
- Google: Gemini API
- Ollama
- Private Cloud Compute: OS 27 üzerinde
- Hugging Face Inference Providers: Özel bir temel URL aracılığıyla OpenRouter gibi diğer OpenAI uyumlu uç noktalar
Inference Providers sayesinde, cihazda çalıştırılamayacak kadar büyük açık ağırlıklı modelleri aynı oturum koduyla kullanabilirsiniz:
let model = OpenAILanguageModel(
baseURL: URL(string: "https://router.huggingface.co/v1/")!,
apiKey: ProcessInfo.processInfo.environment["HF_TOKEN"]!,
model: "openai/gpt-oss-120b",
apiVariant: .chatCompletions
)
Barındırılan sağlayıcılar da yerel modellerle aynı özelliklere (yönlendirilmiş üretim, akışlı araç çağırma ve yanıt 토큰 kullanımı) sahiptir. Akıl yürütme (Reasoning) artık konuşma geçmişinin bir parçasıdır; sağlayıcı değiştirdiğinizde yeni sağlayıcı akıl yürütme bloklarını desteklemiyorsa bunlar isteklerden otomatik olarak çıkarılır.
Yazılım Geliştirme İçin Pratik Çıkarımlar: API anahtarlarının sabit bir metin yerine bir closure üzerinden alınması, uygulamanızın kendi sunucunuzdan kısa ömürlü token'lar çekmesine olanak tanıyarak güvenliği artırır. Ayrıca kütüphanenin Linux üzerinde de çalışması, istemci tarafında yazdığınız Swift kodunu sunucu tarafında da (Server-Side Swift) yeniden kullanabilmenizi sağlar.
Açık Ağırlıklı Modeller Daha İyi Hale Geldi#
Yerel ve bulut tabanlı mimariler gelişirken, açık ağırlıklı modellerin yetenekleri de bu ekosistemle birlikte büyümeye devam ediyor.
Bu konuyu derinlemesine öğrenmek isterseniz: Modeller: Hangisi, Ne Zaman? modülüne göz atın.
Kaynak ve atıf
Bu yazı, Hugging Face Blog üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- huggingface.co/blog/anylanguagemodel-1-0