Watson: An AI Personal Assistant built with Embabel Framework

Watson

A couple of weeks ago, I discovered Embabel, a framework for developing agents in the JVM, from the creator of Spring. This simple description was enough to make me feel I should give it a try.

As a proof of concept, I built Watson, an AI personal assistant to help me with my daily tasks. Basically, I wanted a multi-agent setup with a team of specialists, so I defined the following team:

watson_diagram

After playing for a while with this framework, I can say that it is solid, readable and pretty customizable. What I appreciate the most is the annotations system, which allows us to write beautiful and simple code. In addition, it has a strong community which works every day to maintain and strengthen the ecosystem.

At this point, with 1.5.1 being the latest version, I consider it mature enough to be used to write production applications and I do not have any doubt that it’s going to continue improving in the future.

You can find the project in this GitHub repository.