Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 24e1597

Browse files
committed
Update README
1 parent 37975c2 commit 24e1597

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

README.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This sample project demonstrates how to build a scalable, document data extracti
44

55
This approach takes advantage of the following techniques for document data extraction:
66

7-
- [Using Azure OpenAI GPT-4 Omni vision capabilities to extract data from PDF files by converting them to images](https://github.com/Azure-Samples/azure-openai-gpt-4-vision-pdf-extraction-sample)
7+
- [Using Azure OpenAI GPT-4o to extract structured JSON data from PDF documents by converting them to images](https://github.com/Azure-Samples/azure-openai-gpt-4-vision-pdf-extraction-sample)
88

99
## Pre-requisites - Understanding
1010

@@ -18,7 +18,7 @@ Before continuing with this sample, please ensure that you have a level of under
1818

1919
### Azure Services
2020

21-
- [Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview)
21+
- [Azure AI Services](https://learn.microsoft.com/en-us/azure/ai-services/what-are-ai-services)
2222
- [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction)
2323
- [Azure Storage Queues](https://learn.microsoft.com/en-us/azure/storage/queues/storage-queues-introduction)
2424
- [Azure Container Apps](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deploy-container-apps?tabs=acr%2Cbash&pivots=programming-language-csharp)
@@ -50,8 +50,8 @@ Below is an illustration of how the pipeline may integrate into an intelligent a
5050

5151
- [**Azure Container Apps**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deploy-container-apps?tabs=acr%2Cbash&pivots=programming-language-csharp), used to host the containerized functions used in the document processing pipeline.
5252
- **Note**: By containerizing the functions app, you can integrate this specific orchestration pipeline into an existing microservices architecture or deploy it as a standalone service.
53-
- [**Azure OpenAI Service**](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview), a managed service for OpenAI GPT models, deploying the latest GPT-4 Omni model to support Vision extraction techniques.
54-
- **Note**: The GPT-4 Omni model is not available in all Azure OpenAI regions. For more information, see the [Azure OpenAI Service documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models#standard-deployment-model-availability).
53+
- [**Azure AI Services**](https://learn.microsoft.com/en-us/azure/ai-services/what-are-ai-services), a managed service for all Azure AI Services, including Azure OpenAI, deploying the latest GPT-4o model to support vision-based extraction techniques.
54+
- **Note**: The GPT-4o model is not available in all Azure OpenAI regions. For more information, see the [Azure OpenAI Service documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models#standard-deployment-model-availability).
5555
- [**Azure Storage Account**](https://learn.microsoft.com/en-us/azure/storage/common/storage-introduction), used to store the batch of documents to be processed and the extracted data from the documents. The storage account is also used to store the queue messages for the document processing pipeline.
5656
- [**Azure Monitor**](https://learn.microsoft.com/en-us/azure/azure-monitor/overview), used to store logs and traces from the document processing pipeline for monitoring and troubleshooting purposes.
5757
- [**Azure Container Registry**](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-intro), used to store the container images for the document processing pipeline service that will be consumed by Azure Container Apps.
@@ -108,15 +108,24 @@ To setup an environment locally, simply run the [Setup-Environment.ps1](./Setup-
108108
> [!NOTE]
109109
> The `-IsLocal` parameter is used to determine whether the complete containerized deployment is made in Azure, or whether to deploy the necessary components to Azure that will support a local development environment. The `-SkipInfrastructure` parameter is used to skip the deployment of the core infrastructure components if they are already deployed.
110110
111-
When configured for local development, you will need to grant the following role-based access to your identity scoped to the specific Azure resources:
111+
When configured for local development, you will be granted the following role-based access to your identity scoped to the specific Azure resources:
112112

113113
- **Azure Container Registry**:
114114
- **Role**: AcrPull
115+
- **Role**: AcrPush
115116
- **Azure Storage Account**:
117+
- **Role**: Storage Account Contributor
116118
- **Role**: Storage Blob Data Contributor
119+
- **Role**: Storage File Data Privileged Contributor
120+
- **Role**: Storage Table Data Contributor
117121
- **Role**: Storage Queue Data Contributor
122+
- **Azure Key Vault**:
123+
- **Role**: Key Vault Administrator
118124
- **Azure OpenAI Service**:
119-
- **Role**: Cognitive Services OpenAI User
125+
- **Role**: Cognitive Services Contributor
126+
- **Role**: Cognitive Services OpenAI Contributor
127+
- **Azure AI Hub/Project**:
128+
- **Role**: Azure ML Data Scientist
120129

121130
With the local development environment setup, you can open the solution in Visual Studio Code using the Dev Container. The Dev Container contains all the necessary tools and dependencies to run the sample project with F5 debugging support.
122131

infra/main.bicep

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ param raiPolicies raiPolicyInfo[] = [
2929
name: workloadName
3030
mode: 'Blocking'
3131
prompt: {
32-
violence: { allowedContentLevel: 'Low', blocking: true, enabled: true }
33-
hate: { allowedContentLevel: 'Low', blocking: true, enabled: true }
34-
sexual: { allowedContentLevel: 'Low', blocking: true, enabled: true }
35-
selfharm: { allowedContentLevel: 'Low', blocking: true, enabled: true }
32+
violence: { allowedContentLevel: 'High', blocking: true, enabled: true }
33+
hate: { allowedContentLevel: 'High', blocking: true, enabled: true }
34+
sexual: { allowedContentLevel: 'High', blocking: true, enabled: true }
35+
selfharm: { allowedContentLevel: 'High', blocking: true, enabled: true }
3636
jailbreak: { blocking: true, enabled: true }
3737
indirect_attack: { blocking: true, enabled: true }
3838
}
3939
completion: {
40-
violence: { allowedContentLevel: 'Low', blocking: true, enabled: true }
41-
hate: { allowedContentLevel: 'Low', blocking: true, enabled: true }
42-
sexual: { allowedContentLevel: 'Low', blocking: true, enabled: true }
43-
selfharm: { allowedContentLevel: 'Low', blocking: true, enabled: true }
40+
violence: { allowedContentLevel: 'High', blocking: true, enabled: true }
41+
hate: { allowedContentLevel: 'High', blocking: true, enabled: true }
42+
sexual: { allowedContentLevel: 'High', blocking: true, enabled: true }
43+
selfharm: { allowedContentLevel: 'High', blocking: true, enabled: true }
4444
protected_material_text: { blocking: true, enabled: true }
4545
protected_material_code: { blocking: false, enabled: true }
4646
}

0 commit comments

Comments
 (0)