AI app templates

This section of the documentation introduces you the AI app templates and related articles that use these templates to demonstrate how to perform key developer tasks. AI app templates provide you with well-maintained, easy to deploy reference implementations that help to ensure a high-quality starting point for your AI apps.

There are two categories of AI app templates, building blocks and end-to-end solutions. The following sections introduce some of the key templates in each category for the programming language you have selected at the top of this article. To browse a more comprehensive list including these and other templates, see the AI app templates on the Azure Developer CLI gallery.

Building blocks

Building blocks are smaller-scale samples that focus on specific scenarios and tasks. Most building blocks demonstrate functionality that leverages the enterprise chat end-to-end solution.

Building block Description Article
Load balance with Azure Container Apps Learn how to add load balancing to your application to extend the chat app beyond the Azure OpenAI token and model quota limits. This approach uses Azure Container Apps to create three Azure OpenAI endpoints, as well as a primary container to direct incoming traffic to one of the three endpoints. Load balance with Azure Container Apps
Building block Description Article
Add document security trimming to Azure AI Search When you build a chat application using the RAG pattern with your own data, make sure that each user receives an answer based on their permissions. An authorized user should have access to answers contained within the documents of the chat app. An unauthorized user shouldn't have access to answers from secured documents they don't have authorization to see. Configure document security for the Python chat app
Evaluate chat app answers Learn how to evaluate a chat app's answers against a set of correct or ideal answers (known as ground truth). Whenever you change your chat application in a way which affects the answers, run an evaluation to compare the changes. This demo application offers tools you can use today to make it easier to run evaluations. Evaluate the Python chat app
Load balance with Azure Container Apps Learn how to add load balancing to your application to extend the chat app beyond the Azure OpenAI token and model quota limits. This approach uses Azure Container Apps to create three Azure OpenAI endpoints, as well as a primary container to direct incoming traffic to one of the three endpoints. Load balance with Azure Container Apps
Load balance with API Management Learn how to add load balancing to your application to extend the chat app beyond the Azure OpenAI token and model quota limits. This approach uses Azure API Management to create three Azure OpenAI endpoints, as well as a primary container to direct incoming traffic to one of the three endpoints. Load balance with Azure Container Apps
Load test with Locust Learn the process to perform load testing on a Python chat application using the RAG pattern with Locust, a popular open-source load testing tool. The primary objective of load testing is to ensure that the expected load on your chat application does not exceed the current Azure OpenAI Transactions Per Minute (TPM) quota. By simulating user behavior under heavy load, you can identify potential bottlenecks and scalability issues in your application. Load test the Python chat app with Locust
Building block Description Article
Load balance with Azure Container Apps Learn how to add load balancing to your application to extend the chat app beyond the Azure OpenAI token and model quota limits. This approach uses Azure Container Apps to create three Azure OpenAI endpoints, as well as a primary container to direct incoming traffic to one of the three endpoints. Load balance with Azure Container Apps
Building block Description Article
Evaluate chat app answers Learn how to evaluate a chat app's answers against a set of correct or ideal answers (known as ground truth). Whenever you change your chat application in a way which affects the answers, run an evaluation to compare the changes. This demo application offers tools you can use today to make it easier to run evaluations. Evaluate the JavaScript chat app
Load balance with Azure Container Apps Learn how to add load balancing to your application to extend the chat app beyond the Azure OpenAI token and model quota limits. This approach uses Azure Container Apps to create three Azure OpenAI endpoints, as well as a primary container to direct incoming traffic to one of the three endpoints. Load balance with Azure Container Apps
Load balance with API Management Learn how to add load balancing to your application to extend the chat app beyond the Azure OpenAI token and model quota limits. This approach uses Azure API Management to create three Azure OpenAI endpoints, as well as a primary container to direct incoming traffic to one of the three endpoints. Load balance with Azure Container Apps

End-to-end solutions

End-to-end solutions are comprehensive reference samples including documention, source code, and deployment to allow you to take and extend for your own purposes.

Enterprise chat with .NET

This template is a complete end-to-end solution demonstrating the Retrieval-Augmented Generation (RAG) pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.

