- LLM-Kit de Grab est un framework conçu pour accélérer la mise en place d’applications d’IA générative de niveau production
- Dans le développement d’applications d’IA qui traitent des données sensibles, la sécurité et la protection des données sont essentielles, et LLM-Kit répond à des enjeux tels que la scalabilité, l’intégration, le monitoring et la standardisation
- Cela permet, sur le long terme, un développement d’applications LLM plus efficient et plus efficace, et a aidé Grab à intégrer des centaines d’applications GenAI
Caractéristiques de LLM-Kit
- Fournit une structure préconfigurée (serveur API, gestion de configuration, exemples d’agents LLM, tests, etc.)
- Intégré avec Poetry, Gunicorn, FastAPI, LangChain, LangSmith, Hashicorp Vault, Amazon EKS, Gitlab CI, etc.
- Fonctionnalités d’observabilité permettant un monitoring en temps réel via l’intégration avec Datadog et LangSmith
- Gestion de la configuration et des secrets à l’aide de
configparser de Python et de Vault
- Helper d’authentification OpenID Connect (OIDC)
- Documentation d’API avec Swagger et Redoc
- Intégration avec Redis et les Vector DB
- Pipeline de déploiement pour les environnements de staging et de production
- Intégration avec le puissant framework d’évaluation de LangSmith
- Cookbook : fournit aux développeurs des ressources regroupant des exemples fréquemment utilisés chez Grab
- Inclut divers cas d’usage comme un agent à mémoire persistante, un agent LLM Slackbot, un analyseur d’images, un chatbot full-stack avec interface utilisateur, etc.
Valeur de LLM-Kit
- Accélère le développement d’applications LLM grâce à une stack technique préconfigurée et intégrée
- Permet le monitoring en temps réel ainsi que la détection/résolution des problèmes via l’intégration avec LangSmith et Datadog
- Renforce la sécurité avec l’authentification OIDC et la gestion des secrets par Vault
- Améliore l’efficacité du stockage et de la recherche de données avec une Vector DB
- Fournit un framework « paved road » qui favorise les bonnes pratiques et la standardisation
- L’équipe peut gagner environ 1,5 semaine de temps de développement avant de commencer à travailler sur la première fonctionnalité
Conception de l’architecture et mise en œuvre technique
- Une architecture modulaire apporte scalabilité, flexibilité et facilité d’utilisation
Automatisation
- Lorsqu’un ingénieur soumet les détails associés, comme le nom de l’application, la création d’un projet GitLab est déclenchée
- Un scaffold de code spécialement conçu pour les applications LLM est généré
- Un fichier GitLab CI pour le CI/CD est créé dans le même dépôt
- L’infrastructure de staging, comme ECR et EKS, est créée
- Un dossier Terraform pour le provisioning de l’infrastructure est généré, puis mène au déploiement de l’infrastructure de production
- À la fin du pipeline, un token GPT est poussé vers un chemin Vault sécurisé et une notification de fin est envoyée à l’ingénieur
Structure du code scaffoldé
- Agents : inclut le code d’initialisation des agents basé sur le framework d’agents LangChain
- Auth : module d’authentification et d’autorisation pour exécuter certaines API internes à Grab
- Core : inclut l’extraction de configuration (comme les tokens GPT) et le déchiffrement des secrets pour exécuter l’application LLM
- Models : définit les structures pour les principales API LLM internes à Grab
- Routes : définit les endpoints d’API REST pour l’application LLM (y compris vérification d’état, authentification, autorisation, agent simple, etc.)
- Storage : inclut la connectivité et le schéma de base de données avec PGVector, la Vector DB managée de Grab
- Tools : fonctions utilisées comme outils pour les agents LLM
- Tracing : intégré avec des outils de tracing et de monitoring pour surveiller diverses métriques des applications en production
- Utils : dossier de base pour les fonctions utilitaires
Provisioning de l’infrastructure et déploiement
- Intégration d’un pipeline complet qui scaffold automatiquement, dans la même codebase, le code nécessaire au provisioning de l’infrastructure, au déploiement et au processus de build
- Provisioning fluide de l’infrastructure nécessaire à l’aide de Terraform
- Le pipeline de déploiement est défini dans le fichier
.gitlab-ci.yml, ce qui garantit un déploiement automatisé
- Le processus de build est spécifié dans le
Dockerfile, ce qui permet des builds cohérents
- Grâce au scaffolding automatisé, les développeurs peuvent se concentrer sur l’écriture de la logique métier plutôt que sur la complexité de l’infrastructure et du déploiement de base
Scaffolding RAG
- Avec LLM-Kit, la configuration de la Vector DB (PGVector) et l’ajout à la liste blanche des services sont simplifiés
- Après soumission du formulaire, l’accès aux identifiants et au chemin de l’hôte de la base de données est disponible
- Les secrets sont automatiquement ajoutés au chemin Vault
- Il suffit aux ingénieurs d’inclure le chemin de l’hôte de la base de données dans le fichier de configuration de l’application LLM-Kit scaffoldée
Conclusion
- LLM-Kit est un outil important qui soutient l’innovation et la croissance de Grab en IA et ML
- En résolvant les défis rencontrés par les équipes et en fournissant un framework complet, scalable et flexible pour le développement d’applications LLM, il ouvre la voie à la prochaine génération d’applications d’IA chez Grab
Croissance et projets futurs
- Prévoit de fournir un SDK stable et simple d’utilisation tout en améliorant fortement la concurrence et la scalabilité du serveur web
- Prévoit de proposer un SDK LLM réutilisable et composable, incluant un framework d’évaluation et de guardrails
- Développement d’un CLI pour les mises à jour de version et les outils de développement
- Développement d’une fonctionnalité de fourniture d’agents basés sur le polling
- À travers ces avancées, l’objectif est d’offrir aux ingénieurs une expérience de développement encore plus fluide et plus efficace
Aucun commentaire pour le moment.