Pipeline no Open WebUI
O que são Pipelines no Open WebUI?
Os Pipelines (fluxos de trabalho) representam um recurso avançado que permitem criar sequências automatizadas de tarefas para processamento de entradas, geração de respostas de modelos de IA e execução de ações personalizadas. Funcionam como uma verdadeira "linha de montagem digital" para operações complexas envolvendo:
- Interceptar e modificar mensagens entre usuários e modelos de IA
- Executar processamento customizado antes/depois das chamadas ao LLM
- Integrar múltiplos serviços e lógica condicional em sequência
Funcionalidades Principais
-
Interceptação de Mensagens
- Modificar entradas/saídas em tempo real
- Aplicar filtros de conteúdo
- Registrar logs detalhados
-
Integração Modular
- Conectar serviços via:
- APIs REST
- Bancos de dados
- Ferramentas de observabilidade (Langfuse)
- Motores de tradução (LibreTranslate)
- Conectar serviços via:
-
Gerenciamento de Modelos
- Roteamento entre diferentes LLMs
- Fallback para modelos alternativos
- Controle de taxas (rate limiting)
Exemplos de Implementação
Filtros Básicos:
- Filtro de Limite de Taxa: Controle o fluxo de solicitações para evitar exceder os limites de taxa.
- Filtro de Mensagens Tóxicas: Implementar filtros para detectar e lidar com mensagens tóxicas de forma eficaz.
Integrações Avançadas:
- Monitoramento de mensagens usando langfuse: Monitore e analise interações de mensagens em tempo real usando o Langfuse.
- Filtro de Tradução em Tempo Real com LibreTranslate: Integre perfeitamente traduções em tempo real em suas interações LLM.
Fluxos Complexos:
- Função Chamando Pipeline: Lide facilmente com chamadas de função e aprimore seus aplicativos com lógica personalizada.
- Pipeline RAG personalizado: Implemente pipelines sofisticados de Geração Aumentada por Recuperação adaptados às suas necessidades
Benefícios
- Eficiência: Automatiza tarefas repetitivas.
- Controle: Permite adicionar validações e regras de negócio.
- Personalização: Adapta o comportamento do modelo de IA para casos específicos.
- Escalabilidade: Gerencia fluxos complexos de forma organizada.
Instalação via Docker
Se você seguiu as instruções de instalação do Open WebUI disponibilizadas no meu primeiro post do blog, então você deve ter o arquivo docker-compose.yml configurado e estar pronto para adicionar um novo serviço que é o pipeline.
pipelines:
image: ghcr.io/open-webui/pipelines:main
container_name: pipelines
ports:
- "9099:9099"
environment:
- PIPELINES_API_KEY=${PIPELINES_API_KEY}
restart: unless-stopped
extra_hosts:
- host.docker.internal:10.0.0.3
volumes:
pipelines: {}
⚠️ Importante: PIPELINES_API_KEY tem um valor padrão que é 0p3n-w3bu! essa informação você pode salvar em um arquivo .env
Se a execução do container estiver correto, o retorno deverá ser parecido com esse: INFO: Uvicorn running on http://0.0.0.0:9099 (Press CTRL+C to quit)
Configuração no Open WebUI
- Acesse Configurações > Conexões
- Em OpenAI API Connections:
- URL: http://[SEU_IP]:9099
- Chave API: 0p3n-w3bu!
- Para adicionar pipelines:
- Use arquivos Python diretamente da interface
- Ou importe de repositórios Git