English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 74 Lessons (4h 18m) | 935 MB
Java software engineers who need to learn how to harness the capabilities of generative AI tools for critical aspects of the production software process.
This video course empowers Java engineers with the basic knowledge and skills needed to harness the capabilities of generative AI tools for various aspects of the production software process.
Developed for beginner and early intermediate Java developers, it explores the impact of Machine Learning on the Java ecosystem and features hands-on coding using tools such as OpenAI ChatGPT, Google Gemini, Anthropic Claude, and other GenAI services using the LangChain4j API. With a focus on practical applications, participants will gain proficiency in GenAI, an understanding of context, learn about embeddings, and how to responsibly integrate GenAI into Java applications.
Attendees will:
- Learn the skills they need in order to apply generative AI to real-world software development. Enterprise developers will learn the fundamentals of generative AI and how to best apply them to reliably put GenAI applications into production.
- Understand programmatic interfaces to GenAI using REST APIs and featuring the LangChain4J Java API, including many source code examples covering different prompt techniques, streaming, embeddings, templates, context, Retrieval-Augmented Generation (RAG) and an introduction to agents
- Architect and implement a basic chatbot application that understands private document sets.
Learn How To:
- Differentiate between the two basic types of deep learning
- Structure prompts and select techniques that produce useful output
- Use LangChain4j to create a working GenAI application
- Apply embeddings to various use cases
- Manage context for effective LLM responses
- Choose an appropriate vector database and what to store in that database
- Create tools and understand the basics of agents
Table of Contents
Introduction
1 GenAI for Busy Java Developers – Introduction
Lesson 1 – Discover AI Origins, Patterns, and AI
ML Taxonomy
2 Learning objectives
3 Describe the historical evolution of Patterns, AI, and Machine Learning
4 Explain the distinction between GenAI and PredAI
5 Identify common patterns used in software development
Lesson 2 – Learn about Neural Networks, Weights, and LLMs
6 Learning objectives
7 Illustrate the structure of a basic neural network
8 Explain the role of weights in the learning process
9 Define basic GenAI terminology
10 Describe the training process and the stochastic nature of GenAI models
11 Compare traditional deterministic programming to probabilistic GenAI models
Lesson 3 – Use Prompt _Engineering_ and Context
12 Learning objectives
13 Design effective prompts using zero-shot, few-shot, and chain-of-thought techniques
14 Explain the importance of context in prompt success and result consistency
15 Explain Context Window and the stateless nature of an LLM connection
16 Compare various message roles – System, User, and Assistant
17 Describe a useful abstraction for context
Lesson 4 – Learn GenAI APIs for Java Developers _ REST and Java APIs
18 Learning objectives
19 Describe various types of programmatic access to GenAI services
20 Compare various REST calls from popular GenAI providers
21 Demonstrate REST calls and message components
22 Explain the history of LangChain4j
23 Identify why an abstract API is useful for Java developers
24 Demonstrate simple LangChain4j examples
Lesson 5 – Discover LangChain4j Basics
25 Learning objectives
26 Define core components of LangChain4j
27 Install and configure LangChain4j in a Java project using GradleMaven
28 Demonstrate how to send UserMessages and SystemMessages to an LLM
29 Implement a basic chatbot with prompt context
30 Demonstrate incorporating external data as context for the chatbot
31 Apply memory to retain conversation state
32 Implement a basic chatbot using ChatMemory
Lesson 6 – Use Prompt Templates
33 Learning objectives
34 Identify why templates are useful
35 Create reusable prompt templates using LangChain4j
36 Demonstrate dynamic prompt composition using Java variables
37 Identify the advantages and disadvantages of prompt templates
Lesson 7 – Understand Chatbot Architecture
38 Learning objectives
39 Diagram the structure of a chatbot architecture
40 Identify the roles of System, User, and Assistant messages with a chatbot
41 Explain the use of LangChain4j s AiService
42 Assess chatbot context and costs
43 Demonstrate a chatbot that maintains conversational context
Lesson 8 – Learn Retrieval Augmented Generation (RAG)
44 Learning objectives
45 Understand basic ways to get an LLM to return a useful result
46 Explain the motivation and architecture behind RAG
47 Illustrate the document retrieval and injection pipeline
48 Identify the advantages of a RAG-based system
49 Identify potential issues and failure modes of retrieval-based systems
Lesson 9 – Understand Embedding Vectors and Similarity
50 Learning objectives
51 Understand why similarity is needed for GenAI
52 Define embeddings and their mathematical representation
53 Compare 2d, 3d, and N-d embeddings
54 Demonstrate how to generate a text embedding
55 Describe LangChain4j s EmbeddingModel
56 Compute similarity between vectors to rank text relevance
Lesson 10 – Learn about Vector Stores
57 Learning objectives
58 Describe why Vector Stores are needed
59 Classify different vector store options
60 Understand the importance of a chunking strategy
61 Describe LangChain4j’s EmbeddingStore and Data Ingestion architecture
62 Construct an index and search over it using embedding similarity
Lesson 11 – Understand the Basics of Agents
63 Learning objectives
64 Identify what a Tool (function-calling) is
65 Understand the relationship between reasoning models and tools
66 Demonstrate Tool use with AiService
67 Define what an Agent is
68 Describe current frameworks and the state of the art of Agents
Lesson 12 – Recap and Next Steps
69 Learning objectives
70 Summarize major concepts from each chapter
71 List tools, libraries, and resources used in the course
72 Reflect on where GenAI best fits into Java development workflows
73 Identify advanced areas for deeper study
Summary
74 GenAI for Busy Java Developers – Summary
Resolve the captcha to access the links!
