Yerel Yapay Zekâ Agent Geliştirmeye Başlangıç
Docker Üzerinde Ollama ve Semantic Kernel ile Basit Bir Chat Servisi
Son dönemde yapay zekâ uygulamaları geliştirme üzerinde çalışan birçok geliştirici, maliyetleri azaltmak, veri gizliliğini korumak ve dış servis bağımlılığını azaltmak amacıyla yerel (local) büyük dil modellerine yönelmeye başladı. Özellikle kurumsal projelerde müşteri verilerinin üçüncü taraf servislerle paylaşılmasının istenmemesi, Ollama/vLlm gibi çözümleri oldukça cazip hale getiriyor. Bu yazımızda, yerel ağımızda Docker üzerinde çalışan bir Ollama sunucusunu kullanarak .NET ve Semantic Kernel ile basit bir sohbet (chat) servisi oluşturma hakkında bildiğimiz kadarıyla anlatmaya çalıştık
Neden Ollama?
Ollama, açık kaynaklı büyük dil modellerini kendi sunucunuzda çalıştırmanıza olanak sağlayan bir platformdur. Avantajları:
- Veriler kurum dışına çıkmaz
- API maliyetleri oluşmaz
- İnternet bağlantısı olmadan çalışabilir
- Farklı modeller arasında kolay geçiş yapılabilir
- Docker ile kolay yönetilebilir
Docker ile Ollama Kurulumu
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ollama:/root/.ollama
gpus: all
volumes:
ollama:
Model yükleme:
(Bu işlemi docker exec -it ollama /bin/bash ile container shell üzerinden yapmanız gerek)
ollama pull qwen3:14b
veya
ollama pull llama3.3
Semantic Kernel Nedir?
Semantic Kernel, Microsoft tarafından geliştirilen ve büyük dil modelleri ile .NET uygulamalarını entegre etmeyi kolaylaştıran bir SDK'dır. Başlıca özellikleri:
- Prompt yönetimi
- Function Calling
- Plugin geliştirme
- RAG uygulamaları
- Agent yapıları
Gerekli Paketler
dotnet add package Microsoft.SemanticKernel
dotnet add package Microsoft.SemanticKernel.Connectors.Ollama
Kernel Oluşturma
using Microsoft.SemanticKernel;
var builder = Kernel.CreateBuilder();
builder.AddOllamaChatCompletion(
modelId: "qwen3:14b",
endpoint: new Uri("http://ollama-server:11434"));
var kernel = builder.Build();
Basit Chat Servisi
public class ChatService
{
private readonly Kernel _kernel;
public ChatService(Kernel kernel)
{
_kernel = kernel;
}
public async Task<string> AskAsync(string question)
{
var result = await _kernel.InvokePromptAsync(question);
return result.ToString();
}
}
Kullanım:
var response = await chatService.AskAsync("Türkiye'nin başkenti neresidir?");
Semantic Kernel'in Geleceği
Microsoft son dönemde yapay zekâ tarafındaki yatırımlarını büyük ölçüde Microsoft Agent Framework üzerine kaydırmış durumda. Semantic Kernel hâlâ aktif olsa da uzun vadeli strateji:
- Multi-agent mimariler
- Workflow orchestration
- Human-in-the-loop süreçleri
- Durable execution
- Agent coordination gibi konular artık Microsoft Agent Framework etrafında şekilleniyor.
Microsoft ve Yarım Kalan Teknolojiler
Microsoft geçmişte birçok güçlü teknoloji geliştirdi ancak bazılarını zamanla rafa kaldırdı:
- Windows Phone
- Nokia mobil ekosistemi
- XNA Framework
- Silverlight
- Windows Workflow Foundation
- UWP
- LightSwitch
- Cortana
- Microsoft Band Özellikle XNA ve Windows Phone dönemini yaşayan geliştiriciler için bu süreç oldukça tanıdıktır. Bir teknolojiye yıllarca yatırım yapıp sonra yön değiştirmek, geliştirici ekosisteminde doğal olarak bir güven sorunu oluşturabiliyor. Bu yüzden bugün birçok geliştiricinin aklında aynı soru var:
"Bu teknoloji 5 yıl sonra da burada olacak mı?"
Sonuç
Yerel yapay zekâ sistemleri artık sadece büyük şirketlerin değil, bireysel geliştiricilerin de erişebildiği bir seviyeye çok yaklaştı. Docker üzerinde Ollama, Semantic Kernel ve açık kaynak modeller ile:
- RAG sistemleri
- Kurumsal AI asistanları
- MCP tabanlı entegrasyonlar
- Multi-agent sistemler geliştirmek mümkün. Önemli olan, mümkün olduğunca sağlayıcıdan bağımsız ve esnek mimari kurmak.
Yorum Bırak
Yorumunuz admin onayından sonra yayınlanacaktır.