Spring AI, AI mühendisliği için Spring’in taşınabilirlik ve modüler tasarım ilkelerini AI iş yüklerine uygulayan bir çerçevedir. Tanıdık Spring kalıpları ve POJO’ları kullanarak AI odaklı uygulamalar geliştirmenizi sağlar.
Yazan
Şuayb Şimşek
Spring Boot, güvenlik, mikroservis ve cloud-native mimari konularında pratik teknik notlar paylaşan backend odaklı fullstack geliştirici.
Yeni yazılar yayınlandığında pratik backend ve fullstack notlarını al.
Sosyal
🌟 Neden Spring AI Kullanılmalı?
Bu bölümde Neden Spring AI Kullanılmalı? konusunu netleştirip uygulamada kullanacağınız temel noktaları özetliyoruz.
Sağlayıcıdan bağımsız taşınabilirlik: Kodunuzu bir kez yazın, AI sağlayıcıları (OpenAI, Anthropic, Azure vb.) arasında değiştirmeler yapmadan geçiş yapın.
POJO tabanlı tasarım: AI girdi ve çıktılarınızı düz Java/Kotlin nesneleri olarak modelleyerek tür güvenliği ve kolay entegrasyon sağlayın.
Yapılandırılmış çıktılar: Model yanıtlarını alan nesnelerinize otomatik olarak eşleyin.
Vektör veri deposu entegrasyonu: Chroma, Pinecone, Redis gibi önde gelen vektör veritabanları için birleşik API desteği.
Araç/fonksiyon çağrısı: LLM’lerin gerçek zamanlı veri için özel fonksiyonları veya servisleri çağırmasına izin verin.
Gözlemlenebilirlik ve değerlendirme: AI işlemlerini izlemeniz ve halüsinasyonları tespit etmeniz için yerleşik metrikler ve değerlendirme araçları.
Sohbet soyutlamaları: WebClient benzeri akıcı bir ChatClient API’si ile chat agentlar oluşturun.
Retrieval-augmented generation (RAG): Advisorler ve bellek API’leri ile belgelere dayalı QA ve geçmiş sohbete dayalı sohbeti basitleştirin.
📋 Gereksinimler
Aşağıdakilere sahip olduğunuzdan emin olun:
☕ Java Development Kit (JDK) 17+
📦 Maven veya Gradle kurulumu
🐳 Spring Boot 3+
🔑 OpenAI API Anahtarı (çevre değişkeni OPENAI_API_KEY olarak tanımlı)
🛠️ Adım 1: Bağımlılıkları Ekleyin
Spring AI OpenAI başlatıcısı, Spring Web ve Lombok’u projenize ekleyin.
🛠️ Adım 2: Yapılandırma
application.yml dosyanıza OpenAI anahtarınızı ve ChatClient model ayarlarını ekleyin:
ChatClient.Builder ile ChatClient’i oluşturup sarmalayan bir AIService sınıfı yazın.
🛠️ Adım 4: REST Controller Oluşturma
AIService’i HTTP üzerinden sunmak için bir ChatController sınıfı oluşturun.
▶️ Uygulamayı Çalıştırma
Spring Boot uygulamanızı başlatın:
BASH
./mvnw spring-boot:run
# veya
gradle bootRun
🧪 Entegrasyonu Test Etme
HTTP üzerinden servisinizi çağırın:
BASH
curl -X GET "http://localhost:8080/joke?topic=dogs"
# AI modelinin döndürdüğü köpek şakası
🏁 Sonuç
Artık Spring Boot AI Entegrasyonu için üretim odaklı bir Spring Boot temeliniz var. Sonraki adımda ayarları kendi domainine uyarlayıp test ve gözlemlenebilirlik katmanını ekleyerek gerçek trafik altında doğrulayın.