- Grab’ın LLM-Kit’i, üretim seviyesindeki Generative AI uygulamalarının kurulumunu hızlandırmak için tasarlanmış bir framework
- Hassas verilerle çalışan yapay zeka uygulamalarının geliştirilmesinde güvenlik ve veri güvenliği çok önemli; LLM-Kit, ölçeklenebilirlik, entegrasyon, izleme ve standardizasyon gibi sorunları çözüyor
- Bu sayede uzun vadede verimli ve etkili LLM uygulaması geliştirmeyi mümkün kılıyor ve Grab’da yüzlerce GenAI uygulamasının devreye alınmasına yardımcı oluyor
LLM-Kit’in özellikleri
- Önceden yapılandırılmış bir iskelet sunuyor (API sunucusu, yapılandırma yönetimi, örnek LLM agent’ları, testler vb.)
- Poetry, Gunicorn, FastAPI, LangChain, LangSmith, Hashicorp Vault, Amazon EKS, Gitlab CI gibi araçlarla entegre
- Datadog ve LangSmith entegrasyonuyla gerçek zamanlı izleme sağlayan observability özellikleri
- Python’un configparser’ı ve Vault kullanılarak yapılandırma ve secret yönetimi
- OpenID Connect(OIDC) kimlik doğrulama yardımcısı
- Swagger ve Redoc ile API dokümantasyonu
- Redis ve Vector DB ile entegrasyon
- Staging ve production ortamları için dağıtım pipeline’ı
- LangSmith’in güçlü değerlendirme framework’ü ile entegrasyon
- Cookbook: Grab’da sık kullanılan örnekleri bir araya getirerek geliştiricilere kaynak sağlıyor
- Kalıcı bellek agent’ı, Slackbot LLM agent’ı, görsel analiz aracı, kullanıcı arayüzüne sahip full-stack chatbot gibi çeşitli örnekler içeriyor
LLM-Kit’in değeri
- Önceden yapılandırılmış ve entegre teknik yığın sayesinde LLM uygulaması geliştirme hızını artırıyor
- LangSmith ve Datadog entegrasyonuyla gerçek zamanlı izleme ile sorun tespiti/çözümü mümkün
- OIDC kimlik doğrulaması ve Vault secret yönetimiyle güvenliği artırıyor
- Vector DB ile veri depolama/arama verimliliğini yükseltiyor
- En iyi uygulamaları ve standardizasyonu teşvik eden hazır bir framework sunuyor
- Ekiplerin ilk özelliğe başlamadan önce yaklaşık 1,5 haftalık geliştirme süresi tasarrufu sağlamasına yardımcı oluyor
Mimari tasarım ve teknik uygulama
- Modüler mimari; ölçeklenebilirlik, esneklik ve kullanım kolaylığı sağlıyor
Otomasyon
- Mühendis uygulama adı gibi ilgili ayrıntıları gönderdiğinde GitLab projesi oluşturulması tetikleniyor
- LLM uygulamaları için özel olarak tasarlanmış kod iskeleti oluşturuluyor
- Aynı repo içinde CI/CD için GitLab CI dosyası oluşturuluyor
- ECR, EKS gibi staging altyapıları oluşturuluyor
- Altyapı sağlama için Terraform klasörü oluşturuluyor ve bu da production altyapısının dağıtımına bağlanıyor
- Pipeline’ın sonunda GPT token’ı güvenli Vault yoluna gönderiliyor ve mühendise tamamlandığına dair bildirim iletiliyor
İskelet kod yapısı
- Agents: LangChain agent framework’ü tabanlı agent başlatma kodlarını içeriyor
- Auth: Grab içindeki bazı API’leri çalıştırmak için kimlik doğrulama ve yetkilendirme modülü
- Core: Yapılandırmanın çıkarılmasını (GPT token’ı vb.) ve LLM uygulamasını çalıştırmak için secret şifre çözmeyi içeriyor
- Models: Grab içindeki temel LLM API’si için yapı tanımlarını içeriyor
- Routes: LLM uygulaması için REST API endpoint tanımları (health check, kimlik doğrulama, yetkilendirme, basit agent vb. dahil)
- Storage: Grab’ın yönetilen Vector DB’si olan PGVector ile bağlantı ve DB şemasını içeriyor
- Tools: LLM agent’ları tarafından araç olarak kullanılan işlevler
- Tracing: Production uygulamasındaki çeşitli metrikleri izlemek için tracing ve monitoring araçlarıyla entegrasyon
- Utils: Yardımcı işlevler için temel klasör
Altyapı sağlama ve dağıtım
- Aynı kod tabanı içinde altyapı sağlama, dağıtım ve build süreci için gereken kodu otomatik olarak iskeletleyen kapsamlı bir pipeline entegre edilmiş durumda
- Gerekli altyapı Terraform kullanılarak sorunsuz biçimde sağlanıyor
- Dağıtım pipeline’ı
.gitlab-ci.yml dosyasında tanımlanarak otomatik dağıtım garanti altına alınıyor
- Build süreci
Dockerfile içinde tanımlanarak tutarlı build alınması sağlanıyor
- Otomatik iskelet oluşturma sayesinde geliştiriciler, temel altyapı ve dağıtım karmaşıklıkları yerine iş mantığı yazmaya odaklanabiliyor
RAG iskeleti
- LLM-Kit ile Vector DB(PGVector) kurulumu ve servis allowlist’ine ekleme süreci sadeleştiriliyor
- Form gönderildikten sonra kimlik bilgilerine ve DB host yoluna erişim sağlanıyor
- Secret’lar Vault yoluna otomatik olarak ekleniyor
- Mühendisin yalnızca iskeleti oluşturulmuş LLM-Kit uygulamasının yapılandırma dosyasına DB host yolunu eklemesi yeterli oluyor
Sonuç
- LLM-Kit, Grab’ın AI ve ML inovasyonu ile büyümesini destekleyen önemli bir araç
- Ekiplerin karşılaştığı sorunları çözüp kapsamlı, ölçeklenebilir ve esnek bir LLM uygulaması geliştirme framework’ü sunarak Grab’ın yeni nesil AI uygulaması geliştirmesine öncülük ediyor
Büyüme ve gelecek planları
- Web sunucusunun eşzamanlılığını ve ölçeklenebilirliğini büyük ölçüde artırırken, kararlı ve kullanımı kolay bir SDK sunmayı planlıyor
- Değerlendirme ve guardrail framework’lerini içeren yeniden kullanılabilir ve birleştirilebilir bir LLM SDK sunulacak
- Sürüm güncellemeleri ve geliştirme araçları için CLI geliştirilecek
- Polling tabanlı agent sunma özelliği geliştiriliyor
- Bu gelişmelerle mühendislere daha akıcı ve verimli bir geliştirme deneyimi sunulması hedefleniyor
Henüz yorum yok.