This sample has the full End2End process of creating RAG application with Prompt Flow and AI Studio. It includes GPT 3.5 Turbo LLM application code, evaluations, deployment automation with AZD CLI, GitHub actions for evaluation and deployment and intent mapping for multiple LLM task mapping.
[ ] Dashboard - Resources should include a dashboard so that azd monitor works, either by referencing the monitoring.bicep module or creating a dashboard separately. See main.bicep
[ ] Monitoring - Application code should include either OpenCensus or OpenTelemetry so that the monitor is populated. See todo/app.py.
[ ] Managed Identity - Application must use Managed Identity instead of keys wherever possible.
Elsewhere
[ ] AZD Telemetry - azure.yaml should include metadata for telemetry including version number. See azure.yaml
[ ] Service Source - In azure.yaml, the project property for each service should point at a subfolder, not at root (.). Typically the subfolder is labeled src but that may vary. See azure.yaml
[ ] azd Pipeline Config - .github/workflows should include azure-dev.yaml to support azd pipeline config.
[ ] Devcontainer - .devcontainer should contain a devcontainer.json and Dockerfile/docker-compose.yaml in order to create a full local dev environment. Start with azure-dev versions and modify as needed. See docker-compose.yaml for example that includes a local database service.
[ ] security-devops-action - The application must run microsoft/security-devops-action. Example
Azure Developer CLI Template Guidelines
These requirements are for samples that are using
azd
for deployment.Code
Infra Folder
[ ] Bicep Format - Bicep files should be formatted with
bicep format
. Can possibly be automated with pre-commit or GitHub actions.[ ] Core Modules -
main.bicep
should reference modules fromcore
, copied from azure-dev.cp -r ../azure-dev/templates/common/infra/bicep/core/* infra/core/.
[ ] Dashboard - Resources should include a dashboard so that
azd monitor
works, either by referencing themonitoring.bicep
module or creating a dashboard separately. See main.bicep[ ] Monitoring - Application code should include either OpenCensus or OpenTelemetry so that the monitor is populated. See todo/app.py.
[ ] Managed Identity - Application must use Managed Identity instead of keys wherever possible.
Elsewhere
[ ] AZD Telemetry -
azure.yaml
should include metadata for telemetry including version number. See azure.yaml[ ] Service Source - In
azure.yaml
, theproject
property for each service should point at a subfolder, not at root (.
). Typically the subfolder is labeledsrc
but that may vary. See azure.yaml[ ] azd Pipeline Config -
.github/workflows
should includeazure-dev.yaml
to supportazd pipeline config
.[ ] Devcontainer -
.devcontainer
should contain adevcontainer.json
andDockerfile
/docker-compose.yaml
in order to create a full local dev environment. Start with azure-dev versions and modify as needed. See docker-compose.yaml for example that includes a local database service.[ ] security-devops-action - The application must run microsoft/security-devops-action. Example
[ ] Hook Scripts - all hook scripts (pre-/post- provisioning and deployment scripts) shall include both sh and pwsh versions.
README.md
[ ] Short Description - a must description should be included. Example
[ ] Prerequisites - a Prerequisites section should be included. Example
[ ] Architecture - an architecture diagram and description must be included. Example
[ ] 'Open In __' buttons - must use same "Open in " buttons as the TODO samples. Example
[ ] Cost Estimation - a Cost Estimation section should be included. Example
Publicizing
[ ] Awesome AZD - Add the project to Awesome Azure Developer CLI. Instructions: Contributor Guide | Awesome Azure Developer CLI
[ ] Learn Sample Browser - Onboard the project to the Learn Sample Browser. Instructions: Onboarding Samples to learn.microsoft.com/samples - Documentation contributor guide