Agents-Flex는 LLM(Large Language Models) 애플리케이션 개발을 위한 Java 프레임워크로, 개발자들이 다양한 LLM에 쉽게 연결할 수 있도록 설계되었습니다. 이 프레임워크는 HTTP, SSE, WS와 같은 다양한 네트워크 프로토콜을 포함하여 OpenAI, LLama 등 다양한 LLM에 연결할 수 있는 유연성을 제공합니다. 또한, FEW-SHOT, CRISPE, BROKE, ICIO와 같은 풍부한 개발 템플릿과 프롬프트 프레임워크를 제공하여 개발자들이 자신만의 고유한 프롬프트 템플릿을 커스터마이징할 수 있도록 합니다.
Agents-Flex는 매우 유연한 함수 호출 컴포넌트를 가지고 있어, 로컬 메소드 정의, 파싱, LLM을 통한 콜백, 그리고 로컬 메소드 실행을 지원합니다. 이는 개발자들이 LLM을 통해 로컬 메소드를 실행하고 결과를 얻을 수 있게 해줍니다. 또한, 문서를 위한 Loader, Parser, Splitter 컴포넌트를 제공하여 웹, 로컬 파일, 데이터베이스 등 다양한 소스로부터 데이터를 쉽게 로드할 수 있습니다.
메모리 모듈은 MessageMemory와 ContextMemory로 나뉘어 있으며, 채팅 메시지와 체인 실행 컨텍스트를 기록하는 데 사용됩니다. 개발자들은 메모리 모듈을 상속받아 더 풍부한 기능을 구현할 수 있습니다. Agents-Flex는 또한 광범위한 임베딩 기능과 확장성을 포함하고 있어, 개발자들이 Embedding 인터페이스를 구현하여 개인적인 임베딩 알고리즘과 지원을 확장할 수 있습니다.
벡터 스토어 지원을 통해, Agents-Flex는 여러 벡터 데이터베이스를 지원하며, 개발자들은 VectorStore 인터페이스를 구현하여 개인적인 VectorStore 서비스를 확장할 수 있습니다. Agents-Flex는 Agents의 추상 구현을 정의하며, 개발자들은 Agents Chain을 사용하여 더 상호작용적인 애플리케이션을 만들 수 있습니다. 체인은 순차적 체인, 비동기 체인, 루프 체인을 포함하여 개발자들이 다양한 시나리오를 처리할 수 있도록 돕습니다.