Makmal Bengkel AI: Membuat Penyelesaian AI Anda Boleh Digunakan dengan AZD-Deployable
March 31, 2026 ยท View on GitHub
Navigasi Bab:
- ๐ Halaman Kursus: AZD Untuk Pemula
- ๐ Bab Semasa: Bab 2 - Pembangunan AI-Pertama
- โฌ ๏ธ Sebelumnya: Penghasilan Model AI
- โก๏ธ Seterusnya: Amalan Terbaik AI Pengeluaran
- ๐ Bab Seterusnya: Bab 3: Konfigurasi
Gambaran Keseluruhan Bengkel
Makmal praktikal ini membimbing pembangun melalui proses mengambil templat AI sedia ada dan menghasilkannya menggunakan Azure Developer CLI (AZD). Anda akan mempelajari corak penting untuk penghasilan AI produksi menggunakan perkhidmatan Microsoft Foundry.
Nota Pengesahan (2026-03-25): Bengkel ini telah disemak berasaskan
azd1.23.12. Jika pemasangan tempatan anda lebih lama, kemaskini AZD sebelum memulakan supaya aliran kerja pengesahan, templat dan penghasilan sepadan dengan langkah di bawah.
Tempoh: 2-3 jam
Tahap: Pertengahan
Prasyarat: Pengetahuan asas Azure, kefahaman konsep AI/ML
๐ Objektif Pembelajaran
Menjelang akhir bengkel ini, anda akan dapat:
- โ Menukar aplikasi AI sedia ada untuk menggunakan templat AZD
- โ Mengkonfigurasi perkhidmatan Microsoft Foundry dengan AZD
- โ Melaksanakan pengurusan kelayakan yang selamat untuk perkhidmatan AI
- โ Menghasilkan aplikasi AI bersiap produksi dengan pemantauan
- โ Menyelesaikan masalah biasa penghasilan AI
Prasyarat
Alat Diperlukan
- Azure Developer CLI dipasang
- Azure CLI dipasang
- Git dipasang
- Penyunting kod (disyorkan VS Code)
Sumber Azure
- Langganan Azure dengan akses penyumbang
- Akses kepada perkhidmatan Microsoft Foundry Models (atau keupayaan untuk memohon akses)
- Kebenaran mencipta kumpulan sumber
Pengetahuan Prasyarat
- Kefahaman asas perkhidmatan Azure
- Kefahaman antara muka baris perintah
- Konsep asas AI/ML (API, model, prompt)
Penyediaan Makmal
Langkah 1: Persediaan Persekitaran
- Sahkan pemasangan alat:
# Semak pemasangan AZD
azd version
# Semak Azure CLI
az --version
# Log masuk ke Azure untuk aliran kerja AZD
azd auth login
# Log masuk ke Azure CLI hanya jika anda merancang untuk menjalankan arahan az semasa diagnostik
az login
Jika anda bekerja merentasi berbilang tenant atau langganan anda tidak dikesan secara automatik, cuba semula dengan azd auth login --tenant-id <tenant-id>.
- Klona repositori bengkel:
git clone https://github.com/Azure-Samples/azure-search-openai-demo
cd azure-search-openai-demo
Modul 1: Memahami Struktur AZD untuk Aplikasi AI
Anatomi Templat AZD AI
Terokai fail utama dalam templat AZD sedia AI:
azure-search-openai-demo/
โโโ azure.yaml # AZD configuration
โโโ infra/ # Infrastructure as Code
โ โโโ main.bicep # Main infrastructure template
โ โโโ main.parameters.json # Environment parameters
โ โโโ modules/ # Reusable Bicep modules
โ โโโ openai.bicep # Microsoft Foundry Models configuration
โ โโโ search.bicep # Cognitive Search setup
โ โโโ webapp.bicep # Web app configuration
โโโ app/ # Application code
โโโ scripts/ # Deployment scripts
โโโ .azure/ # AZD environment files
Latihan Makmal 1.1: Teroka Konfigurasi
- Periksa fail azure.yaml:
cat azure.yaml
Apa yang perlu diperhatikan:
- Definisi perkhidmatan untuk komponen AI
- Pemetaan pembolehubah persekitaran
- Konfigurasi hos
- Semak infrastruktur main.bicep:
cat infra/main.bicep
Corak AI utama untuk dikenal pasti:
- Penyediaan perkhidmatan Microsoft Foundry Models
- Integrasi Cognitive Search
- Pengurusan kunci yang selamat
- Konfigurasi keselamatan rangkaian
Perbincangan: Mengapa Corak Ini Penting untuk AI
- Kebergantungan Perkhidmatan: Aplikasi AI sering memerlukan pelbagai perkhidmatan yang dikordinasi
- Keselamatan: Kunci API dan titik akhir memerlukan pengurusan selamat
- Kebolehsuaian: Beban kerja AI mempunyai keperluan skala unik
- Pengurusan Kos: Perkhidmatan AI boleh mahal jika tidak dikonfigurasi dengan betul
Modul 2: Hasilkan Aplikasi AI Pertama Anda
Langkah 2.1: Mulakan Persekitaran
- Cipta persekitaran AZD baru:
azd env new myai-workshop
- Tetapkan parameter diperlukan:
# Tetapkan wilayah Azure pilihan anda
azd env set AZURE_LOCATION eastus
# Pilihan: Tetapkan model OpenAI tertentu
azd env set AZURE_OPENAI_MODEL gpt-4.1-mini
Langkah 2.2: Hasilkan Infrastruktur dan Aplikasi
- Hasilkan dengan AZD:
azd up
Apa yang berlaku semasa azd up:
- โ Menyediakan perkhidmatan Microsoft Foundry Models
- โ Mencipta perkhidmatan Cognitive Search
- โ Menyediakan App Service untuk aplikasi web
- โ Mengkonfigurasi rangkaian dan keselamatan
- โ Menghasilkan kod aplikasi
- โ Menyediakan pemantauan dan log
- Pantau kemajuan penghasilan dan catat sumber yang sedang dibuat.
Langkah 2.3: Sahkan Penghasilan Anda
- Semak sumber yang dihasilkan:
azd show
- Buka aplikasi yang dihasilkan:
azd show
Buka titik akhir web yang dipaparkan dalam output azd show.
- Uji fungsi AI:
- Layari aplikasi web
- Cuba pertanyaan contoh
- Sahkan respons AI berfungsi
Latihan Makmal 2.1: Latihan Penyelesaian Masalah
Senario: Penghasilan anda berjaya tetapi AI tidak memberi respons.
Isu biasa untuk disemak:
- Kunci API OpenAI: Sahkan telah ditetapkan dengan betul
- Ketersediaan model: Semak jika rantau anda menyokong model tersebut
- Sambungan rangkaian: Pastikan perkhidmatan boleh berkomunikasi
- Kebenaran RBAC: Sahkan aplikasi boleh akses OpenAI
Perintah debugging:
# Semak pembolehubah persekitaran
azd env get-values
# Lihat log penghantaran
az webapp log tail --name YOUR_APP_NAME --resource-group YOUR_RG
# Semak status penghantaran OpenAI
az cognitiveservices account deployment list --name YOUR_OPENAI_NAME --resource-group YOUR_RG
Modul 3: Menyesuaikan Aplikasi AI Untuk Keperluan Anda
Langkah 3.1: Ubahsuai Konfigurasi AI
- Kemas kini model OpenAI:
# Tukar kepada model yang lain (jika ada di kawasan anda)
azd env set AZURE_OPENAI_MODEL gpt-4.1
# Pasang semula dengan konfigurasi baru
azd deploy
- Tambah perkhidmatan AI tambahan:
Sunting infra/main.bicep untuk tambah Document Intelligence:
// Add to main.bicep
resource documentIntelligence 'Microsoft.CognitiveServices/accounts@2023-05-01' = {
name: 'doc-intel-${uniqueString(resourceGroup().id)}'
location: location
kind: 'FormRecognizer'
sku: {
name: 'F0' // Free tier for workshop
}
properties: {
customSubDomainName: 'doc-intel-${uniqueString(resourceGroup().id)}'
}
}
Langkah 3.2: Konfigurasi Spesifik Persekitaran
Amalan Terbaik: Konfigurasi berbeza untuk pembangunan vs pengeluaran.
- Cipta persekitaran produksi:
azd env new myai-production
- Tetapkan parameter khusus produksi:
# Pengeluaran biasanya menggunakan SKU yang lebih tinggi
azd env set AZURE_OPENAI_SKU S0
azd env set AZURE_SEARCH_SKU standard
# Aktifkan ciri keselamatan tambahan
azd env set ENABLE_PRIVATE_ENDPOINTS true
Latihan Makmal 3.1: Pengoptimuman Kos
Cabaran: Konfigurasi templat untuk pembangunan kos efektif.
Tugas:
- Kenal pasti SKU mana boleh ditetapkan ke tier percuma/asas
- Konfigurasi pembolehubah persekitaran untuk kos minimum
- Hasilkan dan bandingkan kos dengan konfigurasi produksi
Petunjuk penyelesaian:
- Gunakan tier F0 (percuma) untuk Perkhidmatan Kognitif apabila boleh
- Gunakan tier Asas untuk Perkhidmatan Carian dalam pembangunan
- Pertimbangkan menggunakan pelan Consumption untuk Fungsi
Modul 4: Keselamatan dan Amalan Terbaik Pengeluaran
Langkah 4.1: Pengurusan Kelayakan Selamat
Cabaran semasa: Banyak aplikasi AI menyimpan kunci API secara terus atau menggunakan simpanan tidak selamat.
Penyelesaian AZD: Identiti Terurus + integrasi Key Vault.
- Semak konfigurasi keselamatan dalam templat anda:
# Cari konfigurasi Key Vault dan Identiti Terurus
grep -r "keyVault\|managedIdentity" infra/
- Sahkan Identiti Terurus berfungsi:
# Semak jika aplikasi web mempunyai konfigurasi identiti yang betul
az webapp identity show --name YOUR_APP_NAME --resource-group YOUR_RG
Langkah 4.2: Keselamatan Rangkaian
- Aktifkan endpoint persendirian (jika belum dikonfigurasi):
Tambah ke templat bicep anda:
// Private endpoint for OpenAI
resource openAIPrivateEndpoint 'Microsoft.Network/privateEndpoints@2023-04-01' = {
name: 'pe-openai-${uniqueString(resourceGroup().id)}'
location: location
properties: {
subnet: {
id: vnet.properties.subnets[0].id
}
privateLinkServiceConnections: [
{
name: 'openai-connection'
properties: {
privateLinkServiceId: openAIAccount.id
groupIds: ['account']
}
}
]
}
}
Langkah 4.3: Pemantauan dan Kebolehlihatan
- Konfigurasi Application Insights:
# Application Insights harus dikonfigurasikan secara automatik
# Semak konfigurasi:
az monitor app-insights component show --app YOUR_APP_NAME --resource-group YOUR_RG
- Sediakan pemantauan khusus AI:
Tambah metrik tersuai untuk operasi AI:
// In your web app configuration
resource webApp 'Microsoft.Web/sites@2023-01-01' = {
properties: {
siteConfig: {
appSettings: [
{
name: 'APPLICATIONINSIGHTS_CONNECTION_STRING'
value: applicationInsights.properties.ConnectionString
}
{
name: 'OPENAI_MONITOR_ENABLED'
value: 'true'
}
]
}
}
}
Latihan Makmal 4.1: Audit Keselamatan
Tugas: Semak penghasilan anda untuk amalan keselamatan terbaik.
Senarai semak:
- Tiada rahsia tersemat dalam kod atau konfigurasi
- Identiti Terurus digunakan untuk pengesahan perkhidmatan-ke-perkhidmatan
- Key Vault menyimpan konfigurasi sensitif
- Akses rangkaian dikawal dengan betul
- Pemantauan dan perekodan diaktifkan
Modul 5: Menukar Aplikasi AI Anda Sendiri
Langkah 5.1: Lembaran Penilaian
Sebelum menukar aplikasi anda, jawab soalan ini:
-
Seni Bina Aplikasi:
- Perkhidmatan AI apa yang aplikasi anda gunakan?
- Sumber pengkomputeran apa yang diperlukan?
- Adakah ia memerlukan pangkalan data?
- Apakah pergantungan antara perkhidmatan?
-
Keperluan Keselamatan:
- Data sensitif apa yang dikendalikan aplikasi anda?
- Apakah keperluan pematuhan anda?
- Adakah anda perlukan rangkaian persendirian?
-
Keperluan Pengskalaan:
- Berapakah beban yang dijangkakan?
- Adakah anda perlukan auto-scaling?
- Adakah terdapat keperluan rantau?
Langkah 5.2: Cipta Templat AZD Anda
Ikuti corak ini untuk menukar aplikasi anda:
- Bina struktur asas:
mkdir my-ai-app-azd
cd my-ai-app-azd
# Mulakan templat AZD
azd init --template minimal
- Cipta azure.yaml:
# Metadata
name: my-ai-app
metadata:
template: my-ai-app-template@0.0.1-beta
# Services definition
services:
api:
project: ./api
host: containerapp
web:
project: ./web
host: staticwebapp
# Hooks for custom deployment logic
hooks:
predeploy:
shell: sh
run: echo "Preparing AI models..."
- Cipta templat infrastruktur:
infra/main.bicep - Templat utama:
@description('Primary location for all resources')
param location string = resourceGroup().location
@description('Name of the OpenAI service')
param openAIServiceName string = 'openai-${uniqueString(resourceGroup().id)}'
// Your AI services here
module openAI 'modules/openai.bicep' = {
name: 'openai'
params: {
name: openAIServiceName
location: location
}
}
infra/modules/openai.bicep - Modul OpenAI:
@description('Name of the OpenAI service')
param name string
@description('Location for the OpenAI service')
param location string
resource openAIAccount 'Microsoft.CognitiveServices/accounts@2023-05-01' = {
name: name
location: location
kind: 'OpenAI'
sku: {
name: 'S0'
}
properties: {
customSubDomainName: name
}
}
output endpoint string = openAIAccount.properties.endpoint
output name string = openAIAccount.name
Latihan Makmal 5.1: Cabaran Ciptaan Templat
Cabaran: Cipta templat AZD untuk aplikasi pemprosesan dokumen AI.
Keperluan:
- Microsoft Foundry Models untuk analisis kandungan
- Document Intelligence untuk OCR
- Akaun Penyimpanan untuk muat naik dokumen
- Fungsi App untuk logik pemprosesan
- Aplikasi web untuk antara muka pengguna
Mata bonus:
- Tambah pengendalian ralat yang betul
- Sertakan anggaran kos
- Sediakan papan pemuka pemantauan
Modul 6: Menyelesaikan Masalah Biasa
Masalah Penghasilan Biasa
Isu 1: Kuota Perkhidmatan OpenAI Melebihi
Gejala: Penghasilan gagal dengan ralat kuota
Penyelesaian:
# Semak kuota semasa
az cognitiveservices usage list --location eastus
# Mohon kenaikan kuota atau cuba wilayah berbeza
azd env set AZURE_LOCATION westus2
azd up
Isu 2: Model Tidak Tersedia di Rantau
Gejala: Respons AI gagal atau ralat penghasilan model
Penyelesaian:
# Semak ketersediaan model mengikut wilayah
az cognitiveservices model list --location eastus
# Kemas kini kepada model yang tersedia
azd env set AZURE_OPENAI_MODEL gpt-4.1-mini
azd deploy
Isu 3: Masalah Kebenaran
Gejala: Ralat 403 Forbidden apabila memanggil perkhidmatan AI
Penyelesaian:
# Semak tugasan peranan
az role assignment list --scope /subscriptions/YOUR_SUB/resourceGroups/YOUR_RG
# Tambah peranan yang hilang
az role assignment create \
--assignee YOUR_PRINCIPAL_ID \
--role "Cognitive Services OpenAI User" \
--scope /subscriptions/YOUR_SUB/resourceGroups/YOUR_RG
Masalah Prestasi
Isu 4: Respons AI Lambat
Langkah penyiasatan:
- Semak Application Insights untuk metrik prestasi
- Semak metrik perkhidmatan OpenAI dalam portal Azure
- Pastikan sambungan rangkaian dan latensi
Penyelesaian:
- Laksanakan caching untuk pertanyaan biasa
- Gunakan model OpenAI sesuai untuk kes penggunaan anda
- Pertimbangkan replikasi baca untuk senario beban tinggi
Latihan Makmal 6.1: Cabaran Debugging
Senario: Penghasilan berjaya, tetapi aplikasi memberi ralat 500.
Tugas debugging:
- Semak log aplikasi
- Sahkan sambungan perkhidmatan
- Uji pengesahan
- Semak konfigurasi
Alat untuk digunakan:
azd showuntuk gambaran keseluruhan penghasilan- Portal Azure untuk log perkhidmatan terperinci
- Application Insights untuk telemetri aplikasi
Modul 7: Pemantauan dan Pengoptimuman
Langkah 7.1: Sediakan Pemantauan Komprehensif
- Cipta papan pemuka tersuai:
Navigasi ke portal Azure dan cipta papan pemuka dengan:
- Kiraan permintaan dan latensi OpenAI
- Kadar ralat aplikasi
- Penggunaan sumber
- Penjejakan kos
- Sediakan amaran:
# Amaran untuk kadar ralat tinggi
az monitor metrics alert create \
--name "AI-App-High-Error-Rate" \
--resource-group YOUR_RG \
--target-resource-id YOUR_APP_ID \
--condition "avg Http5xx greater than 10" \
--description "Alert when error rate is high"
Langkah 7.2: Pengoptimuman Kos
- Analisa kos semasa:
# Gunakan Azure CLI untuk mendapatkan data kos
az consumption usage list --start-date 2024-01-01 --end-date 2024-01-31
- Laksanakan kawalan kos:
- Sediakan amaran bajet
- Gunakan polisi autoscaling
- Laksanakan caching permintaan
- Pantau penggunaan token untuk OpenAI
Latihan Makmal 7.1: Pengoptimuman Prestasi
Tugas: Optimumkan aplikasi AI anda untuk prestasi dan kos.
Metrik untuk dipertingkatkan:
- Kurangkan masa respons purata sebanyak 20%
- Kurangkan kos bulanan sebanyak 15%
- Kekalkan uptime 99.9%
Strategi untuk cuba:
- Laksanakan caching respons
- Optimumkan prompt untuk kecekapan token
- Gunakan SKU pengkomputeran yang sesuai
- Sediakan autoscaling yang betul
Cabaran Akhir: Pelaksanaan Sepenuhnya
Senario Cabaran
Anda ditugaskan mencipta chatbot perkhidmatan pelanggan berkuasa AI bersiap produksi dengan keperluan berikut:
Keperluan Fungsi:
- Antara muka web untuk interaksi pelanggan
- Integrasi dengan Microsoft Foundry Models untuk respons
- Kebolehan carian dokumen menggunakan Cognitive Search
- Integrasi dengan pangkalan data pelanggan sedia ada
- Sokongan pelbagai bahasa
Keperluan Bukan Fungsi:
- Menangani 1000 pengguna serentak
- SLA uptime 99.9%
- Pematuhan SOC 2
- Kos di bawah $500/bulan
- Hasilkan ke berbilang persekitaran (dev, staging, prod)
Langkah Pelaksanaan
- Reka seni bina
- Cipta templat AZD
- Laksanakan langkah keselamatan
- Sediakan pemantauan dan amaran
- Cipta saluran penghasilan
- Dokumentasikan penyelesaian
Kriteria Penilaian
- โ Fungsi: Adakah memenuhi semua keperluan?
- โ Keselamatan: Adakah amalan terbaik dilaksanakan?
- โ Kebolehsuaian: Bolehkah menangani beban?
- โ Penyelenggaraan: Adakah kod & infrastruktur tersusun?
- โ Kos: Adakah kekal dalam bajet?
Sumber Tambahan
Dokumentasi Microsoft
- Dokumentasi Azure Developer CLI
- Dokumentasi Perkhidmatan Microsoft Foundry Models
- Dokumentasi Microsoft Foundry
Templat Contoh
Sumber Komuniti
๐ Sijil Penyelesaian
Tahniah! Anda telah menamatkan Makmal Bengkel AI. Kini anda sepatutnya boleh:
- โ Menukar aplikasi AI sedia ada kepada templat AZD
- โ Melancarkan aplikasi AI sedia untuk pengeluaran
- โ Melaksanakan amalan terbaik keselamatan untuk beban kerja AI
- โ Memantau dan mengoptimumkan prestasi aplikasi AI
- โ Menyelesaikan isu biasa pelancaran
Langkah Seterusnya
- Guna corak ini dalam projek AI anda sendiri
- Sumbangkan semula templat kepada komuniti
- Sertai Microsoft Foundry Discord untuk sokongan berterusan
- Terokai topik lanjutan seperti pelancaran pelbagai rantau
Maklum Balas Bengkel: Bantu kami memperbaiki bengkel ini dengan berkongsi pengalaman anda di saluran Microsoft Foundry Discord #Azure.
Navigasi Bab:
- ๐ Laman Utama Kursus: AZD Untuk Pemula
- ๐ Bab Semasa: Bab 2 - Pembangunan AI-Pertama
- โฌ ๏ธ Sebelum: Pelancaran Model AI
- โก๏ธ Seterusnya: Amalan Terbaik AI Pengeluaran
- ๐ Bab Seterusnya: Bab 3: Konfigurasi
Perlukan Bantuan? Sertai komuniti kami untuk sokongan dan perbincangan mengenai AZD dan pelancaran AI.
Penafian: Dokumen ini telah diterjemahkan menggunakan perkhidmatan penterjemahan AI Co-op Translator. Walaupun kami berusaha untuk ketepatan, sila maklum bahawa terjemahan automatik mungkin mengandungi kesalahan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, penterjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau penafsiran yang salah yang timbul daripada penggunaan terjemahan ini.