अंतिम समीक्षा: मई 2026
साधारण Terraform के साथ AI-102 परीक्षा के AWS संसाधनों को बनाएं — एक समय में एक ब्लॉक, प्रत्येक परीक्षा डोमेन से जुड़ा हुआ। यही कोड OpenTofu पर भी काम करता है।
इस लैब के अंत तक, आप साधारण टेराफ़ॉर्म का उपयोग करके, एक RAG-शैली के एज़्योर AI एप्लिकेशन का आधार तैयार कर चुके होंगे — क्लाउड / GPT-श्रेणी के चैट मॉडल डिप्लॉयमेंट वाला एक एज़्योर ओपनएआई खाता, पुनर्प्राप्ति सूचकांक के लिए एक एज़्योर AI सर्च सेवा, स्रोत दस्तावेज़ों के लिए एक स्टोरेज अकाउंट, और API कुंजियों को रखने वाला एक की वॉल्ट। पाँच ब्लॉक; AI-102 संदर्भ आर्किटेक्चर।
स्निपेट्स को एक ही main.tf में डालें, terraform init चलाएँ, फिर terraform apply चरण-दर-चरण चलाएँ।
>= 1.5 या ओपनटोफ़ु >= 1.6।az login)।azurerm_cognitive_account बनाने के लिए इसकी एक बार आवश्यकता होती है)।एज़्योर AI सर्च बेसिक मुख्य बिल है जो $75/माह पर आता है। यदि आप लागत के प्रति संवेदनशील हैं तो फ्री टियर (sku = "free") पर जाएँ; लैब फिर भी आर्किटेक्चर को प्रदर्शित करती है।
मानक एज़्योर ओपनर। AI-102 आपसे अपेक्षा करता है कि आप नवीनतम एज़्योर ओपनएआई मॉडल उपलब्धता के लिए eastus या westus का उपयोग करें — पुराने क्षेत्रों को GPT-4 परिवार जल्दी नहीं मिलता।
terraform {
required_version = ">= 1.5"
required_providers {
azurerm = { source = "hashicorp/azurerm", version = "~> 4.0" }
random = { source = "hashicorp/random", version = "~> 3.6" }
}
}
provider "azurerm" {
features {
key_vault {
purge_soft_delete_on_destroy = true
}
}
}
resource "random_id" "suffix" {
byte_length = 3
}
data "azurerm_client_config" "current" {}
locals {
tags = {
Project = "certlabpro-ai-102"
ManagedBy = "terraform"
}
}
resource "azurerm_resource_group" "main" {
name = "certlabpro-ai-102-rg"
location = "eastus"
tags = local.tags
}एज़्योर ओपनएआई AI-102 के लिए प्रोडक्शन GenAI इंजन है। हम खाता (kind = "OpenAI") बनाते हैं और चैट मॉडल के रूप में gpt-4o-mini को डिप्लॉय करते हैं — यह लेखन के समय सबसे सस्ता GPT-4-श्रेणी का मॉडल है और अनुशंसित AI-102 लैब डिफ़ॉल्ट है। डिप्लॉयमेंट एक कोटा आवंटन के लिए एक विशिष्ट मॉडल संस्करण का नामित बाइंडिंग है; आप इसे एप्लिकेशन कोड से नाम से कॉल करते हैं।
model.version = "2024-07-18" gpt-4o-mini की रिलीज़ की तारीख है — AI-102 मॉडल-संस्करण स्थिरता को एक आवर्ती चिंता के रूप में परीक्षण करता है (एक विशिष्ट संस्करण पर लॉक करना बनाम ऑटो-अपग्रेड)। परीक्षा उत्पादन विश्वसनीयता के लिए स्पष्ट पिनिंग का पक्षधर है।
resource "azurerm_cognitive_account" "openai" {
name = "openai-ai102-${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
kind = "OpenAI"
sku_name = "S0"
custom_subdomain_name = "openai-ai102-${random_id.suffix.hex}"
identity {
type = "SystemAssigned"
}
tags = local.tags
}
resource "azurerm_cognitive_deployment" "chat" {
name = "gpt-4o-mini"
cognitive_account_id = azurerm_cognitive_account.openai.id
model {
format = "OpenAI"
name = "gpt-4o-mini"
version = "2024-07-18"
}
sku {
name = "Standard"
capacity = 10 # TPM in thousands; 10 = 10K tokens-per-minute quota
}
}एज़्योर AI सर्च (पुनर्ब्रांडेड कॉग्निटिव सर्च) RAG पैटर्न के लिए AI-102 पुनर्प्राप्ति इंजन है। हम एक बेसिक-टियर सेवा का प्रावधान करते हैं — यह सिस्टम-असाइन की गई प्रबंधित पहचान का समर्थन करती है, जो AI सर्च के लिए एकीकृत वेक्टरराइज़ेशन सुविधा (जहां AI सर्च इंडेक्सिंग के दौरान आपकी ओर से एम्बेडिंग मॉडल को कॉल करता है) के लिए एज़्योर ओपनएआई को सुरक्षित रूप से कॉल करने के लिए आवश्यक है।
local_authentication_enabled = false सेटिंग AI-102 उत्पादन-सर्वोत्तम-अभ्यास उत्तर है — एंट्रा आईडी प्रमाणीकरण को लागू करें, कोई एडमिन कुंजी इधर-उधर न जाए। सिस्टम-असाइन की गई प्रबंधित पहचान को अगले चरण में एज़्योर ओपनएआई तक पहुंच प्रदान की जाती है।
resource "azurerm_search_service" "main" {
name = "search-ai102-${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
sku = "basic"
replica_count = 1
partition_count = 1
local_authentication_enabled = false # Entra auth only
public_network_access_enabled = true
identity {
type = "SystemAssigned"
}
tags = local.tags
}
# Grant AI Search's managed identity Cognitive Services OpenAI User on the
// account — required for integrated vectorization (AI Search → OpenAI embeddings).
resource "azurerm_role_assignment" "search_to_openai" {
scope = azurerm_cognitive_account.openai.id
role_definition_name = "Cognitive Services OpenAI User"
principal_id = azurerm_search_service.main.identity[0].principal_id
}RAG के लिए स्रोत दस्तावेज़ एज़्योर स्टोरेज में रहते हैं। AI सर्च इंडेक्सर्स ब्लब कंटेनर से डेटा खींचते हैं, वेक्टरराइज़ेशन के लिए OpenAI एम्बेडिंग मॉडल के माध्यम से चलाते हैं, और सर्च इंडेक्स को पॉप्युलेट करते हैं। स्टोरेज अकाउंट पर AI सर्च की प्रबंधित पहचान को Storage Blob Data Reader देना AI-102 पासवर्ड-लेस पुनर्प्राप्ति पैटर्न है।
स्टोरेज + AI सर्च + OpenAI सभी को प्रबंधित पहचान के माध्यम से जोड़ा गया है, RAG आधार तैयार है। एप्लिकेशन लेयर (चैट ऑर्केस्ट्रेटर जो उपयोगकर्ता प्रश्नों को लेता है, AI सर्च को कॉल करता है, फिर पुनर्प्राप्त संदर्भ के साथ OpenAI को कॉल करता है) वह कोड है जिसे आप लिखते हैं — टेराफ़ॉर्म वहाँ मदद नहीं करता; यह इन्फ्रास्ट्रक्चर को सही करता है।
resource "azurerm_storage_account" "docs" {
name = "ai102docs${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
account_tier = "Standard"
account_replication_type = "LRS"
account_kind = "StorageV2"
https_traffic_only_enabled = true
min_tls_version = "TLS1_2"
allow_nested_items_to_be_public = false
tags = local.tags
}
resource "azurerm_storage_container" "source" {
name = "source"
storage_account_id = azurerm_storage_account.docs.id
container_access_type = "private"
}
resource "azurerm_role_assignment" "search_to_storage" {
scope = azurerm_storage_account.docs.id
role_definition_name = "Storage Blob Data Reader"
principal_id = azurerm_search_service.main.identity[0].principal_id
}AI-102 अपेक्षा करता है कि प्रोडक्शन एप्लिकेशन एंडपॉइंट्स और कुंजियों को की वॉल्ट से पढ़ें, न कि पर्यावरण चर या कॉन्फिग फ़ाइलों से। हम एक की वॉल्ट का प्रावधान करते हैं और OpenAI एंडपॉइंट, डिप्लॉयमेंट नाम और AI सर्च एंडपॉइंट को गुप्त के रूप में स्टोर करते हैं। प्रोडक्शन में, ऐप की प्रबंधित पहचान के पास स्टार्टअप पर उन्हें पढ़ने के लिए इस वॉल्ट पर Key Vault Secrets User की अनुमति होगी।
यह AI-102 कार्यान्वयन और एकीकरण लूप को बंद करता है: हर एंडपॉइंट, हर कुंजी, हर सेवा URL की वॉल्ट से होकर गुजरता है — रहस्यों के रोटेशन का एकल बिंदु, ऑडिट का एकल बिंदु। हर अतिरिक्त AI-102 पैटर्न (डॉक्यूमेंट इंटेलिजेंस, ट्रांसलेटर, कस्टम विजन, स्पीच) इसी तरह से काम करता है।
resource "azurerm_key_vault" "main" {
name = "kv-ai102-${random_id.suffix.hex}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "standard"
enable_rbac_authorization = true
soft_delete_retention_days = 7
tags = local.tags
}
resource "azurerm_role_assignment" "kv_admin_self" {
scope = azurerm_key_vault.main.id
role_definition_name = "Key Vault Administrator"
principal_id = data.azurerm_client_config.current.object_id
}
resource "azurerm_key_vault_secret" "openai_endpoint" {
name = "openai-endpoint"
value = azurerm_cognitive_account.openai.endpoint
key_vault_id = azurerm_key_vault.main.id
depends_on = [azurerm_role_assignment.kv_admin_self]
}
resource "azurerm_key_vault_secret" "openai_deployment" {
name = "openai-deployment"
value = azurerm_cognitive_deployment.chat.name
key_vault_id = azurerm_key_vault.main.id
depends_on = [azurerm_role_assignment.kv_admin_self]
}
resource "azurerm_key_vault_secret" "search_endpoint" {
name = "search-endpoint"
value = "https://${azurerm_search_service.main.name}.search.windows.net"
key_vault_id = azurerm_key_vault.main.id
depends_on = [azurerm_role_assignment.kv_admin_self]
}terraform destroy सब कुछ हटा देता है। नोट्स:
purge_soft_delete_on_destroy = true डिस्ट्रॉय को वास्तव में परग करने योग्य बनाता है।AI-102 में और भी सेवाएँ शामिल हैं जो इस लैब में फिट नहीं हो सकतीं — एज़्योर AI डॉक्यूमेंट इंटेलिजेंस (फ़ॉर्म पहचान, कस्टम एक्सट्रैक्शन मॉडल), एज़्योर AI विजन (कस्टम इमेज क्लासिफिकेशन + ऑब्जेक्ट डिटेक्शन), एज़्योर AI लैंग्वेज (CLU + कस्टम QnA), एज़्योर AI स्पीच (कस्टम स्पीच, न्यूरल वॉयस, स्पीच ट्रांसलेशन), एज़्योर AI बॉट सर्विस, एज़्योर AI कंटेंट सेफ्टी, और पूरा एज़्योर AI स्टूडियो प्रॉम्प्ट-फ़्लो डिज़ाइन सतह।
हम एज़्योर OpenAI + AI सर्च + स्टोरेज + की वॉल्ट RAG सब्सट्रेट पर टिके रहते हैं क्योंकि यह सबसे अधिक परीक्षित AI-102 आर्किटेक्चर है और वही है जिस पर हर दूसरा AI-102 पैटर्न आधारित होता है। डॉक्यूमेंट इंटेलिजेंस RAG को फ़ीड करता है। विजन छवियों से सामग्री निकालता है जो RAG में एम्बेड हो जाती हैं। बॉट सर्विस इस स्टैक के ऊपर एक फ्रंटएंड है।
उपरोक्त सतहों के लिए, इस प्रमाणपत्र पृष्ठ के ब्राउज़ और Editorial अनुभाग देखें।