To get started with this template, see Get started with the .NET enterprise chat sample using RAG. To access the source code and read in-depth details about the template, see the azure-search-openai-demo-csharp GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container Apps
Azure Functions
Azure OpenAI
Azure Computer Vision
Azure Form Recognizer
Azure AI Search
Azure Storage
GPT 3.5 Turbo
GPT 4.0

Contoso chat retail Copilot with .NET and Semantic Kernel

This template implements Contoso Outdoors, a conceptual store specializing in outdoor gear for hiking and camping enthusiasts. This virtual store enhances customer engagement and sales support through an intelligent chat agent. This agent is powered by the Retrieval Augmented Generation (RAG) pattern within the Microsoft Azure AI Stack, enriched with Semantic Kernel and Prompty support.

To access the source code and read in-depth details about the template, see the contoso-chat-csharp-prompty GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container Apps
Azure OpenAI
Microsoft Entra ID
Azure Managed Identity
Azure Monitor
Azure AI Search
Azure AI Studio
Azure SQL
Azure Storage
GPT 3.5 Turbo
GPT 4.0

Process automation with speech to text and summarization with .NET and GPT 3.5 Turbo

This template is a process automation solution that recieves issues reported by field and shop floor workers at a company called Contoso Manufacturing, a manufacturing company that makes car batteries. The issues are shared by the workers either live through microphone input or pre-recorded as audio files. The solution translates audio input from speech to text and then uses an LLM and Prompty or Promptflow to summarize the issue and return the results in a format specified by the solution.

To access the source code and read in-depth details about the template, see the summarization-openai-csharp-prompty GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container Apps Speech to Text
Summarization
Azure OpenAI
GPT 3.5 Turbo

Enterprise chat with Python

This template is a complete end-to-end solution demonstrating the Retrieval-Augmented Generation (RAG) pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.

To get started with this template, see Get started with the Python enterprise chat sample using RAG. To access the source code and read in-depth details about the template, see the azure-search-openai-demo GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure App Service Azure OpenAI
Bing Search
Azure Managed Identity
Azure Monitor
Azure AI Search
Azure AI Studio
GPT 3.5 Turbo
GPT 4.0
DALL-E

Multi-Modal Creative Writing Copilot with DALL-E

This template is a creative writing multi-agent solution to help users write articles. It demonstrates how to create and work with AI agents driven by Azure OpenAI. It includes a Flask app that takes a topic and instruction from a user then calls a research agent that uses the Bing Search API to research the topic, a product agent that uses Azure AI Search to do a semantic similarity search for related products from a vectore store, a writer agent to combine the research and product information into a helpful article, and an editor agent to refine the article that's finally presented to the user.

To access the source code and read in-depth details about the template, see the agent-openai-python-prompty GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container registery
Azure Kubernetes
Azure OpenAI
Bing Search
Azure Managed Identity
Azure Monitor
Azure AI Search
Azure AI Studio
GPT 3.5 Turbo
GPT 4.0
DALL-E

Contoso Chat Retail Copilot with AI Studio

This template is a customer sales and support chat solution. It demonstrates how to build a Large Language Model (LLM) application with a RAG (Retrieval Augmented Generation) architecture using Azure AI Studio and Prompt Flow.

To access the source code and read in-depth details about the template, see the contoso-chat GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container Apps
Azure OpenAI
Azure AI Search
Azure AI Studio
Azure Cosmos DB
GPT 3.5 Turbo
GPT 4.0
Managed Integration Runtime (MIR)

Process automation with speech to text and summarization with AI Studio

This template is a process automation solution that recieves issues reported by field and shop floor workers at a company called Contoso Manufacturing, a manufacturing company that makes car batteries. The issues are shared by the workers either live through microphone input, pre-recorded as audio files or as text input. The solution translates audio input from speech to text and then uses the text reports as input to an LLM and Prompty/Promptflow to summarize the issue and return the results in a format specified by the solution.

To access the source code and read in-depth details about the template, see the summarization-openai-python-prompflow GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container Apps Azure AI Studio
Speech to Text Service
Prompt Flow
Managed Integration Runtime (MIR)
GPT 3.5 Turbo

