Mario is a senior principal software engineer at Red Hat working as Drools project lead. He has a huge experience as Java developer having been involved in (and often leading) many enterprise level projects in several industries ranging from media companies to the financial sector. Among his interests there are also functional programming and Domain Specific Languages. By leveraging these 2 passions he created the open source library lambdaj with the purposes of providing an internal Java DSL for manipulating collections and allowing a bit of functional programming in Java. He is also a Java Champion, the JUG Milano coordinator a frequent speaker and the co-author of "Modern Java in Action" published by Manning.
Generative AI has taken the world by storm over the last year, and it seems like every executive leader out there is telling us “regular” Java application developers to “add AI” to our applications. Does that mean we need to drop everything we’ve built and become data scientists instead now?
Fortunately, we can infuse AI models built by actual AI experts into our applications in a fairly straightforward way, thanks to some new projects out there. We promise it’s not as complicated as you might think! Thanks to the ease of use and superb developer experience of Quarkus and the nice AI integration capabilities that the LangChain4j libraries offer, it becomes trivial to start working with AI and make your stakeholders happy 🙂
In this session, you’ll explore a variety of AI capabilities. We’ll start from the Quarkus DevUI where you can try out AI models even before writing any code. Then we’ll get our hands dirty with some code and exploring LangChain4j features such as prompting, chaining, and preserving state; agents and function-calling; enriching your AI model’s knowledge with your own documents using retrieval augmented generation (RAG); and discovering ways to run (and train) models locally using tools like Ollama and/or Podman AI Lab. In addition, we’ll take a look at observability and fault tolerance of the AI integration and compile the app to a native binary. Maybe we’ll even try some new features, such as generating images or audio!
Come to this session to learn how to build AI-infused applications in Java from the actual Quarkus experts and engineers working on the Quarkus LangChain4j extensions. This is also an opportunity to provide feedback to the maintainers of these projects and contribute back to the community.
What AI can do nowadays is simply mind-blowing. I must admit that I cannot stop being surprised and sometimes literally jumping from my seat thinking: "I didn't imagine that AI could ALSO do this!". What is a bit misleading here is that today what we tend to identify with Artificial Intelligence is actually the employment of Large Language Model which is only a subset of all AI technologies available: ML is a fraction of the whole AI-story, while agentic AI enables the implementation of more general use cases, for instance also involving the usage of Symbolic AI to encode the business logic of a specific domain through a set of human-readable and transparent rules.
In fact there are many situations where being surprised is the last thing that you may want. You don't want to jump from your seat when your bank refuses your mortgage without any human understandable reason, but only because AI said no. And even the bank may want to grant their mortgages only to applicants who are considered viable under their strict and well-defined business rules.
Given these premises, it is interesting to mix different complementary technologies in order to overcome the limited auditability and the risk of hallucinations implicit in the usage of a Large Language Model alone. In this talk we will discuss, with practical examples, some of the multiple patterns emerging in this field like RAG, external tools invocation and guardrails. We will also demonstrate why this could be a winning architectural choice in many common situations and how Quarkus through its langchain4j and drools extensions makes the development of applications integrating those technologies straightforward.
Searching for speaker images...