Framework open source para automação de agentes de IA em Java
Website • Documentação • Quickstart • Discord
O archflow é um framework para criar, executar e gerenciar fluxos de trabalho baseados em IA de forma robusta e escalável. Construído sobre LangChain4j, ele oferece:
- 🎯 Fluxo Estruturado: Desenvolva fluxos de IA modulares e reutilizáveis em Java
 - 🚀 Alta Performance: Execução otimizada e escalável com suporte a processamento paralelo
 - 🔌 Extensibilidade: Sistema robusto de plugins com gerenciamento automático de dependências
 - 🛡️ Controle Total: Gestão completa do ciclo de vida dos fluxos, com monitoramento detalhado
 - 📊 Observabilidade: Métricas detalhadas e auditoria completa de execuções
 - 🏭 Produção Ready: Projetado para ambientes empresariais com foco em confiabilidade
 
A arquitetura do archflow é organizada em pilhas, proporcionando uma separação clara de responsabilidades e facilitando a manutenção e escalabilidade.
- Execução de fluxos distribuída
 - Gerenciamento de estado
 - Controle de ciclo de vida
 - Processamento paralelo
 - Tratamento de erros robusto
 
- ModelAdapter para diferentes LLMs
 - ChainAdapter para sequências de processamento
 - AgentAdapter para execução autônoma
 - ToolAdapter para funcionalidades específicas
 - MemoryAdapter para gestão de contexto
 
- Carregamento dinâmico
 - Versionamento automático
 - Resolução de dependências via Jeka
 - Isolamento de classloader
 - Hot reload de componentes
 
- Métricas de execução detalhadas
 - Tracking de uso de recursos
 - Auditoria de operações
 - Logging estruturado
 - Alertas e notificações
 
- Execução assíncrona de fluxos
 - Gestão de estado distribuída
 - Controle de ciclo de vida
 - Processamento paralelo
 - Retry policies
 
- Carregamento dinâmico
 - Gestão de dependências
 - Versionamento
 - Isolamento
 - Hot reload
 
- Performance metrics
 - Resource utilization
 - Execution tracking
 - Error monitoring
 - Audit logging
 
- Integração com LLMs
 - Chain processing
 - Agent execution
 - Tool management
 - Memory handling
 
- Java 17 ou superior
 - Maven 3.8+
 - Memória: 4GB RAM (mínimo)
 - Disco: 1GB disponível
 - Sistema Operacional: Linux, Windows ou macOS
 
<dependencies>
   <dependency>
      <groupId>br.com.archflow</groupId>
      <artifactId>archflow-core</artifactId>
      <version>1.0.0-SNAPSHOT</version>
   </dependency>
   <dependency>
      <groupId>br.com.archflow</groupId>
      <artifactId>archflow-agent</artifactId>
      <version>1.0.0-SNAPSHOT</version>
   </dependency>
   <dependency>
      <groupId>br.com.archflow</groupId>
      <artifactId>archflow-langchain4j</artifactId>
      <version>1.0.0-SNAPSHOT</version>
   </dependency>
</dependencies>public class CustomerSupportFlow implements Flow {
   @Override
   public String getId() {
      return "customer-support";
   }
   @Override
   public List<FlowStep> getSteps() {
      return Arrays.asList(
              new IntentAnalysisStep(),
              new ResponseGenerationStep()
      );
   }
   @Override
   public FlowConfiguration getConfiguration() {
      return FlowConfiguration.builder()
              .timeout(30000)
              .retryPolicy(new RetryPolicy(3, 1000, 2.0))
              .build();
   }
}AgentConfig config = AgentConfig.builder()
        .agentId("support-agent")
        .pluginsPath("plugins")
        .maxConcurrentFlows(10)
        .build();
try (ArchFlowAgent agent = new ArchFlowAgent(config)) {
Flow flow = new CustomerSupportFlow();
Map<String, Object> input = Map.of("message", "Como posso resetar minha senha?");
FlowResult result = agent.executeFlow(flow, input).get();
    System.out.println("Status: " + result.getStatus());
        System.out.println("Output: " + result.getOutput().orElse(null));
        }- archflow-core: Engine de execução, interfaces base e contratos principais
 - archflow-model: Modelos de domínio e estruturas de dados
 - archflow-plugin-api: Sistema de catálogo e API para desenvolvimento de plugins
 - archflow-plugin-loader: Carregamento dinâmico de plugins com Jeka
 - archflow-agent: Agente de execução com gestão de plugins e métricas
 - archflow-langchain4j: Adaptadores para integração com LangChain4j
 
- 
Setup do Ambiente
git clone https://github.com/archflow/archflow.git cd archflow mvn clean install - 
Primeiro Fluxo
 
Adoramos contribuições! Veja como você pode ajudar:
- 🐛 Reporte bugs e sugira features nas Issues
 - 📖 Melhore a documentação
 - 💻 Contribua com código seguindo nosso guia
 - 🌟 Dê uma estrela no projeto e compartilhe!
 
archflow é licenciado sob Apache License 2.0.
- LangChain4j - Framework de base para processamento de IA
 - Jeka - Gerenciamento de dependências
 - Contribuidores