/azd-ai-starter

Creates an Azure AI Service and deploys the specified models.

Primary LanguagePowerShellMIT LicenseMIT

page_type languages products urlFragment name description
sample
azdeveloper
bicep
azure
azd-ai-starter
Azure AI starter template
Creates an Azure AI Service and deploys the specified models.

Important

This is a standard readme file defining the required structure for template validation. Update as required, including replacing all instances of [Project Name] with your project's name, and remove this notice. Please make sure to read the how to documentation, to learn more about additional setup steps, standardization, conventions and validation steps.

[Project Name]

Open in GitHub Codespaces Open in Dev Containers

(Longer Description, as compared to the GitHub "about" section of the project) (make sure to highlight the use case!) Sample application code is included in this project. You can use or modify this app code or you can rip it out and include your own.

FeaturesGettting StartedGuidance

(include a screenshot of your template's endpoint here-- so users know what it should look like when they're done)

Features

This project framework provides the following features:

  • Feature 1
  • Feature 2
  • ...

Architecture Diagram

Include a diagram describing the application. You can take this image as a reference.

Demo Video (optional)

(Embed demo video here)

Getting Started

You have a few options for getting started with this template. The quickest way to get started is GitHub Codespaces, since it will setup all the tools for you, but you can also set it up locally. You can also use a VS Code dev container

This template uses [MODEL 1] and [MODEL 2] which may not be available in all Azure regions. Check for up-to-date region availability and select a region during deployment accordingly

  • We recommend using [SUGGESTED REGION]

GitHub Codespaces

You can run this template virtually by using GitHub Codespaces. The button will open a web-based VS Code instance in your browser:

  1. Open the template (this may take several minutes) Open in GitHub Codespaces

  2. Open a terminal window

  3. Sign into your Azure account:

     azd auth login --use-device-code
  4. [any other steps needed for your template]

  5. Provision the Azure resources and deploy your code:

    azd up
  6. (Add steps to start up the sample app)

VS Code Dev Containers

A related option is VS Code Dev Containers, which will open the project in your local VS Code using the Dev Containers extension:

  1. Start Docker Desktop (install it if not already installed)

  2. Open the project: Open in Dev Containers

  3. In the VS Code window that opens, once the project files show up (this may take several minutes), open a terminal window.

  4. Sign into your Azure account:

     azd auth login
  5. [any other steps needed for your template]

  6. Provision the Azure resources and deploy your code:

    azd up
  7. (Add steps to start up the sample app)

  8. Configure a CI/CD pipeline:

    azd pipeline config

Local Environment

Prerequisites

(ideally very short, if any)

  • Install azd
    • Windows: winget install microsoft.azd
    • Linux: curl -fsSL https://aka.ms/install-azd.sh | bash
    • MacOS: brew tap azure/azd && brew install azd
  • OS
  • Library version
  • This template uses [MODEL 1] and [MODEL 2] which may not be available in all Azure regions. Check for up-to-date region availability and select a region during deployment accordingly
    • We recommend using [SUGGESTED REGION]
  • ...

Installation

(ideally very short)

  • list of any prerequisites
  • ...

Quickstart

(Add steps to get up and running quickly)

  1. Bring down the template code:

    azd init --template [name-of-repo]

    This will perform a git clone

  2. Sign into your Azure account:

     azd auth login
  3. [Packages or anything else that needs to be installed]

    npm install ...
  4. ...

  5. Provision and deploy the project to Azure:

    azd up
  6. (Add steps to start up the sample app)

  7. Configure a CI/CD pipeline:

    azd pipeline config

Local Development

Describe how to run and develop the app

Extending Bicep IaC files

Once the application is developed, the Bicep files may need to be extended with additional service modules and configuration. We include a script to list the available API versions for each service, including an indicator for latest stable releases.

To use it, change directory to the scripts folder, and locate and run the script called listAPIVersions, for your corresponding platform.

Important

This script needs the [Azure CLI] to be installed in your system or available in your setup.

Guidance

Region Availability

This template uses [MODEL 1] and [MODEL 2] which may not be available in all Azure regions. Check for up-to-date region availability and select a region during deployment accordingly

  • We recommend using [SUGGESTED REGION]

Quotas

Apart from making sure the selected model is available in a preferred region, you may need to make sure your subscription has remaining quota available. We provide a tool, in the form of a script, for this purpose.

To use it, change directory to the scripts folder, and locate and run the script called listAIQuotas, for your corresponding platform.

Important

This script needs the [Azure CLI] to be installed in your system or available in your setup.

Costs

You can estimate the cost of this project's architecture with Azure's pricing calculator

Security

Note

When implementing this template please specify whether the template uses Managed Identity or Key Vault

This template has either Managed Identity or Key Vault built in to eliminate the need for developers to manage these credentials. Applications can use managed identities to obtain Microsoft Entra tokens without having to manage any credentials. Additionally, we have added a GitHub Action tool that scans the infrastructure-as-code files and generates a report containing any detected issues. To ensure best practices in your repo we recommend anyone creating solutions based on our templates ensure that the Github secret scanning setting is enabled in your repos.

Resources

(Any additional resources or related projects)