Azure / GPT-RAG

Sharing the learning along the way we been gathering to enable Azure OpenAI at enterprise scale in a secure manner. GPT-RAG core is a Retrieval-Augmented Generation pattern running in Azure, using Azure Cognitive Search for retrieval and Azure OpenAI large language models to power ChatGPT-style and Q&A experiences.
https://azure.microsoft.com/en-us/products/cognitive-services/openai-service
MIT License
773 stars 125 forks source link

Adjust bicep to flexible subnet provisioning/deployment #148

Open placerda opened 1 month ago

placerda commented 1 month ago

First impementation

Goal: Most users already have a VNet or standards on Network addresses, so the goal is that users can inform the existing vnet name or network address ranges for the vnet and subnets before provisioning the solution. This change aims to streamline the deployment process, particularly for customers deploying a Zero Trust environment, where existing VNet configurations are preferred. The way they are going to do it will by setting networking parameters in the main.parameters.json file.

Expected behavior: Customer should add name and address range parameters for the vnet and the three subnets in the main.parameters.json file. Repo should have documentation on how to use and how these parameters will work.

Example: vnet-name: 'gptrag-vnet' vnet-addressPrefix:'10.0.0.0/16' app-int-subnet-name: 'app-int-subnet' app-int-subnet-addressPrefix:'10.0.3.0/24' ...

Exception Scenarios:

Impact: This inefficiency in the deployment process leads to unnecessary VNet creation and deletion, impacting deployment time and resource utilization. Streamlining this process will enhance user experience and optimize resource management.

future work

Consider a implementation with a flag that indicates if we're going to use random name generation or a custom one:

random_vnet-name: True Local file to save the former deployment information about vnet and Subnet

azd up

(copy, Use custom: from Azure) random_vnet-name: False custom_vnet-name: 'gptrag-vnet' custom-vnet-addressPrefix:'10.0.0.0/16' custom-app-int-subnet-name: 'app-int-subnet' custom-app-int-subnet-addressPrefix:'10.0.3.0/24' ...

Local file to save the former deployment information about vnet and Subnet

azd up

=: !=, use custom parameters custom_vnet-name: 'gptrag-vnet' custom-vnet-addressPrefix:'10.0.0.0/16' custom-app-int-subnet-name: 'app-int-subnet' custom-app-int-subnet-addressPrefix:'10.0.3.0/24'