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