Agents-Flex é um framework Java projetado para aplicações que utilizam modelos de linguagem grandes (LLM). Sua arquitetura leve e simples oferece uma solução elegante para desenvolvedores que buscam integrar e trabalhar com LLMs de maneira eficiente. O framework suporta uma variedade de protocolos de rede, incluindo HTTP, SSE e WS, permitindo conexões flexíveis com diferentes LLMs, como OpenAI e LLama.
Uma das características marcantes do Agents-Flex é o suporte a modelos de prompt, oferecendo templates e frameworks como FEW-SHOT, CRISPE, BROKE e ICIO. Isso permite que os desenvolvedores não apenas utilizem modelos pré-definidos, mas também criem seus próprios templates de prompt personalizados.
Além disso, o Agents-Flex possui um componente de Function Calling altamente flexível, que suporta a definição de métodos locais, sua análise, callbacks através de LLMs e a execução desses métodos para obtenção de resultados. Para o gerenciamento de documentos, o framework oferece componentes como Loader, Parser e Splitter, facilitando o carregamento de dados da web, arquivos locais, bancos de dados e diversos tipos de dados.
O módulo de Memória do Agents-Flex é dividido em MessageMemory e ContextMemory, utilizados para registrar mensagens de chat e contextos de execução de Chain. Os desenvolvedores podem estender o módulo de Memória por herança para alcançar funcionalidades mais ricas. O framework também inclui capacidades extensas de Embedding, permitindo que os desenvolvedores implementem a interface Embedding para expandir seus algoritmos de embedding privados.
Agents-Flex suporta múltiplos bancos de dados vetoriais e permite que os desenvolvedores implementem a interface VectorStore para expandir seus serviços privados de VectorStore. O framework define uma implementação abstrata de Agents, possibilitando a criação de aplicações mais interativas através do uso de Chains, que incluem Chains sequenciais, assíncronas e de loop, ajudando os desenvolvedores a lidar com diversos cenários.