You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+10-24Lines changed: 10 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,11 @@
1
-
# Contributing to the Azure AI Foundry Agent service chat basic reference implementatio
1
+
# Contributing to the Foundry Agent Service chat basic reference implementation
2
2
3
-
This project welcomes contributions and suggestions. Most contributions require you to agree to a
4
-
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
5
-
the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>.
3
+
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>.
6
4
7
-
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
8
-
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
9
-
provided by the bot. You will only need to do this once across all repos using our CLA.
5
+
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
10
6
11
7
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
12
-
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
13
-
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
8
+
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
14
9
15
10
-[Code of Conduct](#coc)
16
11
-[Issues and Bugs](#issue)
@@ -23,15 +18,11 @@ Help us keep this project open and inclusive. Please read and follow our [Code o
23
18
24
19
## <aname="issue"></a> Found an Issue?
25
20
26
-
If you find a bug in the source code or a mistake in the documentation, you can help us by
27
-
[submitting an issue](#submit-issue) to the GitHub Repository. Even better, you can
28
-
[submit a Pull Request](#submit-pr) with a fix.
21
+
If you find a bug in the source code or a mistake in the documentation, you can help us by [submitting an issue](#submit-issue) to the GitHub Repository. Even better, you can [submit a Pull Request](#submit-pr) with a fix.
29
22
30
23
## <aname="feature"></a> Want a Feature?
31
24
32
-
You can *request* a new feature by [submitting an issue](#submit-issue) to the GitHub
33
-
Repository. If you would like to *implement* a new feature, please submit an issue with
34
-
a proposal for your work first, to be sure that we can use it.
25
+
You can *request* a new feature by [submitting an issue](#submit-issue) to the GitHub Repository. If you would like to *implement* a new feature, please submit an issue with a proposal for your work first, to be sure that we can use it.
35
26
36
27
-**Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr).
37
28
@@ -41,28 +32,23 @@ a proposal for your work first, to be sure that we can use it.
41
32
42
33
Before you submit an issue, search the archive, maybe your question was already answered.
43
34
44
-
If your issue appears to be a bug, and hasn't been reported, open a new issue.
45
-
Help us to maximize the effort we can spend fixing issues and adding new
46
-
features, by not reporting duplicate issues. Providing the following information will increase the
47
-
chances of your issue being dealt with quickly:
35
+
If your issue appears to be a bug, and hasn't been reported, open a new issue. Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues. Providing the following information will increase the chances of your issue being dealt with quickly:
48
36
49
37
-**Overview of the Issue** - if an error is being thrown a non-minified stack trace helps
50
38
-**Version** - what version is affected (e.g. 0.1.2)
51
39
-**Motivation for or Use Case** - explain what are you trying to do and why the current behavior is a bug for you
52
40
-**Browsers and Operating System** - is this a problem with all browsers?
53
41
-**Reproduce the Error** - provide a live example or a unambiguous set of steps
54
42
-**Related Issues** - has a similar issue been reported before?
55
-
-**Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be
56
-
causing the problem (line of code or commit)
43
+
-**Suggest a Fix** - if you can't fix the bug yourself, perhaps you can point to what might be causing the problem (line of code or commit)
57
44
58
-
You can file new issues by providing the above information at the corresponding repository's issues link: <https://github.com/Azure-Samples/openai-end-to-end-basic/issues/new>.
45
+
You can file new issues by providing the above information at the corresponding repository's issues link: <https://github.com/Azure-Samples/microsoft-foundry-basic/issues/new>.
59
46
60
47
### <aname="submit-pr"></a> Submitting a Pull Request (PR)
61
48
62
49
Before you submit your Pull Request (PR) consider the following guidelines:
63
50
64
-
- Search the repository (https://github.com/[organization-name]/[repository-name]/pulls) for an open or closed PR
65
-
that relates to your submission. You don't want to duplicate effort.
51
+
- Search the [repository](https://github.com/Azure-Samples/microsoft-foundry-basic/pulls) for an open or closed PR that relates to your submission. You don't want to duplicate effort.
Copy file name to clipboardExpand all lines: README.md
+31-31Lines changed: 31 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,45 +1,45 @@
1
-
# Azure AI Foundry Agent service chat basic reference implementation
1
+
# Foundry Agent Service chat basic reference implementation
2
2
3
-
This reference implementation illustrates an approach running a chat application and an AI orchestration layer in a single region. It uses Azure AI Foundry Agent service as the orchestrator and Azure OpenAI foundation models. This repository directly supports the [Basic end-to-end chat reference architecture](https://learn.microsoft.com/azure/architecture/ai-ml/architecture/basic-openai-e2e-chat) on Microsoft Learn.
3
+
This reference implementation illustrates an approach running a chat application and an AI orchestration layer in a single region. It uses Foundry Agent Service as the orchestrator and Azure OpenAI foundation models. This repository directly supports the [Basic end-to-end chat reference architecture](https://learn.microsoft.com/azure/architecture/ai-ml/architecture/basic-openai-e2e-chat) on Microsoft Learn.
4
4
5
-
The reference implementation illustrates a basic example of a chat application. For a reference implementation that implements more enterprise requirements, please see the [Azure AI Foundry Agent service end-to-end baseline reference implementation](https://github.com/Azure-Samples/openai-end-to-end-baseline). That implementation addresses many of the [production readiness changes](https://github.com/search?q=repo%3AAzure-Samples%2Fopenai-end-to-end-basic+%22Production+readiness+change%22&type=code) identified in this code.
5
+
The reference implementation illustrates a basic example of a chat application. For a reference implementation that implements more enterprise requirements, please see the [Microsoft Foundry Agent Service baseline reference implementation](https://github.com/Azure-Samples/openai-end-to-end-baseline). That implementation addresses many of the [production readiness changes](https://github.com/search?q=repo%3AAzure-Samples%2Fopenai-end-to-end-basic+%22Production+readiness+change%22&type=code) identified in this code.
6
6
7
7
## Architecture
8
8
9
9
The implementation covers the following scenarios:
10
10
11
-
-[Setting up Azure AI Foundry to host agents](#setting-up-azure-ai-foundry-to-host-agents)
12
-
-[Deploying an agent into Azure AI Foundry Agent service](#deploying-an-agent-into-azure-ai-agent-service)
11
+
-[Setting up Microsoft Foundry to host agents](#setting-up-microsoft-foundry-to-host-agents)
12
+
-[Deploying an agent into Foundry Agent Service](#deploying-an-agent-into-foundry-agent-service)
13
13
-[Invoking the agent from .NET code hosted in an Azure Web App](#invoking-the-agent-from-net-code-hosted-in-an-azure-web-app)
14
14
15
-
### Setting up Azure AI Foundry to host agents
15
+
### Setting up Microsoft Foundry to host agents
16
16
17
-
Azure AI Foundry hosts Azure AI Foundry Agent service as a capability. Foundry Agent Service's REST APIs are exposed as an internet facing endpoint.
17
+
Microsoft Foundry hosts the Foundry Agent Service as a capability. Foundry Agent Service's REST APIs are exposed as an internet facing endpoint.
18
18
19
-

19
+

20
20
21
-
*Download a [Visio file](docs/media/openai-end-to-end-basic.vsdx) of this architecture.*
21
+
*Download a [Visio file](docs/media/basic-architecture.vsdx) of this architecture.*
22
22
23
23
#### Workflow
24
24
25
25
The following workflow corresponds to the previous diagram:
26
26
27
27
1. An application user interacts with a web application that contains chat functionality. They issue an HTTPS request to the App Service default domain on azurewebsites.net. This domain automatically points to the App Service built-in public IP address. The Transport Layer Security connection is established from the client directly to App Service. Azure fully manages the certificate.
28
28
1. The App Service feature called Easy Auth ensures that the user who accesses the website is authenticated via Microsoft Entra ID.
29
-
1. The application code deployed to App Service handles the request and renders a chat UI for the application user. The chat UI code connects to APIs that are also hosted in that same App Service instance. The API code connects to an Azure AI agent in Azure AI Foundry by using the Azure AI Persistent Agents SDK.
30
-
1.Azure AI Foundry Agent Service connects to Azure AI Search to fetch grounding data for the query. The grounding data is added to the prompt that's sent to the Azure OpenAI model in the next step.
31
-
1. Foundry Agent Service connects to an Azure OpenAI model that's deployed in Azure AI Foundry and sends the prompt that includes the relevant grounding data and chat context.
29
+
1. The application code deployed to App Service handles the request and renders a chat UI for the application user. The chat UI code connects to APIs that are also hosted in that same App Service instance. The API code connects to an agent in Microsoft Foundry by using the Azure AI Persistent Agents SDK.
30
+
1. Foundry Agent Service connects to Azure AI Search to fetch grounding data for the query. The grounding data is added to the prompt that's sent to the Azure OpenAI model in the next step.
31
+
1. Foundry Agent Service connects to an Azure OpenAI model that's deployed in Foundry and sends the prompt that includes the relevant grounding data and chat context.
32
32
1. Application Insights logs information about the original request to App Service and the call agent interactions.
33
33
34
-
### Deploying an agent into Azure AI Foundry Agent service
34
+
### Deploying an agent into Foundry Agent Service
35
35
36
-
Agents can be created via the Azure AI Foundry portal, [Azure AI Persistent Agents client library](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/ai/Azure.AI.Agents.Persistent), or the [REST API](https://learn.microsoft.com/rest/api/aifoundry/aiagents/). The creation and invocation of agents are a data plane operation.
36
+
Agents can be created via the Foundry portal, [Azure AI Persistent Agents client library](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/ai/Azure.AI.Agents.Persistent), or the [REST API](https://learn.microsoft.com/rest/api/aifoundry/aiagents/). The creation and invocation of agents are a data plane operation.
37
37
38
38
Ideally agents should be source-controlled and a versioned asset. You then can deploy agents in a coordinated way with the rest of your workload's code. In this deployment guide, you'll create an agent through the REST API to simulate a deployment pipeline which could have created the agent.
39
39
40
40
### Invoking the agent from .NET code hosted in an Azure Web App
41
41
42
-
A chat UI application is deployed into Azure App Service. The .NET code uses the [Azure AI Persistent Agents client library](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/ai/Azure.AI.Agents.Persistent) to connect to the workload's agent. The endpoint for the agent is exposed over internet through the Azure AI Foundry.
42
+
A chat UI application is deployed into Azure App Service. The .NET code uses the [Azure AI Persistent Agents client library](https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/ai/Azure.AI.Agents.Persistent) to connect to the workload's agent. The endpoint for the agent is exposed over internet through Foundry.
43
43
44
44
## Deployment guide
45
45
@@ -78,8 +78,8 @@ The following steps are required to deploy the infrastructure from the command l
78
78
1. In your shell, clone this repo and navigate to the root directory of this repository.
@@ -120,15 +120,15 @@ The following steps are required to deploy the infrastructure from the command l
120
120
-p yourPrincipalId=$PRINCIPAL_ID
121
121
```
122
122
123
-
### 2. Deploy an agent in the Azure AI Foundry Agent service
123
+
### 2. Deploy an agent in the Foundry Agent Service
124
124
125
-
To test this scenario, you'll be deploying an AI agent. The agent uses a GPT model combined with a Bing search for grounding data. Deploying an AI agent requires data plane access to Azure AI Foundry. In this architecture, you will interact with the Azure AI Foundry portal and its resources over internet.
125
+
To test this scenario, you'll be deploying an AI agent. The agent uses a GPT model combined with a Bing search for grounding data. Deploying an AI agent requires data plane access to Microsoft Foundry. In this architecture, you will interact with the Foundry portal and its resources over internet.
126
126
127
127
1. Open the Azure portal to your subscription.
128
128
129
-
1. Navigate to the Azure AI Foundry project named **projchat** in your resource group and open the Azure AI Foundry portal by clicking the Go to **Azure AI Foundry portal** button.
129
+
1. Navigate to the Foundry project named **projchat** in your resource group and open the Foundry portal by clicking the Go to **Microsoft Foundry portal** button.
130
130
131
-
This will take you directly into the 'Chat project'. Alternatively, you can find all your AI Foundry accounts and projects by going to <https://ai.azure.com> and you do not need to use the Azure portal to access them.
131
+
This will take you directly into the 'Chat project'. Alternatively, you can find all your Foundry accounts and projects by going to <https://ai.azure.com> and you do not need to use the Azure portal to access them.
132
132
133
133
1. Click **Agents** in the side navigation.
134
134
@@ -142,9 +142,9 @@ To test this scenario, you'll be deploying an AI agent. The agent uses a GPT mod
142
142
143
143
1. Then choose the existing connection named 'bingaiagent' and click the **Connect** button.
144
144
145
-
### 3. Test the agent from the Azure AI Foundry portal in the playground.
145
+
### 3. Test the agent from the Foundry portal in the playground
146
146
147
-
Here you'll test your orchestration agent by invoking it directly from the Azure AI Foundry portal's playground experience.
147
+
Here you'll test your orchestration agent by invoking it directly from the Foundry portal's playground experience.
148
148
149
149
1. Click the **Try in playground** button.
150
150
@@ -154,24 +154,24 @@ Here you'll test your orchestration agent by invoking it directly from the Azure
154
154
155
155
### 4. Publish the chat front-end web app
156
156
157
-
Workloads build chat functionality into an application. Those interfaces usually call Azure AI Foundry project endpoint invoking a particular agent. This implementation comes with such an interface. You'll deploy it to Azure App Service using the Azure CLI.
157
+
Workloads build chat functionality into an application. Those interfaces usually call Foundry project endpoint invoking a particular agent. This implementation comes with such an interface. You'll deploy it to Azure App Service using the Azure CLI.
158
158
159
159
1. Generate some variables to set context.
160
160
161
161
*The following variables align with the defaults in this deployment. Update them if you customized anything.*
0 commit comments