Ana Sayfa

Eski Bir Rails Monolitinde Yapay Zeka Aracısı Oluşturmak

1 dk okuma

Yazar, uzun süredir ürünleri ve işleri için yapay zeka entegrasyonunda kolay bir çözüm olmadığına inanıyordu, ancak bu düşüncesinin ne kadar yanlış olduğunu fark etti. SF Ruby konferansında, çoğu konuşma yapay zekaya odaklanmış olsa da, yazarın çalıştığı çok kiracılı, güçlü yetkilendirme kuralları olan sistemlere doğrudan uygulanamayan çözümler sunuluyordu. Mon Ami'deki katı veri erişim kontrolleri nedeniyle, bir pilot projenin bile bu kısıtlamaları aşması gerekiyordu. Dönüm noktası, RubyLLM gem'ini kullanarak RAG benzeri bir sistem oluşturma üzerine yapılan bir konuşmayla geldi. Bu yaklaşım, LLM çağrılarının bağlamını fonksiyon çağrıları (araçlar) ile zenginleştiriyordu. Yazar, karmaşık erişim mantığını belirli bir fonksiyon çağrısına kodlayarak, LLM'in verilere sınırsız erişim sağlamadan belirli verilere ulaşmasını sağlayabileceğini anladı. RubyLLM, birçok LLM sağlayıcısıyla etkileşimi temiz bir API ile soyutlayan kullanışlı bir gem'dir. Uygulama, API anahtarlarıyla yapılandırılır ve Conversation modelini bir LLM iş parçacığı soyutlaması olarak sunar. Conversation modeli, mesajları ve tanımlanmış yapılandırılmış yanıtları ile fonksiyon çağrılarını içerir. Araçlar, BaseTool sınıfından türetilir ve description ile param metotları aracılığıyla kabul edilen parametreleri tanımlamak için bir DSL kullanır. Bu açıklamalar, LLM'in aracı kullanıp kullanmayacağına karar vermesi için bağlam olarak iletilir. Aracın execute metodu bir hash döndürür ve bu hash daha sonra LLM'e sunulur, böylece karmaşık iş mantığı LLM'den soyutlanmış olur. Bu yöntem, eski ve karmaşık sistemlerde bile güvenli ve kontrollü bir yapay zeka entegrasyonu için sağlam bir yol sunar.

İçgörü

Eski ve karmaşık yazılım sistemlerine bile güvenli ve kontrollü bir şekilde yapay zeka yetenekleri entegre etmenin mümkün olduğunu gösteriyor.

Kaynak