Pipelines: Ui-Agnóstica Open Api Plugin Framework
Não use pipelines se!
Se seu objetivo é simplesmente adicionar suporte a fornecedores adicionais, como filtros antrópicos ou básicos, você provavelmente não precisa de pipelines. Para esses casos, as funções abertas da Webui são mais adequadas-é interno, muito mais conveniente e mais fácil de configurar. Os pipelines, no entanto, entram em jogo quando você está lidando com tarefas computacionalmente pesadas (por exemplo, executando modelos grandes ou lógica complexa) que você deseja descarregar da sua principal instância aberta do WebUi para obter melhor desempenho e escalabilidade.
Bem -vindo aPipelines, umNullcoreiniciativa. Os pipelines trazem fluxos de trabalho modulares e personalizáveis para qualquer cliente da interface do usuário que suporta especificações da API OpenAI - e muito mais! Estender facilmente as funcionalidades, integrar a lógica exclusiva e criar fluxos de trabalho dinâmicos com apenas algumas linhas de código.
🚀 Por que escolher pipelines?
- Possibilidades ilimitadas:Adicione facilmente a lógica personalizada e integre as bibliotecas Python, dos agentes da IA às APIs de automação residencial.
- Integração perfeita:Compatível com qualquer interface do usuário/cliente que suporta especificações da API OpenAI. (Somente os pipelines do tipo tubo são suportados; os tipos de filtro requerem clientes com suporte a pipelines.)
- Ganchos personalizados:Construa e integra pipelines personalizados.
Exemplos do que você pode alcançar:
- Pipeline de chamadas de função: Lidar com chamadas de função facilmente e aprimore seus aplicativos com lógica personalizada.
- Oleoduto RAG personalizado: Implementar pipelines de geração de recuperação sofisticada de recuperação adaptada às suas necessidades.
- Monitoramento de mensagens usando Langfuse: Monitore e analise as interações de mensagens em tempo real usando o Langfuse.
- Filtro de limite de taxa: Controle o fluxo de solicitações para evitar limites de taxa excedentes.
- Filtro de tradução em tempo real com libretranslate: Integrar perfeitamente traduções em tempo real em suas interações LLM.
- Filtro de mensagens tóxicas: Implementar filtros para detectar e lidar com mensagens tóxicas de maneira eficaz.
- E muito mais!: O céu é o limite para o que você pode realizar com pipelines e python.Confira nossos andaimesPara começar seus projetos e ver como você pode otimizar seu processo de desenvolvimento!
🔧 Como funciona
A integração de pipelines com qualquer cliente de interface do usuário compatível com a API OpenAI é simples. Inicie sua instância de pipelines e defina o URL do OpenAI no seu cliente para o URL de pipelines. É isso! Você está pronto para aproveitar qualquer biblioteca Python para suas necessidades.
⚡ Comece rápido com o Docker
Os pipelines são um sistema de plug -in com execução de código arbitrário -Não busque pipelines aleatórios de fontes em que você não confia
Para uma configuração simplificada usando o Docker:
-
Execute o contêiner de pipeline:
Docker Run -d -p 9099: 9099 --add -host = host.docker.internal: host -gateway -v pipelines:/app/pipelines -name pipelines ---restart sempre ghcr.io/open-webui/pipelines:main
-
Conecte -se ao Nullcore:
- Navegue até oPainel de administrador> Configurações> conexõesSeção em Webui aberto.
- Quando você está nesta página, você pode pressionar o
+
botão para adicionar outra conexão. - Defina o URL da API para
http://localhost:9099
e a chave da API para0p3n-w3bu!
- Depois de adicionar a conexão dos pipelines e a verificar, você verá um ícone aparecer no campo URL da base da API para a conexão adicionada. Quando pairou, o ícone em si será rotulado
Pipelines
. Seus oleodutos agora devem estar ativos.
Se o seu webui aberto estiver em execução em um recipiente do Docker, substitualocalhost
comhost.docker.internal
No URL da API.
-
Gerenciar configurações:
- No painel de administrador, vá paraPainel de administrador> Configurações> Pipelinesguia.
- Selecione o pipeline desejado e modifique os valores da válvula diretamente no WebUI.
Se você não conseguir se conectar, provavelmente é um problema de rede do Docker. Incentivamos você a solucionar problemas por conta própria e compartilhar seus métodos e soluções no fórum de discussões.
Se você precisar instalar um pipeline personalizado com dependências adicionais:
-
Execute o seguinte comando:
docker run -d -p 9099:9099 --add-host=host.docker.internal:host-gateway -e PIPELINES_URLS="https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py" -v pipelines:/app/pipelines --name Pipelines--renderstart sempre ghcr.io/open-webui/pipelines:main
Como alternativa, você pode instalar diretamente os pipelines das configurações de administrador copiando e colando o URL do pipeline, desde que não possua dependências adicionais.
É isso! Agora você está pronto para criar integrações de IA personalizáveis sem esforço com os pipelines. Aproveitar!
📦 Instalação e configuração
Comece com oleodutos em algumas etapas fáceis:
-
Verifique se o Python 3.11 está instalado.É a única versão Python oficialmente suportada.
-
Clone o repositório de pipelines:
Git clone https://github.com/open-webui/pipelines.git
Pipelines de CD -
Instale as dependências necessárias:
pip install -r requisitos.txt
-
Inicie o servidor de pipelines:
sh ./start.sh
Depois que o servidor estiver em execução, defina o URL do OpenAI no seu cliente no URL do Pipelines. Isso desbloqueia os recursos completos dos pipelines, integrando qualquer biblioteca Python e criando fluxos de trabalho personalizados adaptados às suas necessidades.
📂 Estrutura e exemplos de diretórios
O/pipelines
Diretório é o núcleo da sua configuração. Adicione novos módulos, personalize os existentes e gerencie seus fluxos de trabalho aqui. Todos os oleodutos no/pipelines
diretório serácarregado automaticamenteQuando o servidor é lançado.
Você pode alterar este diretório de/pipelines
para outro local usando oPIPELINES_DIR
env variable.
Exemplos de integração
Encontre vários exemplos de integração nohttps://github.com/open-webui/pipelines/blob/main/examples
diretório. Esses exemplos mostram como integrar diferentes funcionalidades, fornecendo uma base para a construção de seus próprios pipelines personalizados.
🎉 Trabalho em andamento
Estamos em evolução continuamente! Gostaríamos muito de ouvir seus comentários e entender quais ganchos e recursos se adequariam melhor ao seu caso de uso. Sinta -se à vontade para alcançar e se tornar parte da nossa comunidade aberta da Webui!
Nossa visão é empurrarPipelinespara se tornar a estrutura de plug -in final para a nossa interface de IA,Nullcore. ImaginarNullcorecomo o WordPress das interfaces de IA, comPipelinessendo sua gama diversificada de plugins. Junte -se a nós nesta emocionante jornada! 🌍