LiteLLM
LiteLLM é uma camada unificada e leve para chamadas de APIs de LLMs. Ele permite que você use diferentes provedores de modelos de linguagem (como OpenAI, Anthropic, Azure, Mistral, Ollama, entre outros) por meio de uma única interface compatível com a API da OpenAI. Isso facilita a substituição, comparação e roteamento inteligente de modelos, além de permitir logging, caching e controle de custos de maneira centralizada. De certa forma, é um proxy de LLMs com observabilidade centralizada.
Documentação oficial:
https://docs.litellm.ai/
Características
| Parâmetro | Nota |
|---|---|
| Customização | ★★★★★ |
| Curva de Aprendizado | ★★ |
| Complexidade | ★★ |
| Dependências | ★★ |
| Plug and Play | ★★ |
| Comunidade | ★★★★★ |
✅ Prós
- Interface unificada: Permite alternar entre diferentes provedores de LLMs (OpenAI, Anthropic, Mistral, etc.) com apenas uma mudança de configuração.
- Roteamento inteligente: Suporte a balanceamento de carga, fallback entre modelos, e lógica de roteamento baseada em custo, latência ou prompt.
- Compatível com OpenAI SDK: Funciona como um drop-in replacement da API da OpenAI, facilitando a adoção em projetos existentes.
- Observabilidade e logging: Integração com ferramentas como Langfuse, Prometheus, Datadog e outros para rastrear chamadas e custos. Nós o usamos para adicionar observabilidade nos agentes do LibreChat, conectando LibreChat -> LiteLLM -> Langfuse.
- Controle de custos: Permite definir limites por modelo ou por time, logar custos e bloquear chamadas acima de thresholds.
- Open source com servidor próprio: Pode ser usado como uma API local (via FastAPI), ideal para ambientes on-premise ou controlados.
- Suporte para streaming: Com suporte completo a mensagens em tempo real (ideal para aplicações conversacionais).
- Integração com caching: Compatível com Redis e outros backends para cache de chamadas frequentes.
- Projeto em andamento: O projeto é mantido pela comunidade e continua melhorando ao longo do tempo. Originalmente não possuía tela, e agora tem a UI para permitir o gerenciamento do LiteLLM por tela.
❌ Contras
- Dependência de configuração manual: Embora a curva de aprendizado seja baixa, configurar roteamento avançado ou múltiplos provedores exige atenção. Requer entendimento do arquivo de configuração (litellm_config).
- Foco técnico: A ferramenta é poderosa, mas requer familiaridade com conceitos de APIs, ambientes locais, LLMs, etc.
- Manutenção frequente: Como o projeto evolui rápido, o que é bom, mas atualizações podem causar breaking changes em integrações mais avançadas.
Links Úteis
- Lista de provedores suportados: https://docs.litellm.ai/docs/providers
- Variáveis necessárias e guia de uso do proxy: https://docs.litellm.ai/docs/providers/litellm_proxy
- Integração com Langfuse para rastreamento de chamadas: https://docs.litellm.ai/docs/pass_through/langfuse
- Exemplo de roteamento baseado em custo e latência: https://docs.litellm.ai/docs/routing
- Configuração de fallback entre modelos: https://docs.litellm.ai/docs/proxy/reliability
- Cache de chamadas com Redis: https://docs.litellm.ai/docs/caching/all_caches
✅ Conclusão
O LiteLLM é uma solução completa para quem precisa de governança, observabilidade e flexibilidade ao trabalhar com múltiplos modelos de IA. Sua versão Open-Source é bastante completa, e o que é bom considerando as outras alternativas open-source mais limitadas como a do Portkey. Sua versão paga (enterprise) compreende mais funcionalidades, possivelmente com menos funcionalidades do que o Portkey, mas com a vantagem das funções enterprise na versão self-hosted.