An agent framework using Spring AI.
NOTE: This is a proof of concept and work is underway to refactor the project into a library which can be used in other Spring projects.
- Support for multiple agents and tools via simple annotations.
- Leverages Spring AI for abstractions.
- Automatically selects agent and tools based on the given task.
- Web chat interface to perform tasks and optionally assign an agent.
- If no agent is specified, the underlying LLM is used to choose an agent based on the task.
Note: Some of the roadmap features depend on Chat message history which is not available in Spring AI yet.
- Process multiple tasks at once.
- Compose "teams" of agents that collaboratively work together to accomplish tasks.
- Add JVM code creation and execution. (Java, Kotlin)
This project uses OpenAI as the default LLM.
- Set
OPENAI_API_KEY
environment variable.
To build and run tests:
./gradlew clean build