Segundo de cinco posts sobre gateway de IA. Antes: por que existe. Depois: quanto custa em latência e onde o modelo local entra.
Resumo
- Baixe o stack — cinco arquivos,
docker compose up -d. - Do lado da aplicação, a mudança inteira é trocar
api.openai.compelo gateway e o nome do modelo por um alias de tarefa. - O Langfuse custa quatro serviços a mais. Comece sem ele.
- A parte que mais importa no arquivo são duas linhas, e estão na seção 3.
1. Os seis serviços
litellm, postgres, langfuse, clickhouse, redis e minio. Só os dois primeiros fazem o trabalho do gateway.
LiteLLM + Postgres é o gateway. O Postgres guarda chave virtual e gasto acumulado — sem ele o LiteLLM roda, mas você perde exatamente as duas coisas pelas quais montou a camada.
Langfuse é a observabilidade: rastro de requisição e resposta, custo por trace calculado a partir do uso de token, versionamento de prompt, avaliação. Integra nativamente com o LiteLLM — duas linhas de callback no YAML.
E a parte que a documentação não coloca em destaque: o Langfuse 3.x precisa de Postgres, ClickHouse, Redis e storage compatível com S3. Quatro serviços só para observabilidade. Não é "mais um container".
Comece sem o Langfuse. O painel do próprio LiteLLM já mostra gasto por chave, por modelo e por time, que é o que responde a primeira pergunta que alguém vai fazer. Adicione quando a pergunta que você precisa responder deixar de caber ali — e nesse momento você vai saber exatamente por que está pagando o custo operacional.
2. Subir
cp .env.example .env # troque TODOS os valores
docker compose up -d
LiteLLM em localhost:4000, com painel em /ui. Langfuse em localhost:3000.
São cinco arquivos, não quatro — o init-langfuse-db.sh é montado pelo compose e sem ele o banco do Langfuse não sobe. Estão todos linkados na seção 6.
