db620d33df
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
100 lines
2.8 KiB
Markdown
100 lines
2.8 KiB
Markdown
# Summary
|
|
|
|
These samples showcases the ability to parse a declarative Foundry Workflow file (YAML)
|
|
to build a `Workflow` that may be executed using the same pattern as any code-based workflow.
|
|
|
|
## Configuration
|
|
|
|
These samples must be configured to create and use agents your
|
|
[Microsoft Foundry Project](https://learn.microsoft.com/azure/ai-foundry).
|
|
|
|
### Settings
|
|
|
|
We suggest using .NET [Secret Manager](https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets)
|
|
to avoid the risk of leaking secrets into the repository, branches and pull requests.
|
|
You can also use environment variables if you prefer.
|
|
|
|
The configuraton required by the samples is:
|
|
|
|
|Setting Name| Description|
|
|
|:--|:--|
|
|
|FOUNDRY_PROJECT_ENDPOINT| The endpoint URL of your Microsoft Foundry Project.|
|
|
|FOUNDRY_MODEL| The name of the model deployment to use
|
|
|AZURE_AI_BING_CONNECTION_ID| The name of the Bing Grounding connection configured in your Microsoft Foundry Project.|
|
|
|
|
To set your secrets with .NET Secret Manager:
|
|
|
|
1. From the root of the repository, navigate the console to the project folder:
|
|
|
|
```
|
|
cd dotnet/samples/03-workflows/Declarative/ExecuteWorkflow
|
|
```
|
|
|
|
2. Examine existing secret definitions:
|
|
|
|
```
|
|
dotnet user-secrets list
|
|
```
|
|
|
|
3. If needed, perform first time initialization:
|
|
|
|
```
|
|
dotnet user-secrets init
|
|
```
|
|
|
|
4. Define setting that identifies your Microsoft Foundry Project (endpoint):
|
|
|
|
```
|
|
dotnet user-secrets set "FOUNDRY_PROJECT_ENDPOINT" "https://..."
|
|
```
|
|
|
|
5. Define setting that identifies your Microsoft Foundry Model Deployment (endpoint):
|
|
|
|
```
|
|
dotnet user-secrets set "FOUNDRY_MODEL" "gpt-5"
|
|
```
|
|
|
|
6. Define setting that identifies your Bing Grounding connection:
|
|
|
|
```
|
|
dotnet user-secrets set "AZURE_AI_BING_CONNECTION_ID" "mybinggrounding"
|
|
```
|
|
|
|
You may alternatively set your secrets as an environment variable (PowerShell):
|
|
|
|
```pwsh
|
|
$env:FOUNDRY_PROJECT_ENDPOINT="https://..."
|
|
$env:FOUNDRY_MODEL="gpt-5"
|
|
$env:AZURE_AI_BING_CONNECTION_ID="mybinggrounding"
|
|
```
|
|
|
|
### Authorization
|
|
|
|
Use [_Azure CLI_](https://learn.microsoft.com/cli/azure/authenticate-azure-cli) to authorize access to your Microsoft Foundry Project:
|
|
|
|
```
|
|
az login
|
|
az account get-access-token
|
|
```
|
|
|
|
## Execution
|
|
|
|
The samples may be executed within _Visual Studio_ or _VS Code_.
|
|
|
|
To run the sampes from the command line:
|
|
|
|
1. From the root of the repository, navigate the console to the project folder:
|
|
|
|
```sh
|
|
cd dotnet/samples/03-workflows/Declarative/Marketing
|
|
dotnet run Marketing
|
|
```
|
|
|
|
2. Run the demo and optionally provided input:
|
|
|
|
```sh
|
|
dotnet run "An eco-friendly stainless steel water bottle that keeps drinks cold for 24 hours."
|
|
dotnet run c:/myworkflows/Marketing.yaml
|
|
```
|
|
> The sample will allow for interactive input in the absence of an input argument.
|