7 points par xguru 2024-12-03 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • 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

  1. 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
  2. Un scaffold de code spécialement conçu pour les applications LLM est généré
  3. Un fichier GitLab CI pour le CI/CD est créé dans le même dépôt
  4. L’infrastructure de staging, comme ECR et EKS, est créée
  5. Un dossier Terraform pour le provisioning de l’infrastructure est généré, puis mène au déploiement de l’infrastructure de production
  6. À 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é

  1. Agents : inclut le code d’initialisation des agents basé sur le framework d’agents LangChain
  2. Auth : module d’authentification et d’autorisation pour exécuter certaines API internes à Grab
  3. Core : inclut l’extraction de configuration (comme les tokens GPT) et le déchiffrement des secrets pour exécuter l’application LLM
  4. Models : définit les structures pour les principales API LLM internes à Grab
  5. Routes : définit les endpoints d’API REST pour l’application LLM (y compris vérification d’état, authentification, autorisation, agent simple, etc.)
  6. Storage : inclut la connectivité et le schéma de base de données avec PGVector, la Vector DB managée de Grab
  7. Tools : fonctions utilisées comme outils pour les agents LLM
  8. Tracing : intégré avec des outils de tracing et de monitoring pour surveiller diverses métriques des applications en production
  9. 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.

Aucun commentaire pour le moment.