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
Fix image generation env vars and add post-deploy improvements
- Fix AZURE_DALLE_MODEL -> AZURE_OPENAI_IMAGE_MODEL in Bicep
- Add AZURE_OPENAI_GPT_IMAGE_ENDPOINT to App Service and Container Instance configs
- Update post_deploy.py with requirements file
- Add backend API module
- Update README and architecture diagram
Copy file name to clipboardExpand all lines: README.md
+40-30Lines changed: 40 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,6 @@
1
1
# Content generation solution accelerator
2
2
3
-
This solution accelerator is an internal chatbot that can interpret and
4
-
understand context and direction from a creative brief to create multi-modal text and image content for a marketing ad campaign.
3
+
This solution accelerator is an internal chatbot that interprets and understands context and direction from creative briefs to create multi-modal text and image content for marketing ad campaigns. Built on the Microsoft Agent Framework with HandoffBuilder orchestration, it uses specialized AI agents to parse briefs, research product data, generate content, and validate brand compliance.
5
4
<br/>
6
5
7
6
<divalign="center">
@@ -18,12 +17,12 @@ understand context and direction from a creative brief to create multi-modal tex
18
17
Solution overview
19
18
</h2>
20
19
21
-
It leverages Azure OpenAI Service and Azure AI Search, to identify relevant documents, summarize unstructured information, and generate document templates.
20
+
This solution leverages Azure OpenAI Service (GPT and DALL-E 3), Azure Cosmos DB, and Azure Blob Storage to interpret creative briefs, retrieve product information, generate marketing content, and validate brand compliance.
22
21
23
-
The sample data is sourced from generic AI-generated promissory notes. The documents are intended for use as sample data only.
22
+
The sample data includes synthetic product catalogs and brand guidelines. The data is intended for use as sample data only.
Generate marketing copy and images using GPT models and DALL-E 3 grounded in enterprise product data.
53
+
54
+
-**Brand Compliance Validation** <br/>
55
+
Validate all generated content against brand guidelines with severity-categorized feedback (Error, Warning, Info).
56
+
57
+
-**Specialized Agent Orchestration** <br/>
58
+
Uses Microsoft Agent Framework with HandoffBuilder to coordinate Triage, Planning, Research, Text Content, Image Content, and Compliance agents.
49
59
50
60
</details>
51
61
@@ -59,7 +69,7 @@ Follow the quick deploy steps on the deployment guide to deploy this solution to
59
69
60
70
> **Note:** This solution accelerator requires **Azure Developer CLI (azd) version 1.18.0 or higher**. Please ensure you have the latest version installed before proceeding with deployment. [Download azd here](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd).
61
71
62
-
[Click here to launch the deployment guide](./docs/DeploymentGuide.md)
72
+
[Click here to launch the deployment guide](./content-gen/docs/DEPLOYMENT.md)
63
73
<br/><br/>
64
74
65
75
| [](https://codespaces.new/microsoft/document-generation-solution-accelerator) | [](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/document-generation-solution-accelerator) | [&message=Open&color=blue&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/azure/?vscode-azure-exp=foundry&agentPayload=eyJiYXNlVXJsIjogImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9taWNyb3NvZnQvZG9jdW1lbnQtZ2VuZXJhdGlvbi1zb2x1dGlvbi1hY2NlbGVyYXRvci9yZWZzL2hlYWRzL21haW4vaW5mcmEvdnNjb2RlX3dlYiIsICJpbmRleFVybCI6ICIvaW5kZXguanNvbiIsICJ2YXJpYWJsZXMiOiB7ImFnZW50SWQiOiAiIiwgImNvbm5lY3Rpb25TdHJpbmciOiAiIiwgInRocmVhZElkIjogIiIsICJ1c2VyTWVzc2FnZSI6ICIiLCAicGxheWdyb3VuZE5hbWUiOiAiIiwgImxvY2F0aW9uIjogIiIsICJzdWJzY3JpcHRpb25JZCI6ICIiLCAicmVzb3VyY2VJZCI6ICIiLCAicHJvamVjdFJlc291cmNlSWQiOiAiIiwgImVuZHBvaW50IjogIiJ9LCAiY29kZVJvdXRlIjogWyJhaS1wcm9qZWN0cy1zZGsiLCAicHl0aG9uIiwgImRlZmF1bHQtYXp1cmUtYXV0aCIsICJlbmRwb2ludCJdfQ==) |
@@ -91,14 +101,14 @@ _Note: This is not meant to outline all costs as selected SKUs, scaled use, cust
91
101
| Product | Description | Cost |
92
102
|---|---|---|
93
103
|[Azure AI Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/)| Free tier. Build generative AI applications on an enterprise-grade platform. |[Pricing](https://azure.microsoft.com/pricing/details/ai-studio/)|
94
-
|[Azure AI Search](https://learn.microsoft.com/en-us/azure/search/)| Standard tier, S1. Pricing is based on the number of documents and operations. Information retrieval at scale for vector and text content in traditional or generative search scenarios. |[Pricing](https://azure.microsoft.com/pricing/details/search/)|
95
-
|[Azure Storage Account](https://learn.microsoft.com/en-us/azure/storage/blobs/)| Standard tier, LRS. Pricing is based on storage and operations. Blob storage in the clopud, optimized for storing massive amounts of unstructured data. |[Pricing](https://azure.microsoft.com/pricing/details/storage/blobs/)|
104
+
|[Azure Storage Account](https://learn.microsoft.com/en-us/azure/storage/blobs/)| Standard tier, LRS. Pricing is based on storage and operations. Blob storage for product images and generated content. |[Pricing](https://azure.microsoft.com/pricing/details/storage/blobs/)|
96
105
|[Azure Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/)| Standard tier. Pricing is based on the number of operations. Maintain keys that access and encrypt your cloud resources, apps, and solutions. |[Pricing](https://azure.microsoft.com/pricing/details/key-vault/)|
97
-
|[Azure AI Services](https://learn.microsoft.com/en-us/azure/ai-services/)| S0 tier, defaults to gpt-4.1 and text-embedding-ada-002 models. Pricing is based on token count. |[Pricing](https://azure.microsoft.com/pricing/details/cognitive-services/)|
98
-
|[Azure Container App](https://learn.microsoft.com/en-us/azure/container-apps/)| Consumption tier with 0.5 CPU, 1GiB memory/storage. Pricing is based on resource allocation, and each month allows for a certain amount of free usage. Allows you to run containerized applications without worrying about orchestration or infrastructure. |[Pricing](https://azure.microsoft.com/pricing/details/container-apps/)|
106
+
|[Azure AI Services](https://learn.microsoft.com/en-us/azure/ai-services/)| S0 tier, defaults to gpt-5.1 (GPT) and gpt-image-1 (DALL-E 3) models. Pricing is based on token count. |[Pricing](https://azure.microsoft.com/pricing/details/cognitive-services/)|
107
+
|[Azure Container Instance](https://learn.microsoft.com/en-us/azure/container-instances/)| Backend API hosting with private VNet integration. Pricing is based on resource allocation. |[Pricing](https://azure.microsoft.com/pricing/details/container-instances/)|
|[Azure Container Registry](https://learn.microsoft.com/en-us/azure/container-registry/)| Basic tier. Build, store, and manage container images and artifacts in a private registry for all types of container deployments |[Pricing](https://azure.microsoft.com/pricing/details/container-registry/)|
100
110
|[Log analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/)| Pay-as-you-go tier. Costs based on data ingested. Collect and analyze on telemetry data generated by Azure. |[Pricing](https://azure.microsoft.com/pricing/details/monitor/)|
101
-
|[Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/)|Fully managed, distributed NoSQL, relational, and vector database for modern app development. |[Pricing](https://azure.microsoft.com/en-us/pricing/details/cosmos-db/autoscale-provisioned/)|
111
+
|[Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/)|Serverless tier. Product catalog and conversation history storage. |[Pricing](https://azure.microsoft.com/en-us/pricing/details/cosmos-db/autoscale-provisioned/)|
102
112
103
113
104
114
@@ -108,7 +118,7 @@ _Note: This is not meant to outline all costs as selected SKUs, scaled use, cust
108
118
either by deleting the resource group in the Portal or running `azd down`.
Put your data to work by reducing blank page anxiety, speeding up document drafting, improving draft document quality, and reference information quickly - keeping experts in their expertise. Draft document templates for your organization including Invoices, End-user Contracts, Purchase Orders, Investment Proposals, and Grant Submissions.
131
+
Accelerate your marketing content creation by leveraging AI to interpret creative briefs and generate on-brand, multimodal content. The solution helps marketing teams reduce time-to-market for campaigns by automating the creation of compliant marketing copy and images grounded in product data.
122
132
123
133
⚠️ The sample data used in this repository is synthetic and generated using Azure OpenAI Service. The data is intended for use as sample data only.
124
134
@@ -127,20 +137,20 @@ Put your data to work by reducing blank page anxiety, speeding up document draft
127
137
<details>
128
138
<summary>Click to learn more about what value this solution provides</summary>
129
139
130
-
-**Draft templates quickly** <br/>
131
-
Put your data to work to create any kind of document that is supported by a large data library.
140
+
-**Interpret creative briefs** <br/>
141
+
Parse unstructured creative briefs into structured fields automatically, ensuring all campaign requirements are captured.
132
142
133
-
-**Share** <br/>
134
-
Share with co-authors, contributors and approvers quickly.
143
+
-**Generate multimodal content** <br/>
144
+
Create marketing copy and images that align with your brand voice and product catalog using GPT and DALL-E 3.
135
145
136
-
-**Contextualize information** <br/>
137
-
Provide context using natural language. Primary and secondary queries allow for access to supplemental detail – reducing cognitive load, increasing efficiency, and enabling focus on higher value work.
146
+
-**Ensure brand compliance** <br/>
147
+
Validate all generated content against brand guidelines with severity-categorized feedback before publication.
138
148
139
-
-**Gain confidence in responses** <br/>
140
-
Trust responses to queries by customizing how data is referenced and returned to users, reducing the risk of hallucinated responses.<br /><br />Access reference documents in the same chat window to get more detail and confirm accuracy.
149
+
-**Ground in enterprise data** <br/>
150
+
Leverage product information, images, and brand guidelines stored in Azure to ensure accurate, relevant content.
141
151
142
-
-**Secure data and responsible AI for innovation** <br/>
143
-
Improve data security to minimize breaches, fostering a culture of responsible AI adoption, maximize innovation opportunities, and sustain competitive edge.
152
+
-**Secure data and responsible AI** <br/>
153
+
Maintain data security with managed identities and private networking while fostering responsible AI adoption.
144
154
145
155
146
156
</details>
@@ -153,16 +163,16 @@ Supporting documentation
153
163
154
164
### Security guidelines
155
165
156
-
This template uses Azure Key Vault to store all connections to communicate between resources.
166
+
This template uses [Managed Identity](https://learn.microsoft.com/entra/identity/managed-identities-azure-resources/overview) for authentication between Azure services.
157
167
158
-
This template also uses [Managed Identity](https://learn.microsoft.com/entra/identity/managed-identities-azure-resources/overview) for local development and deployment.
168
+
The backend runs in Azure Container Instance within a private VNet subnet, accessible only through the App Service frontend proxy. Private networking can be enabled via the `enablePrivateNetworking` parameter.
159
169
160
170
To ensure continued best practices in your own repository, we recommend that anyone creating solutions based on our templates ensure that the [Github secret scanning](https://docs.github.com/code-security/secret-scanning/about-secret-scanning) setting is enabled.
161
171
162
172
You may want to consider additional security measures, such as:
163
173
164
174
* Enabling Microsoft Defender for Cloud to [secure your Azure resources](https://learn.microsoft.com/azure/defender-for-cloud).
165
-
* Protecting the Azure Container Apps instance with a [firewall](https://learn.microsoft.com/azure/container-apps/waf-app-gateway) and/or [Virtual Network](https://learn.microsoft.com/azure/container-apps/networking?tabs=workload-profiles-env%2Cazure-cli).
175
+
* Protecting the Azure App Service with [authentication](https://learn.microsoft.com/azure/app-service/overview-authentication-authorization) and/or [Virtual Network integration](https://learn.microsoft.com/azure/app-service/overview-vnet-integration).
166
176
167
177
<br/>
168
178
@@ -186,7 +196,7 @@ Have questions, find a bug, or want to request a feature? [Submit a new issue](h
186
196
<br/>
187
197
188
198
## Responsible AI Transparency FAQ
189
-
Please refer to [Transparency FAQ](./docs/TRANSPARENCY_FAQ.md) for responsible AI transparency details of this solution accelerator.
199
+
Please refer to [Transparency FAQ](./content-gen/docs/TRANSPARENCY_FAQ.md) for responsible AI transparency details of this solution accelerator.
0 commit comments