- El LLM-Kit de Grab es un framework diseñado para acelerar la configuración de aplicaciones de IA generativa a nivel de producción
- En el desarrollo de aplicaciones de IA que manejan datos sensibles, la seguridad y la protección de los datos son muy importantes, y LLM-Kit resuelve problemas como escalabilidad, integración, monitoreo y estandarización
- Esto permite un desarrollo de aplicaciones LLM eficiente y efectivo a largo plazo, ayudando a incorporar cientos de aplicaciones GenAI en Grab
Características de LLM-Kit
- Proporciona una estructura preconfigurada (servidor API, gestión de configuración, agentes LLM de ejemplo, pruebas, etc.)
- Se integra con Poetry, Gunicorn, FastAPI, LangChain, LangSmith, Hashicorp Vault, Amazon EKS, Gitlab CI y más
- Funciones de observabilidad con monitoreo en tiempo real mediante integración con Datadog y LangSmith
- Gestión de configuración y secretos con
configparser de Python y Vault
- Helper de autenticación OpenID Connect (OIDC)
- Documentación de API con Swagger y Redoc
- Integración con Redis y Vector DB
- Pipeline de despliegue para entornos de staging y producción
- Integración con el potente framework de evaluación de LangSmith
- Cookbook: reúne ejemplos usados con frecuencia en Grab y ofrece recursos para desarrolladores
- Incluye diversos casos como agentes con memoria persistente, agentes LLM para Slackbot, analizadores de imágenes y chatbots full-stack con interfaz de usuario
Valor de LLM-Kit
- Acelera el desarrollo de aplicaciones LLM con un stack tecnológico preconfigurado e integrado
- La integración con LangSmith y Datadog permite monitoreo en tiempo real y detección/resolución de problemas
- Mejora la seguridad con autenticación OIDC y gestión de secretos con Vault
- Mejora la eficiencia del almacenamiento y la búsqueda de datos con Vector DB
- Proporciona un framework con camino pavimentado que promueve mejores prácticas y estandarización
- El equipo puede ahorrar alrededor de 1.5 semanas de tiempo de desarrollo antes de empezar a trabajar en la primera funcionalidad
Diseño de arquitectura e implementación técnica
- Ofrece escalabilidad, flexibilidad y facilidad de uso mediante una arquitectura modular
Automatización
- Cuando un ingeniero envía detalles relevantes como el nombre de la app, se activa la creación de un proyecto en GitLab
- Se genera un scaffold de código diseñado específicamente para apps LLM
- Se genera un archivo de GitLab CI para CI/CD dentro del mismo repositorio
- Se crea la infraestructura de staging, incluyendo ECR y EKS
- Se crea una carpeta de Terraform para el aprovisionamiento de infraestructura, seguida del despliegue de la infraestructura de producción
- Al final del pipeline, el token de GPT se envía a una ruta segura en Vault y se manda una notificación de finalización al ingeniero
Estructura del código scaffold
- Agents: incluye código para inicializar agentes basado en el framework de agentes de LangChain
- Auth: módulo de autenticación y autorización para ejecutar algunas API dentro de Grab
- Core: incluye extracción de configuración (como tokens de GPT) y descifrado de secretos para ejecutar la app LLM
- Models: define estructuras para las API LLM principales dentro de Grab
- Routes: define endpoints de API REST para apps LLM (incluyendo health checks, autenticación, autorización y agentes simples)
- Storage: incluye conectividad con PGVector, la Vector DB administrada de Grab, y el esquema de base de datos
- Tools: funcionalidades usadas como herramientas para agentes LLM
- Tracing: se integra con herramientas de tracing y monitoreo para observar distintas métricas de apps en producción
- Utils: carpeta base para funciones utilitarias
Aprovisionamiento y despliegue de infraestructura
- Integra un pipeline integral que genera automáticamente dentro de la misma base de código el código necesario para aprovisionamiento de infraestructura, despliegue y procesos de build
- Usa Terraform para aprovisionar sin fricción la infraestructura necesaria
- El pipeline de despliegue está definido en el archivo
.gitlab-ci.yml, lo que garantiza despliegues automatizados
- El proceso de build está especificado en el
Dockerfile, lo que permite builds consistentes
- Gracias al scaffolding automatizado, los desarrolladores pueden concentrarse en escribir lógica de negocio en lugar de lidiar con la complejidad de la infraestructura base y el despliegue
Scaffolding para RAG
- Con LLM-Kit, se simplifica el proceso de configurar la Vector DB (PGVector) y agregarla a la allowlist del servicio
- Después de enviar el formulario, se puede acceder a las credenciales y a la ruta del host de la base de datos
- Los secretos se agregan automáticamente a la ruta de Vault
- El ingeniero solo necesita incluir la ruta del host de la base de datos en el archivo de configuración de la app LLM-Kit scaffolded
Conclusión
- LLM-Kit es una herramienta importante que respalda la innovación y el crecimiento de IA y ML en Grab
- Al resolver los retos que enfrentan los equipos y ofrecer un framework integral, escalable y flexible para desarrollar apps LLM, está liderando el desarrollo de la próxima generación de apps de IA en Grab
Crecimiento y planes futuros
- Planean ofrecer un SDK estable y fácil de usar, al mismo tiempo que mejoran considerablemente la concurrencia y escalabilidad del servidor web
- También planean ofrecer un SDK LLM reutilizable y componible que incluya frameworks de evaluación y guardrails
- Desarrollo de un CLI para actualizaciones de versión y herramientas de desarrollo
- Desarrollo de capacidades para ofrecer agentes basados en polling
- Con estos avances, buscan brindar a los ingenieros una experiencia de desarrollo todavía más fluida y eficiente
Aún no hay comentarios.