- O LLM-Kit da Grab é um framework projetado para acelerar a configuração de aplicações de IA generativa em nível de produção
- No desenvolvimento de aplicações de IA que lidam com dados sensíveis, segurança e proteção de dados são extremamente importantes, e o LLM-Kit resolve questões como escalabilidade, integração, monitoramento e padronização
- Com isso, ele torna possível um desenvolvimento de aplicações com LLMs mais eficiente e eficaz no longo prazo, ajudando a Grab a integrar centenas de aplicações de GenAI
Características do LLM-Kit
- Fornece uma estrutura pré-configurada (servidor de API, gerenciamento de configuração, agentes LLM de exemplo, testes etc.)
- Integra-se com Poetry, Gunicorn, FastAPI, LangChain, LangSmith, Hashicorp Vault, Amazon EKS, Gitlab CI e outros
- Recursos de observabilidade com monitoramento em tempo real por meio de integração com Datadog e LangSmith
- Gerenciamento de configuração e segredos usando
configparser do Python e Vault
- Helper de autenticação OpenID Connect (OIDC)
- Documentação de API com Swagger e Redoc
- Integração com Redis e Vector DB
- Pipeline de deploy para ambientes de staging e produção
- Integração com o poderoso framework de avaliação do LangSmith
- Cookbook: reúne exemplos usados com frequência na Grab e fornece recursos para desenvolvedores
- Inclui vários casos, como agente com memória persistente, agente LLM para Slackbot, analisador de imagens e chatbot full-stack com interface de usuário
Valor do LLM-Kit
- Acelera o desenvolvimento de aplicações com LLMs com uma stack tecnológica pré-configurada e integrada
- Permite monitoramento em tempo real e detecção/resolução de problemas com integração a LangSmith e Datadog
- Reforça a segurança com autenticação OIDC e gerenciamento de segredos com Vault
- Melhora a eficiência de armazenamento/busca de dados com Vector DB
- Fornece um framework com caminho pavimentado que promove boas práticas e padronização
- A equipe pode economizar cerca de 1,5 semana de tempo de desenvolvimento antes de começar a trabalhar na primeira funcionalidade
Design de arquitetura e implementação técnica
- Oferece escalabilidade, flexibilidade e facilidade de uso com uma arquitetura modular
Automação
- Quando o engenheiro envia detalhes relevantes, como o nome do app, é acionada a criação de um projeto no GitLab
- É gerado um scaffold de código projetado especificamente para apps com LLM
- Um arquivo GitLab CI para CI/CD é criado no mesmo repositório
- É criada a infraestrutura de staging, como ECR e EKS
- Uma pasta Terraform para provisionamento de infraestrutura é criada, levando ao deploy da infraestrutura de produção
- No fim do pipeline, o token do GPT é enviado para um caminho seguro no Vault e uma notificação de conclusão é enviada ao engenheiro
Estrutura do código scaffold
- Agents: inclui código para inicializar agentes com base no framework de agentes do LangChain
- Auth: módulo de autenticação e autorização para executar algumas APIs dentro da Grab
- Core: inclui extração de configuração (como token do GPT) e descriptografia de segredos para executar o app com LLM
- Models: define estruturas para as principais APIs de LLM da Grab
- Routes: define endpoints de API REST para o app com LLM (incluindo verificação de status, autenticação, autorização e agentes simples)
- Storage: inclui conectividade com o PGVector, o Vector DB gerenciado da Grab, e o esquema do banco de dados
- Tools: funcionalidades usadas como ferramentas para agentes LLM
- Tracing: integra-se com ferramentas de rastreamento e monitoramento para acompanhar várias métricas de apps em produção
- Utils: pasta base para funcionalidades utilitárias
Provisionamento de infraestrutura e deploy
- Um pipeline abrangente integrado ao mesmo codebase faz automaticamente o scaffolding do código necessário para provisionamento de infraestrutura, deploy e processo de build
- Usa Terraform para provisionar com fluidez a infraestrutura necessária
- O pipeline de deploy é definido no arquivo
.gitlab-ci.yml, garantindo deploy automatizado
- O processo de build é especificado no
Dockerfile, permitindo builds consistentes
- Com o scaffolding automatizado, os desenvolvedores podem focar na lógica de negócio em vez da complexidade básica de infraestrutura e deploy
Scaffolding de RAG
- Com o LLM-Kit, o processo de configurar o Vector DB (PGVector) e adicionar a lista de permissões do serviço foi simplificado
- Após o envio do formulário, é possível acessar as credenciais e o caminho do host do banco de dados
- Os segredos são adicionados automaticamente a um caminho no Vault
- O engenheiro só precisa incluir o caminho do host do banco de dados no arquivo de configuração do app LLM-Kit scaffoldado
Conclusão
- O LLM-Kit é uma ferramenta importante para apoiar a inovação e o crescimento em AI e ML na Grab
- Ao resolver os desafios enfrentados pelas equipes e fornecer um framework abrangente, escalável e flexível para desenvolver apps com LLM, ele está liderando o desenvolvimento da próxima geração de apps de IA da Grab
Crescimento e planos futuros
- Há planos para fornecer um SDK estável e fácil de usar, ao mesmo tempo em que melhora significativamente a concorrência e a escalabilidade do servidor web
- Está previsto o fornecimento de um SDK de LLM reutilizável e componível, incluindo frameworks de avaliação e guardrails
- Atualizações de versão e desenvolvimento de uma CLI para ferramentas de desenvolvimento
- Desenvolvimento de funcionalidade para oferecer agentes baseados em polling
- Com esses avanços, a intenção é proporcionar aos engenheiros uma experiência de desenvolvimento ainda mais fluida e eficiente
Ainda não há comentários.