Milk Infrastructure

Milk Infrastructure

Milk Infrastructure · Programação

Milk Infrastructure é um conjunto de código aberto que guarda o tráfego da sua API da OpenAI no Milk Parlor e usa o Milk Man para virar testes e treinos de modelo.

Prévia da interface de Milk Infrastructure

Sobre Milk Infrastructure

What Is Milk Infrastructure

Milk Infrastructure é infraestrutura de código aberto para quem faz chamadas de modelo em produção e quer ficar com os dados que passam por elas. São duas peças. Milk Parlor é um gateway pequeno em Rust que fica entre o seu app e o provedor do modelo. Milk Man é um agente em Bash que roda tarefas sobre o tráfego salvo: conta trocas, escreve resumos, testa modelos, treina uma versão menor e compara resultados.

A instalação é sem graça de propósito. Não existe SDK da Milk nem biblioteca nova para aprender. Você mantém o pacote oficial da OpenAI, troca a URL base pelo endpoint do Parlor, coloca uma chave da Milk e as chamadas continuam funcionando. O Parlor repassa a requisição, devolve a resposta em streaming e grava os dois lados no armazenamento quando a troca termina. O usuário não espera por essa gravação.

Dois limites dizem quando isso serve. O Parlor fala apenas POST /v1/responses e POST /v1/chat/completions, streaming incluído, então não cobre a API da OpenAI inteira. E a Milk não promete um modelo melhor. Ela guarda o experimento e o resultado, falhas incluídas. Se você procura ranking universal, não é aqui.

O ponto interessante aparece quando o tráfego se acumula. Nos marcos que você define, uma tarefa lê as trocas novas e o resumo anterior, depois salva um checkpoint com temas, tarefas e tempos de resposta. Daí em diante o agente escreve tarefas de treino novas, treina um modelo aberto e compara respostas, velocidade e custo nas mesmas tarefas. Uma pessoa assina antes de qualquer rota do gateway mudar e o tráfego de clientes se mover.

Getting Started

  1. Instale o pacote oficial da OpenAI para Python ou Node, aponte OPENAI_BASE_URL para https://parlor.milkinfrastructure.com/v1 e coloque em OPENAI_API_KEY a chave da Milk emitida pelo operador.
  2. Deixe o código da aplicação como está. Chamadas a Responses e Chat Completions mantêm o mesmo formato, streaming incluído.
  3. Clone os repositórios milk-parlor e milk-man. O Parlor precisa de Rust. O Milk Man precisa de Bash, Python 3, Git e curl, além de zstd para processar os registros capturados.
  4. Configure as variáveis de armazenamento e de modelo. Arquivos locais ou buckets compatíveis com S3 servem, e os modelos podem rodar em APIs gerenciadas ou nas suas GPUs da Baseten ou da Modal.
  5. Suba o agente com bin/man run e abra o painel opcional na porta 8765 para acompanhar chat, heartbeat, resumos salvos e resultados de experimentos.

Informações do produto

Uma visão rápida dos preços, das plataformas compatíveis e do desempenho de Milk Infrastructure.

Plano gratuitoSim
Planos pagosFree (Apache 2.0, self-hosted)
PlataformaSelf-hosted (Linux, macOS)
DesenvolvedorMilk Infrastructure
CategoriaProgramação
Data de lançamentoAug 2026
Última atualizaçãoOct 2026
Visitas ao siteN/A
Ranking global do siteN/A
Disponibilidade da APISim

Ideal para

Os usuários, tarefas e cenários em que esta ferramenta se encaixa melhor.

Usuários

  • Desenvolvedores com chamadas compatíveis com OpenAI em produção
  • Times pequenos sem plataforma de dados
  • Engenheiros de ML que comparam um modelo pequeno com um hospedado

Tarefas

  • Capturar pares de requisição e resposta para analisar depois
  • Montar dados de treinamento a partir do uso real
  • Experimentos com modelos ao longo de semanas
  • Comparar custo e latência entre modelos

Cenários

  • Um chatbot com volume diário estável e nenhuma ideia do que as pessoas perguntam
  • Um time que quer ajustar um modelo ao próprio domínio e não tem conjunto rotulado
  • Um operador que distribui tráfego de clientes entre provedores

Principais recursos

Gateway compatível com OpenAI e captura em segundo plano

O Milk Parlor autentica, repassa e entrega as chamadas em streaming do jeito que o seu app espera. Quando a troca acaba, ele grava a requisição e a resposta devolvida em armazenamento local ou compatível com S3. A gravação acontece depois da resposta, então a captura não soma espera para o usuário. Pense no gateway como registros de chamadas que também repassam.

Migração de duas linhas a partir do SDK oficial

Não há cliente proprietário para estudar. Você mantém pip install openai ou npm install openai e muda duas variáveis de ambiente: a URL base e a chave. O código que chama Responses ou Chat Completions roda sem alteração, streaming incluído. É a parte do produto com menos atrito.

Resumos por marco sem chamadas ao modelo

Um heartbeat conta as trocas salvas. Quando a contagem cruza o limite definido em MILK_SUMMARY_THRESHOLDS, uma tarefa lê os dados novos mais o resumo anterior e salva um checkpoint com temas, tarefas e tempos de resposta. Contar não gasta token. O painel se preenche quando o arquivo aparece.

Agente em Bash que roda local

O Milk Man funciona a partir do Bash sem Docker, sem GPU local, sem banco e sem agendador separado. Um heartbeat leve fica com a tarefa ativa, espera sem chamar modelo e volta quando há trabalho novo ou quando vence a checagem. Fechar o painel não para o trabalho, e perder a conexão não significa que a tarefa morreu.

Treino e comparação nas suas próprias tarefas

O agente treina um modelo aberto, ajusta como ele roda e compara respostas, velocidade e custo contra uma referência no mesmo conjunto de tarefas. Qwen3.5-0.8B é a primeira base de treino citada na documentação. Ganho de velocidade e resposta melhor são medidas separadas, porque são afirmações diferentes.

Aprovação humana antes de mover tráfego

O Milk Man pode preparar uma regra de gateway para um modelo recém-escolhido, mas a regra fica sem assinatura até um operador revisar. Nada redireciona tráfego de clientes por conta do agente. Esse portão único separa um experimento de um incidente.

Prós e contras

Prós

  • Sem SDK novo e com dois valores trocados, a adoção custa uma tarde e não um projeto de migração.
  • A captura ocorre depois da resposta, então a latência que o usuário sente fica onde estava.
  • Tudo é Apache 2.0 e roda no seu armazenamento e nas suas GPUs, então o tráfego não precisa sair da sua nuvem.
  • Resumos e registros de experimento são só de acréscimo, o que deixa execuções antigas auditáveis em vez de sobrescritas.
  • O desenho de heartbeat mantém tarefas longas vivas mesmo com a aba fechada ou a sessão SSH caída.

Contras

  • Só Responses e Chat Completions são suportados, então um app que usa embeddings, arquivos ou assistants precisa de outro caminho para esses dados.
  • A infraestrutura é você quem sobe: Rust no gateway e Python, Git, curl e zstd no agente.
  • Não existe plano gerenciado nem tabela de preços publicada, e isso joga o trabalho operacional no seu time.
  • O treino precisa de GPU na Baseten ou na Modal, e essa conta chega separada do código aberto.

Perguntas frequentes

Ele fica entre o seu app e o provedor do modelo, salva os pares de requisição e resposta elegíveis e depois roda tarefas sobre esse tráfego. Você recebe resumos do que as pessoas pedem, casos de teste, divisões de treino e comparações entre modelos.