This template is an application that uses Prompty, Langchain, and Elasticsearch to build a large language model (LLM) search agent. This agent with Retrieval Augmented Generation (RAG) technology is is capable of answering user questions based on the provided data by integrating real-time information retrieval with generative responses.

To access the source code and read in-depth details about the template, see the agent-python-openai-prompty-langchain GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Machine Learning service Azure AI Studio
Elastic Search
Microsoft Entra ID
Azure Managed Identity
Azure Monitor
Azure Storage
Azure AI Studio
Managed Integration Runtime (MIR)
GPT 3.5 Turbo

Function calling with Prompty, LangChain and Pinecone

This template utilizes the new Prompty tool, Langchain, and Pinecone to build a large language model (LLM) search agent. This agent with Retrieval Augmented Generation (RAG) technologyis is capable of answering user questions based on the provided data by integrating real-time information retrieval with generative responses.

To access the source code and read in-depth details about the template, see the agent-openai-python-prompty-langchain-pinecone GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container Apps Pinecone
Microsoft Entra ID
Microsoft Managed Identity
Azure Monitor
Azure Storage
GPT 3.5 Turbo

Assistant API Analytics Copilot with Python and Azure AI Studio

This template is an Assistant API to chat with tabular data and perform analytics in natural language. To access the source code and read in-depth details about the template, see the assistant-data-openai-python-promptflow GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Machine Learning service Azure AI Search
Azure AI Studio
Managed Integration Runtime (MIR)
Azure OpenAI
GPT 3.5 Turbo
GPT 4

Enterprise chat with Java

This template is a complete end-to-end solution demonstrating the Retrieval-Augmented Generation (RAG) pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences. This sample supports different architectural styles. It can be deployed as standalone app on top of Azure App Service or as a microservice event driven architecture with web frontend, AI orchestration and document ingestion apps hosted by Azure Container Apps or Azure Kubernetes Service.

To get started with this template, see Get started with the Java enterprise chat sample using RAG. To access the source code and read in-depth details about the template, see the azure-search-openai-demo-java GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure App Service
Azure Container Apps
Azure Kubernetes Service
Azure OpenAI
Azure AI Search
Azure Storage
Azure Monitor

Enterprise chat with JavaScript

This template is a complete end-to-end solution demonstrating the Retrieval-Augmented Generation (RAG) pattern running in Azure, using Azure AI Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.

To get started with this template, see Get started with the JavaScript enterprise chat sample using RAG. To access the source code and read in-depth details about the template, see the azure-search-openai-javascript GitHub repo.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Container Apps
Azure Static Web Apps
Azure OpenAI
Azure AI Search
Azure Storage
Azure Monitor
text-embedding-ada-002

Azure OpenAI chat frontend

This template is a minimal OpenAI chat web component that can be hooked to any backend implementation as a client.

To access the source code and read in-depth details about the template, see the azure-openai-chat-frontend GitHub repo.

Video demonstrating JavaScript chat frontend application.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Static Web Apps Azure AI Search
Azure OpenAI
GPT 3.5 Turbo
GPT4

Serverless AI chat with RAG using LangChain.js

The template is a serverless AI chatbot with Retrieval Augmented Generation using LangChain.js and Azure that uses a set of enterprise documents to generate responses to user queries. It uses a fictitious company called Contoso Real Estate, and the experience allows its customers to ask support questions about the usage of its products. The sample data includes a set of documents that describes its terms of service, privacy policy and a support guide.

To learn how to deploy and run this template, see Get started with Serverless AI Chat with RAG using LangChain.js. To access the source code and read in-depth details about the template, see the serverless-chat-langchainjs GitHub repo.

Learn how to deploy and run this JavaScript reference template.

This template demonstrates the use of these features.

Azure hosting solution Technologies AI models
Azure Static Web Apps
Azure Functions
Azure AI Search
Azure OpenAI
Azure Cosmos DB
Azure Storage
Azure Managed Identity
GPT4
Mistral
Ollama