Chapter 2. The New Types of Applications
Java developers have spent decades refining best practices for building scalable, maintainable, and performant applications. From enterprise web services to cloud native microservices, the language and its ecosystem have been shaped by the needs of real-world applications. Now, with GenAI and other AI-infused capabilities, new types of applications are becoming more prominent and require additional knowledge, architecture, and tooling.
We hope that you already understand that GenAI is not a radical break from past advancements but rather an evolution of AI research in DL combined with the foundations of software engineering. Just as Java developers have adapted to the shift from monoliths to microservices and from imperative to reactive programming, they now face the challenge of integrating AI models into their applications in a way that aligns with the principles they already know: modularity, scalability, testability, and maintainability.
To effectively use AI in Java applications, an understanding of the fundamental components that make these systems work is not only helpful but necessary. Because of the complexity and novelty of some of these components, we decided to peel layers back individually over chapters. In this chapter, we break down the key aspects of AI integration:
- Understanding large language models
-
LLMs are a special class of AI models trained on vast amounts of text data to perform NLP tasks. We will explore how they ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access