Skip to content

Commit 623f0db

Browse files
authored
Merge pull request #49529 from MicrosoftDocs/NEW-build-intelligent-spring-apps
Build intelligent Spring Apps using AI Learn Module
2 parents 2b014a1 + 8b66aec commit 623f0db

23 files changed

+2226
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.1-introduction
3+
title: Introduction to Spring AI and Azure OpenAI
4+
metadata:
5+
title: Introduction to Spring AI and Azure OpenAI
6+
description: Learn about Spring AI's core concepts and its integration with Azure OpenAI.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/1-introduction.md)]
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.10-knowledge-check
3+
title: Knowledge check
4+
metadata:
5+
title: Knowledge Check
6+
description: Test your knowledge of Spring AI and Azure deployment.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 5
15+
quiz:
16+
questions:
17+
- content: Which Spring AI component is used for generating vector embeddings?
18+
choices:
19+
- content: ChatClient
20+
isCorrect: false
21+
explanation: ChatClient isn't correct. The ChatClient offers a fluent API for communicating with AI models.
22+
- content: EmbeddingModel
23+
isCorrect: true
24+
explanation: Correct. EmbeddingModel is an interface for integration with embedding models in AI and can be used for generating vector embeddings.
25+
- content: QuestionAnswerAdvisor
26+
isCorrect: false
27+
explanation: While QuestionAnswerAdvisor uses vector embeddings for vector similarity search, it can't be used directly for generating embeddings.
28+
- content: AIClient
29+
isCorrect: false
30+
explanation: AIClient isn't a valid Spring AI component.
31+
- content: What PostgreSQL extension is required for vector similarity search?
32+
choices:
33+
- content: pg_similarity
34+
isCorrect: false
35+
explanation: The pg_similarity extension isn't used for vector similarity search.
36+
- content: pg_trgm
37+
isCorrect: false
38+
explanation: The pg_trgm extension isn't used for vector similarity search.
39+
- content: pgvector
40+
isCorrect: true
41+
explanation: Correct. The pgvector extension adds vector similarity search capabilities to PostgreSQL, which is essential for implementing RAG patterns with vector embeddings.
42+
- content: pg_vector_ops
43+
isCorrect: false
44+
explanation: The pg_vector_ops extension isn't used for vector similarity search.
45+
- content: Which Azure Container Apps feature enables automatic scaling based on HTTP traffic?
46+
choices:
47+
- content: HTTP Scale Rules
48+
isCorrect: true
49+
explanation: Correct. HTTP Scale Rules in Azure Container Apps enable automatic scaling based on incoming HTTP request concurrency.
50+
- content: Traffic Manager
51+
isCorrect: false
52+
explanation: Traffic Manager isn't used for automatic scaling based on HTTP traffic.
53+
- content: Load Balancer
54+
isCorrect: false
55+
explanation: Load Balancer isn't used for automatic scaling based on HTTP traffic.
56+
- content: Application Gateway
57+
isCorrect: false
58+
explanation: Application Gateway isn't used for automatic scaling based on HTTP traffic.
59+
- content: What is the purpose of the ChatClient in Spring AI?
60+
choices:
61+
- content: Managing database connections
62+
isCorrect: false
63+
explanation: The ChatClient isn't used for managing database connections.
64+
- content: Processing HTTP requests
65+
isCorrect: false
66+
explanation: The ChatClient isn't used for processing HTTP requests.
67+
- content: Interacting with language models
68+
isCorrect: true
69+
explanation: Correct. The ChatClient is Spring AI's core abstraction for interacting with large language models (LLMs) like Azure OpenAI.
70+
- content: Handling authentication
71+
isCorrect: false
72+
explanation: The ChatClient isn't used for handling authentication.
73+
- content: Which configuration is required for Azure OpenAI integration in application.properties?
74+
choices:
75+
- content: Only the API key
76+
isCorrect: false
77+
explanation: The API key isn't sufficient for Azure OpenAI integration.
78+
- content: Only the endpoint URL
79+
isCorrect: false
80+
explanation: The endpoint URL isn't sufficient for Azure OpenAI integration.
81+
- content: Only the deployment name
82+
isCorrect: false
83+
explanation: The deployment name isn't sufficient for Azure OpenAI integration.
84+
- content: The API key, endpoint, and deployment name
85+
isCorrect: true
86+
explanation: Correct. Spring AI requires the API key, endpoint URL, and deployment name to properly configure Azure OpenAI integration.
87+
- content: Which Agentic workflow uses multiple AI roles to improve content quality?
88+
choices:
89+
- content: The Chain workflow
90+
isCorrect: false
91+
explanation: The Chain workflow breaks complex tasks into a series of steps
92+
- content: The Evaluator-Optimizer workflow
93+
isCorrect: true
94+
explanation: The Evaluator-Optimizer workflow uses writer and editor AI roles in a feedback loop to improve content quality.
95+
- content: The Routing workflow
96+
isCorrect: false
97+
explanation: The Routing workflow directs input to specialized handlers
98+
- content: The Parallelization workflow
99+
isCorrect: false
100+
explanation: The Parallelization workflow is ideal for processing large volumes of independent items.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.11-summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: Review what you learned about Spring AI and Azure deployment.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/10-summary.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.2-pgvector-azure-postgresql-setup
3+
title: Set up the pgvector extension in Azure PostgreSQL for use with Spring AI
4+
metadata:
5+
title: Set Up the pgvector Extension in Azure PostgreSQL for Use with Spring AI
6+
description: Learn how to use the pgvector extension in Azure PostgreSQL and apply the vector similarity search abstraction in Spring AI.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/2-pgvector-azure-postgresql-setup.md)]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.3-exercise-pgvector-azure-postgresql-setup
3+
title: Exercise - Set up the pgvector extension in Azure PostgresQL for use with Spring AI
4+
metadata:
5+
title: Exercise - Set Up the pgvector Extension in Azure PostgreSQL for Use with Spring AI
6+
description: Set up the pgvector extension in Azure PostgreSQL to apply the vector similarity search abstraction in Spring AI.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 15
15+
content: |
16+
[!include[](includes/3-exercise-pgvector-azure-postgresql-setup.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.4-spring-ai-development
3+
title: Develop a RAG application with Spring AI and Azure OpenAI
4+
metadata:
5+
title: Develop a RAG Application with Spring AI and Azure OpenAI
6+
description: Learn how to implement a RAG application using Spring AI with Azure OpenAI and VectorStore Spring Boot Starters.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/4-spring-ai-development.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.5-exercise-spring-ai-development
3+
title: Exercise - Develop a RAG application with Spring AI and Azure OpenAI
4+
metadata:
5+
title: Exercise - Develop a RAG Application with Spring AI and Azure OpenAI
6+
description: Learn how to develop a Spring AI application integrated with Azure OpenAI for retrieval augmented generation (RAG) and implement an Evaluator-Optimizer agent to iteratively refine AI-generated content.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 25
15+
content: |
16+
[!include[](includes/5-exercise-spring-ai-development.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.6-agent-ai-development
3+
title: Implement the Evaluator-Optimizer agent pattern using Spring AI
4+
metadata:
5+
title: Implement the Evaluator-Optimizer agent Pattern Using Spring AI
6+
description: Learn how to implement the Evaluator-Optimizer agent pattern using Spring AI.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.contributors: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/6-agent-ai-development.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.7-exercise-agent-ai-development
3+
title: Exercise - Implement the Evaluator-Optimizer agent pattern using Spring AI
4+
metadata:
5+
title: Exercise - Implement the Evaluator-Optimizer agent pattern using Spring AI
6+
description: Learn how to implement the Evaluator-Optimizer agent pattern using Spring AI.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.contributors: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 10
15+
content: |
16+
[!include[](includes/7-exercise-agent-ai-development.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.azure.build-enterprise-ai-agents-with-java-spring.8-aca-deployment
3+
title: Deploy a Spring AI application to Azure Container Apps
4+
metadata:
5+
title: Deploy a Spring AI Application to Azure Container Apps
6+
description: Learn how to deploy your Spring AI application to Azure Container Apps.
7+
ms.date: 03/16/2025
8+
author: KarlErickson
9+
ms.author: karler
10+
ms.reviewer: jbalderas, gok
11+
ms.topic: unit
12+
ms.custom: devx-track-java
13+
ms.collection: ce-skilling-ai-copilot
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/8-aca-deployment.md)]

0 commit comments

Comments
 (0)