Introduction
GenAI for Java developers: Introduction
()
1. Discover AI Origins, Patterns, and AI/ML Taxonomy
Describe the historical evolution of patterns, AI, and machine learning
()
Explain the distinction between GenAI and PredAI
()
Identify common patterns used in software development
()
2. Learn about Neural Networks, Weights, and LLMs
Learning objectives
()
Illustrate the structure of a basic neural network
()
Explain the role of weights in the learning process
()
Define basic GenAI terminology
()
Describe the training process and the stochastic nature of GenAI models
()
Compare traditional deterministic programming to probabilistic GenAI models
()
3. Use Prompt “Engineering” and Context
Learning objectives
()
Design effective prompts using zero-shot, few-shot, and chain-of-thought techniques
()
Explain the importance of context in prompt success and result consistency
()
Explain context window and the stateless nature of an LLM connection
()
Compare various message roles: System, user, and assistant
()
Describe some useful good practices for context
()
4. Learn GenAI APIs for Java Developers: REST and Java APIs
Learning objectives
()
Describe various types of programmatic access to GenAI services
()
Compare various REST calls from popular GenAI providers
()
Demonstrate REST calls and message components
()
Explain the history of LangChain4j
()
Identify why an abstract API is useful for Java developers
()
Demonstrate simple LangChain4j examples
()
5. Discover LangChain4j Basics
Learning objectives
()
Define core components of LangChain4j
()
Install and configure LangChain4j in a Java project using Gradle/Maven
()
Demonstrate how to send UserMessages and SystemMessages to an LLM
()
Implement a basic chatbot with prompt context
()
Demonstrate incorporating external data as context for the chatbot
()
Apply memory to retain conversation state
()
Implement a basic chatbot using ChatMemory
()
6. Use Prompt Templates
Learning objectives
()
Identify why templates are useful
()
Create reusable prompt templates using LangChain4j
()
Demonstrate dynamic prompt composition using Java variables
()
Identify the advantages and disadvantages of prompt templates
()
7. Understand Chatbot Architecture
Diagram the structure of a chatbot architecture
()
Identify the roles of system, user, and assistant messages with a chatbot
()
Explain the use of LangChain4j’s AiService
()
Assess chatbot context and costs
()
Demonstrate a chatbot that maintains conversational context
()
8. Learn Retrieval Augmented Generation (RAG)
Learning objectives
()
Understand basic ways to get an LLM to return a useful result
()
Explain the motivation and architecture behind RAG
()
Illustrate the document retrieval and injection pipeline
()
Identify the advantages of a RAG-based system
()
Identify potential issues and failure modes of retrieval-based systems
()
9. Understand Embedding Vectors and Similarity
Learning objectives
()
Understand why similarity is needed for GenAI
()
Define embeddings and their mathematical representation
()
Compare 2d, 3d, and N-d embeddings
()
Demonstrate how to generate a text embedding
()
Describe LangChain4j’s EmbeddingModel
()
Compute similarity between vectors to rank text relevance
()
10. Learn about Vector Stores
Learning objectives
()
Describe why vector stores are needed
()
Classify different vector store options
()
Understand the importance of a chunking strategy
()
Describe LangChain4j's EmbeddingStore and data ingestion architecture
()
Construct an index and search over it using embedding similarity
()
11. Understand the Basics of Agents
Learning objectives
()
Identify what a tool is (function-calling)
()
Understand the relationship between reasoning models and tools
()
Demonstrate tool use with AiService
()
Define what an agent is
()
Describe current frameworks and the state of the art of agents
()
12. Recap and Next Steps
Learning objectives
()
Summarize major concepts from each chapter
()
List tools, libraries, and resources used in the course
()
Reflect on where GenAI best fits into Java development workflows
()
Identify advanced areas for deeper study
()
Summary
GenAI for busy Java developers: Summary
()