Skip to content

Commit 5765877

Browse files
committed
acrolinx
1 parent c5fc8e1 commit 5765877

6 files changed

+21
-17
lines changed

articles/app-service/tutorial-ai-agent-web-app-semantic-kernel-foundry-dotnet.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ The easiest way to get started is by using GitHub Codespaces, which provides a c
5858

5959
1. Navigate to the GitHub repository at [https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-ai-foundry-agent](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-ai-foundry-agent).
6060

61-
2. Select the **Code** button, select the **Codespaces** tab, and click **Create codespace on main**.
61+
2. Select the **Code** button, select the **Codespaces** tab, and select **Create codespace on main**.
6262

63-
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured VS Code environment in your browser.
63+
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured development environment in your browser.
6464

6565
4. Run the application locally:
6666

@@ -104,6 +104,8 @@ The OpenAPI code is defined in *Program.cs*. For example, the "get tasks" API de
104104

105105
## Deploy the sample application
106106

107+
The sample respository contains an Azure Developer CLI (AZD) template, which creates an App Service app with managed identity and deploys your sample application.
108+
107109
1. In the terminal, log into Azure using Azure Developer CLI:
108110

109111
```bash
@@ -243,7 +245,7 @@ When you're done with the application, you can delete the App Service resources
243245
azd down --purge
244246
```
245247
246-
Sind the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
248+
Since the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
247249

248250
## More resources
249251

articles/app-service/tutorial-ai-agent-web-app-semantic-kernel-java.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ The easiest way to get started is by using GitHub Codespaces, which provides a c
4343

4444
1. Navigate to the GitHub repository at [https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java).
4545

46-
2. Select the **Code** button, select the **Codespaces** tab, and click **Create codespace on main**.
46+
2. Select the **Code** button, select the **Codespaces** tab, and select **Create codespace on main**.
4747

48-
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured VS Code environment in your browser.
48+
3. Wait a few moments for your Codespace to initialize. When ready, you'll see a fully configured development environment in your browser.
4949

5050
4. Run the application locally:
5151

@@ -59,7 +59,7 @@ The easiest way to get started is by using GitHub Codespaces, which provides a c
5959

6060
The Semantic Kernel agent is initialized in [src/main/java/com/example/crudtaskswithagent/controller/AgentController.java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java/blob/main/src/main/java/com/example/crudtaskswithagent/controller/AgentController.java), when the user enters the first prompt in a new browser session.
6161

62-
You can find the initialization code in the `SemanticKernelAgentService` contructor (in [src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java/blob/main/src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java)). The initialization code does the following:
62+
You can find the initialization code in the `SemanticKernelAgentService` constructor (in [src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java](https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-java/blob/main/src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java)). The initialization code does the following:
6363

6464
- Creates a kernel with chat completion.
6565
- Adds a kernel plugin that encapsulates the functionality of the CRUD application (in *src/main/java/com/example/crudtaskswithagent/plugin/TaskCrudPlugin.java*). The interesting parts of the plugin are the `DefineKernelFunction` annotations on the method declarations and the `description` and `returnType` parameters that help the kernel call the plugin intelligently.
@@ -68,12 +68,14 @@ You can find the initialization code in the `SemanticKernelAgentService` contruc
6868

6969
:::code language="csharp" source="~/app-service-agentic-semantic-kernel-java/src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java" range="38-90" highlight="11-48,58" :::
7070

71-
Each time the prompt is received, the server code uses `ChatCompletionAgent.invokeAsync()` to invoke the agent with the user prompt and the agent thread. the agent thread keeps track of the chat history.
71+
Each time the prompt is received, the server code uses `ChatCompletionAgent.invokeAsync()` to invoke the agent with the user prompt and the agent thread. The agent thread keeps track of the chat history.
7272

7373
:::code language="csharp" source="~/app-service-agentic-semantic-kernel-java/src/main/java/com/example/crudtaskswithagent/service/SemanticKernelAgentService.java" range="109-158" highlight="8" :::
7474

7575
## Deploy the sample application
7676

77+
The sample respository contains an Azure Developer CLI (AZD) template, which creates an App Service app with managed identity and deploys your sample application.
78+
7779
1. In the terminal, log into Azure using Azure Developer CLI:
7880

7981
```bash
@@ -113,7 +115,7 @@ Each time the prompt is received, the server code uses `ChatCompletionAgent.invo
113115

114116
## Create and configure the Azure AI Foundry resource
115117

116-
1. In the [Azure AI Foundry portal](https://ai.azure.com), deploy a model of your choice (see [Quickstart: Get started with Azure AI Foundry](/azure/ai-foundry/quickstarts/get-started-code?tabs=azure-ai-foundry&pivots=fdp-project)). A project and a model deployment is created for you in the process.
118+
1. In the [Azure AI Foundry portal](https://ai.azure.com), deploy a model of your choice (see [Quickstart: Get started with Azure AI Foundry](/azure/ai-foundry/quickstarts/get-started-code?tabs=azure-ai-foundry&pivots=fdp-project)). A project and a model deployment are created for you in the process.
117119

118120
1. From the left menu, select **Overview**.
119121

@@ -187,7 +189,7 @@ When you're done with the application, you can delete the App Service resources
187189
azd down --purge
188190
```
189191
190-
Sind the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
192+
Since the AZD template doesn't include the Azure AI Foundry resources, you need to delete them manually if you want.
191193

192194
## More resources
193195

articles/app-service/tutorial-ai-integrate-azure-ai-agent-dotnet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ When exposing APIs via OpenAPI in Azure App Service, follow these security best
208208
- **Monitor and log activity:** Enable logging and monitor access to detect suspicious activity.
209209
- **Use managed identities:** When calling other Azure services, use managed identities instead of hardcoded credentials.
210210
211-
For more guidance, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
211+
For more information, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
212212
213213
## Next step
214214

articles/app-service/tutorial-ai-integrate-azure-ai-agent-java.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
104104
public String deleteTodoItem(@PathVariable("id") String id) {
105105
```
106106

107-
This minimimal configuration will give you the following settings, as documented in [springdoc-openapi](https://springdoc.org/):
107+
This minimal configuration gives you the following settings, as documented in [springdoc-openapi](https://springdoc.org/):
108108

109109
- Swagger UI at `/swagger-ui.html`.
110110
- OpenAPI specification at `/v3/api-docs`.
@@ -160,7 +160,7 @@ When exposing APIs via OpenAPI in Azure App Service, follow these security best
160160
- **Monitor and log activity:** Enable logging and monitor access to detect suspicious activity.
161161
- **Use managed identities:** When calling other Azure services, use managed identities instead of hardcoded credentials.
162162
163-
For more guidance, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
163+
For more information, see [Secure your App Service app](overview-security.md) and [Best practices for REST API security](/azure/architecture/best-practices/api-design#security).
164164
165165
## Next step
166166

articles/app-service/tutorial-ai-model-context-protocol-server-dotnet.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ When your MCP server is called by an agent powered by large language models (LLM
223223
- **Authentication and Authorization**: Protect your MCP endpoints in App Service behind [Azure API Management with Microsoft Entra ID](/azure/api-management/api-management-howto-protect-backend-with-aad) and ensure only authorized users or agents can access the tools.
224224
- **Input Validation and Sanitization**: The example code in this tutorial omits input validation and sanitization for simplicity and clarity. In production scenarios, always implement proper validation and sanitization to protect your application. For ASP.NET Core, see [Model validation in ASP.NET Core](/aspnet/core/mvc/models/validation).
225225
- **HTTPS:** The sample relies on Azure App Service, which enforces HTTPS by default and provides free TLS/SSL certificates to encrypt data in transit.
226-
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless absolutely necessary.
226+
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless necessary.
227227
- **Rate Limiting and Throttling**: Use [API Management](/azure/api-management/api-management-sample-flexible-throttling) or custom middleware to prevent abuse and denial-of-service attacks.
228228
- **Logging and Monitoring**: Log access and usage of MCP endpoints for auditing and anomaly detection. Monitor for suspicious activity.
229229
- **CORS Configuration**: Restrict cross-origin requests to trusted domains if your MCP server is accessed from browsers. For more information, see [Enable CORS](app-service-web-tutorial-rest-api.md#enable-cors).

articles/app-service/tutorial-ai-model-context-protocol-server-java.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
3636

3737
## Add MCP server to your web app
3838

39-
1. In the codespace, open *pom.xml* add the `spring-ai-starter-mcp-server-webmvc` package to your project:
39+
1. In the codespace, open *pom.xml* and add the `spring-ai-starter-mcp-server-webmvc` package to your project:
4040

4141
```xml
4242
<dependency>
@@ -46,7 +46,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
4646
</dependency>
4747
```
4848

49-
1. Open *src/main/java/com/microsoft/azure/appservice/examples/springbootmongodb/TodoApplication.java*. For simplicity of the scenario, you will add all of your MCP server code here.
49+
1. Open *src/main/java/com/microsoft/azure/appservice/examples/springbootmongodb/TodoApplication.java*. For simplicity of the scenario, you'll add all of your MCP server code here.
5050

5151
1. At the end of *TodoApplication.java*, add the following class.
5252

@@ -115,7 +115,7 @@ At a minimum, open the [sample application](https://github.com/Azure-Samples/msd
115115
}
116116
```
117117

118-
This method provides the tools in `TodoListToolService` as callbacks for Spring AI. By default, the MCP Server auto-configuration in the `spring-ai-starter-mcp-server-webmvc` package automatically wires up these tool callbacks. Also, by default, the MCP Server endpoint is `<base-url>/sse`.
118+
This method provides the tools in `TodoListToolService` as callbacks for Spring AI. By default, the MCP Server autoconfiguration in the `spring-ai-starter-mcp-server-webmvc` package automatically wires up these tool callbacks. Also, by default, the MCP Server endpoint is `<base-url>/sse`.
119119

120120
1. At the top of *TodoApplication.java*, add the following imports.
121121

@@ -196,7 +196,7 @@ When your MCP server is called by an agent powered by large language models (LLM
196196
- **Authentication and Authorization**: Protect your MCP endpoints in App Service behind [Azure API Management with Microsoft Entra ID](/azure/api-management/api-management-howto-protect-backend-with-aad) and ensure only authorized users or agents can access the tools.
197197
- **Input Validation and Sanitization**: The example code in this tutorial omits input validation and sanitization for simplicity and clarity. In production scenarios, always implement proper validation and sanitization to protect your application. For Spring, see [Spring: Validating Form Input](https://spring.io/guides/gs/validating-form-input).
198198
- **HTTPS:** The sample relies on Azure App Service, which enforces HTTPS by default and provides free TLS/SSL certificates to encrypt data in transit.
199-
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless absolutely necessary.
199+
- **Least Privilege Principle**: Expose only the necessary tools and data required for your use case. Avoid exposing sensitive operations unless necessary.
200200
- **Rate Limiting and Throttling**: Use [API Management](/azure/api-management/api-management-sample-flexible-throttling) or custom middleware to prevent abuse and denial-of-service attacks.
201201
- **Logging and Monitoring**: Log access and usage of MCP endpoints for auditing and anomaly detection. Monitor for suspicious activity.
202202
- **CORS Configuration**: Restrict cross-origin requests to trusted domains if your MCP server is accessed from browsers. For more information, see [Enable CORS](app-service-web-tutorial-rest-api.md#enable-cors).

0 commit comments

Comments
 (0)