Arsitektur referensi obrolan Dasar Azure AI Foundry
Artikel ini menyediakan arsitektur dasar untuk membantu Anda mempelajari cara menjalankan aplikasi obrolan dengan menggunakan model bahasa Azure AI Foundry dan Azure OpenAI. Arsitektur ini mencakup antarmuka pengguna klien (UI) yang berjalan di Azure App Service. Untuk mengambil data grounding untuk model bahasa, UI menggunakan agen Azure AI untuk mengatur alur kerja dari permintaan masuk ke penyimpanan data. Arsitektur ini dirancang untuk beroperasi dari satu wilayah.
Penting
Arsitektur ini bukan untuk aplikasi produksi. Ini adalah arsitektur pengantar untuk tujuan pembelajaran dan bukti konsep (POC). Saat Anda merancang aplikasi obrolan perusahaan produksi, gunakan arsitektur referensi obrolan Baseline AI Foundry, yang menambahkan keputusan desain produksi ke arsitektur dasar ini.
Penting
Contoh implementasi mendukung panduan ini. Ini termasuk langkah-langkah penyebaran untuk implementasi obrolan end-to-end dasar. Anda dapat menggunakan implementasi ini sebagai fondasi bagi POC Anda untuk bekerja dengan aplikasi obrolan yang menggunakan agen Azure AI Foundry.
Arsitektur
Unduh file Visio dari arsitektur ini.
Alur kerja
Alur kerja berikut ini sesuai dengan diagram sebelumnya:
Pengguna aplikasi berinteraksi dengan aplikasi web yang berisi fungsionalitas obrolan. Mereka mengeluarkan permintaan HTTPS ke domain default App Service di
azurewebsites.net
. Domain ini secara otomatis menunjuk ke alamat IP publik bawaan App Service. Koneksi Keamanan Lapisan Transportasi dibuat dari klien langsung ke App Service. Azure sepenuhnya mengelola sertifikat.Fitur App Service bernama Easy Auth memastikan bahwa pengguna yang mengakses situs web diautentikasi melalui ID Microsoft Entra.
Kode aplikasi yang disebarkan ke App Service menangani permintaan dan merender UI obrolan untuk pengguna aplikasi. Kode UI obrolan terhubung ke API yang juga dihosting dalam instans App Service yang sama. Kode API tersambung ke agen Azure AI di Azure AI Foundry dengan menggunakan Azure AI Persistent Agents SDK.
Azure AI Foundry Agent Service tersambung ke Azure AI Search untuk mengambil data grounding untuk kueri. Data grounding ditambahkan ke perintah yang dikirim ke model Azure OpenAI di langkah berikutnya.
Foundry Agent Service terhubung ke model Azure OpenAI yang disebarkan di Azure AI Foundry dan mengirim perintah yang menyertakan data grounding dan konteks obrolan yang relevan.
Application Insights mencatat informasi tentang permintaan asli ke App Service dan interaksi agen panggilan.
Komponen
Banyak komponen arsitektur ini sama dengan arsitektur aplikasi web App Service dasar karena antarmuka pengguna obrolan didasarkan pada arsitektur tersebut. Bagian ini menyoroti layanan data, komponen yang dapat Anda gunakan untuk membangun dan mengatur alur obrolan, dan layanan yang mengekspos model bahasa.
Azure AI Foundry adalah platform yang Anda gunakan untuk membangun, menguji, dan menyebarkan solusi dan model AI sebagai layanan (MaaS). Arsitektur ini menggunakan Azure AI Foundry untuk menyebarkan model Azure OpenAI.
Proyek Azure AI Foundry membuat koneksi ke sumber data, menentukan agen, dan memanggil model yang disebarkan, termasuk model Azure OpenAI. Arsitektur ini hanya memiliki satu proyek Azure AI Foundry dalam akun Azure AI Foundry.
Foundry Agent Service adalah kemampuan yang dihosting di Azure AI Foundry. Pengembang menggunakan layanan ini untuk menentukan dan menghosting agen untuk menangani permintaan obrolan. Ini mengelola utas obrolan, mengatur panggilan alat, memberlakukan keamanan konten, dan terintegrasi dengan sistem identitas, jaringan, dan pengamatan. Dalam arsitektur ini, Foundry Agent Service mengatur alur yang mengambil data grounding dari instans Pencarian AI dan meneruskannya bersama dengan permintaan ke model Azure OpenAI yang disebarkan.
Agen yang ditentukan dalam Foundry Agent Service tanpa kode dan secara efektif tidak deterministik. Permintaan sistem Anda, dikombinasikan dengan
temperature
parameter dantop_p
, menentukan bagaimana agen berperilaku untuk permintaan.Model Azure AI Foundry memungkinkan Anda menyebarkan model unggulan, termasuk model OpenAI, dari katalog Azure AI di lingkungan yang dihosting Microsoft. Pendekatan ini dianggap sebagai penyebaran MaaS. Arsitektur ini menyebarkan model dengan menggunakan konfigurasi Standar Global dengan kuota tetap.
AI Search adalah layanan pencarian cloud yang mendukungpencarian teks lengkap, pencarian semantik , pencarian vektor , dan pencarian hibrid . Arsitektur ini mencakup Pencarian AI karena umumnya digunakan dalam orkestrasi di belakang aplikasi obrolan. Anda dapat menggunakan Pencarian AI untuk mengambil data terindeks yang relevan untuk kueri pengguna aplikasi. AI Search berfungsi sebagai penyimpanan pengetahuan untuk pola Retrieval Augmented Generation . Pola ini mengekstrak kueri yang sesuai dari perintah, mengkueri Pencarian AI, dan menggunakan hasilnya sebagai data grounding untuk model Azure OpenAI.
Pertimbangan
Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat Anda gunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.
Arsitektur dasar ini tidak ditujukan untuk penyebaran produksi. Arsitektur ini mendukung kesederhanaan dan efisiensi biaya atas fungsionalitas sehingga Anda dapat mempelajari cara membangun aplikasi obrolan end-to-end dengan menggunakan Azure AI Foundry dan Azure OpenAI. Bagian berikut menguraikan kekurangan arsitektur dasar ini dan menjelaskan rekomendasi dan pertimbangan.
Keandalan
Keandalan membantu memastikan bahwa aplikasi Anda dapat memenuhi komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keandalan.
Daftar berikut menguraikan fitur keandalan penting yang dihilangkan arsitektur ini:
Arsitektur ini menggunakan tingkat App Service Basic, yang tidak memiliki dukungan zona ketersediaan Azure . Instans App Service menjadi tidak tersedia jika ada masalah dengan instans, rak, atau pusat data yang menghosting instans. Saat Anda beralih ke produksi, ikuti panduan keandalan untuk instans App Service.
Arsitektur ini tidak mengaktifkan penskalaan otomatis untuk UI klien. Untuk mencegah masalah keandalan karena sumber daya komputasi yang tidak efisien, sumber daya provisi berlebih untuk selalu berjalan dengan komputasi yang cukup untuk menangani kapasitas bersamaan maksimum.
Arsitektur ini menyebarkan Foundry Agent Service sebagai solusi yang sepenuhnya dihosting Microsoft. Dalam konfigurasi ini, Microsoft menghosting database Azure Cosmos DB, kontainer akun Azure Storage, dan indeks Pencarian AI atas nama Anda. Langganan Anda tidak menampilkan sumber daya dependen ini. Anda tidak memiliki kontrol atas keandalan Foundry Agent Service atau dependensinya. Anda dapat memperoleh kontrol atas dependensi ini untuk melakukan tindakan seperti menerapkan kelangsungan bisnis dan strategi pemulihan bencana. Untuk panduan tentang membawa dependensi Anda sendiri, lihat arsitektur garis besar.
Nota
Instans Pencarian AI di bagian komponen dan diagram berbeda dari instans yang merupakan dependensi dari Foundry Agent Service. Instans di bagian komponen menyimpan data grounding Anda. Dependensi melakukan potongan file real time yang diunggah dalam sesi obrolan.
Untuk arsitektur dasar yang menargetkan
Global Standard
pembelajaran, Anda dapat menggunakan jenis penyebaran model. Saat Anda beralih ke produksi, Anda harus memiliki gagasan yang lebih baik tentang persyaratan throughput dan residensi data Anda. Setelah Anda memahami persyaratan throughput Anda, pertimbangkan untuk menggunakan throughput yangData Zone Provisioned
disediakan dengan memilih jenis atauGlobal Provisioned
penyebaran. Jika Anda memiliki persyaratan residensi data, pilihData Zone Provisioned
jenis penyebaran.Arsitektur ini menggunakan tingkat AI Search Basic, yang tidak mendukung zona ketersediaan Azure. Untuk mencapai redundansi zona, sebarkan tingkat harga AI Search Standard atau yang lebih tinggi di wilayah yang mendukung zona ketersediaan, dan sebarkan tiga replika atau lebih.
Untuk informasi selengkapnya, lihat Arsitektur referensi obrolan Baseline AI Foundry.
Keamanan
Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keamanan.
Bagian ini menjelaskan rekomendasi utama yang diterapkan arsitektur ini. Rekomendasi ini mencakup pemfilteran konten dan pemantauan penyalahgunaan, manajemen identitas dan akses, dan kontrol akses berbasis peran. Arsitektur ini tidak dirancang untuk penyebaran produksi, jadi bagian ini juga mencakup keamanan jaringan. Keamanan jaringan adalah fitur keamanan utama yang tidak diterapkan arsitektur ini.
Pemfilteran konten dan pemantauan penyalahgunaan
Azure AI Foundry menyertakan sistem pemfilteran konten yang menggunakan kombinasi model klasifikasi. Pemfilteran ini mendeteksi dan memblokir kategori tertentu dari konten yang berpotensi berbahaya dalam perintah input dan penyelesaian output. Konten yang berpotensi berbahaya ini mencakup kebencian, konten seksual, menyakiti diri sendiri, kekerasan, kata-kata kocek, dan jailbreak (konten yang dirancang untuk melewati pembatasan model bahasa) kategori. Anda dapat mengonfigurasi ketat pemfilteran untuk setiap kategori dengan menggunakan opsi rendah, sedang, atau tinggi. Arsitektur referensi ini menggunakan DefaultV2
filter konten saat menyebarkan model. Anda dapat menyesuaikan pengaturan sesuai dengan kebutuhan Anda.
Manajemen identitas dan akses
Panduan berikut meluas pada panduan manajemen identitas dan akses dalam arsitektur garis besar App Service. UI obrolan menggunakan identitas terkelolanya untuk mengautentikasi kode API UI obrolan ke Foundry Agent Service dengan menggunakan Azure AI Persistent Agents SDK.
Proyek Azure AI Foundry juga memiliki identitas terkelola. Identitas ini mengautentikasi ke layanan seperti Pencarian AI melalui definisi koneksi. Proyek ini membuat koneksi tersebut tersedia untuk Foundry Agent Service.
Akun Azure AI Foundry dapat berisi beberapa proyek Azure AI Foundry. Setiap proyek harus menggunakan identitas terkelola yang ditetapkan sistemnya sendiri. Jika komponen beban kerja yang berbeda memerlukan akses terisolasi ke sumber data yang terhubung, buat proyek Azure AI Foundry terpisah dalam akun yang sama dan hindari berbagi koneksi di seluruhnya. Jika beban kerja Anda tidak memerlukan isolasi, gunakan satu proyek.
Peran akses berbasis peran
Anda bertanggung jawab untuk membuat penetapan peran yang diperlukan untuk identitas terkelola yang ditetapkan sistem. Tabel berikut ini meringkas penetapan peran yang harus Anda tambahkan ke App Service, proyek Azure AI Foundry, dan individu yang menggunakan portal:
Sumber Daya | Peranan | Ruang Lingkup |
---|---|---|
Layanan Aplikasi | Pengguna Azure AI | Akun Azure AI Foundry |
Proyek Azure AI Foundry | Pembaca Data Indeks Pencarian | Pencarian AI |
Pengguna portal (untuk setiap individu) | Pengembang Azure AI | Akun Azure AI Foundry |
Keamanan jaringan
Untuk menyederhanakan pengalaman pembelajaran untuk membangun solusi obrolan end-to-end, arsitektur ini tidak menerapkan keamanan jaringan. Ini menggunakan identitas sebagai perimeternya dan menggunakan konstruksi cloud publik. Layanan seperti Pencarian AI, Azure AI Foundry, dan App Service dapat dijangkau dari internet. Pengaturan ini meningkatkan permukaan serangan arsitektur.
Arsitektur ini juga tidak membatasi lalu lintas keluar. Misalnya, agen dapat dikonfigurasi untuk terhubung ke titik akhir publik apa pun berdasarkan spesifikasi OpenAPI titik akhir. Jadi penyelundupan data dasar privat tidak dapat dicegah melalui kontrol jaringan.
Untuk informasi selengkapnya tentang keamanan jaringan sebagai perimeter tambahan dalam arsitektur Anda, lihat Jaringan.
Pembela
Untuk arsitektur dasar ini, Anda tidak perlu mengaktifkan paket perlindungan beban kerja cloud Pertahanan Microsoft untuk layanan apa pun. Saat Anda pindah ke produksi, ikuti panduan keamanan dalam arsitektur dasar untuk Pertahanan Microsoft, yang menggunakan beberapa paket untuk mencakup beban kerja Anda.
Tata kelola melalui kebijakan
Arsitektur ini tidak menerapkan tata kelola melalui Azure Policy. Saat Anda beralih ke produksi, ikuti rekomendasi tata kelola dalam arsitektur dasar. Rekomendasi tersebut menambahkan Azure Policy di seluruh komponen beban kerja Anda.
Pengoptimalan Biaya
Pengoptimalan Biaya berfokus pada cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk optimalisasi biaya.
Arsitektur dasar ini tidak mewakili biaya untuk solusi siap produksi. Ini juga tidak termasuk kontrol untuk menjaga terhadap overrun biaya. Pertimbangan berikut menguraikan fitur penting yang tidak disertakan oleh arsitektur ini. Fitur-fitur ini memengaruhi biaya.
Arsitektur ini mengasumsikan bahwa model Azure OpenAI yang disebarkan menerima panggilan terbatas. Jadi kami sarankan Anda menggunakan
Global Standard
jenis penyebaran untuk harga bayar sesuai pemakaian, bukan jenis penyebaran throughput yang disediakan. Saat Anda beralih ke solusi produksi, ikuti panduan pengoptimalan biaya dalam arsitektur garis besar.Foundry Agent Service dikenakan biaya untuk file yang diunggah selama interaksi obrolan. Jangan membuat fungsionalitas pengunggahan file tersedia untuk pengguna aplikasi jika bukan bagian dari pengalaman pengguna yang diinginkan. Koneksi pengetahuan ekstra, seperti alat Grounding dengan Bing, memiliki struktur harga mereka sendiri.
Foundry Agent Service adalah solusi tanpa kode, yang berarti Anda tidak dapat mengontrol alat atau sumber pengetahuan yang dipanggil setiap permintaan secara deterministik. Dalam pemodelan biaya Anda, asumsikan penggunaan maksimum setiap koneksi.
Arsitektur ini menggunakan tingkat harga App Service Basic pada satu instans, yang tidak memberikan perlindungan dari pemadaman zona ketersediaan. Arsitektur App Service dasar merekomendasikan agar Anda menggunakan paket Premium yang memiliki tiga instans pekerja atau lebih untuk ketersediaan tinggi. Pendekatan ini memengaruhi biaya Anda.
Arsitektur ini menggunakan tingkat harga AI Search Basic tanpa replika tambahan. Topologi ini tidak dapat menahan kegagalan zona ketersediaan Azure. Arsitektur obrolan end-to-end garis besar merekomendasikan agar Anda menyebarkan beban kerja dengan tingkat harga Standar atau lebih tinggi dan menyebarkan tiga replika atau lebih. Pendekatan ini dapat memengaruhi biaya Anda saat Anda beralih ke produksi.
Arsitektur ini tidak mencakup tata kelola biaya atau kontrol penahanan. Pastikan Anda menjaga dari proses atau penggunaan yang tidak terlampir yang mungkin dikenakan biaya tinggi untuk layanan bayar sesuai penggunaan seperti model yang disebarkan di Azure AI Foundry.
Keunggulan Operasi
Keunggulan Operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Keunggulan Operasional.
Pemantauan
Arsitektur ini mengonfigurasi diagnostik untuk semua layanan. Semua layanan kecuali App Service dan log pengambilan Azure AI Foundry. App Service menangkap AppServiceHTTPLogs
, , AppServiceConsoleLogs
AppServiceAppLogs
, dan AppServicePlatformLogs
. Azure AI Foundry menangkap RequestResponse
. Selama fase POC, Anda harus memahami log dan metrik mana yang tersedia untuk koleksi. Saat Anda pindah ke produksi, hapus sumber log yang tidak menambah nilai dan hanya buat kebisingan dan biaya untuk sink log beban kerja Anda.
Untuk menggunakan kemampuan pemantauan di Azure AI Foundry, sambungkan sumber daya Application Insights ke proyek Azure AI Foundry Anda.
Integrasi ini memungkinkan pemantauan data berikut:
- Pemantauan penggunaan token secara real time, termasuk permintaan, penyelesaian, dan total token
- Telemetri respons permintaan terperinci, termasuk latensi, pengecualian, dan kualitas respons
Anda juga dapat melacak agen dengan menggunakan OpenTelemetry.
Operasi model
Arsitektur ini dioptimalkan untuk pembelajaran dan tidak ditujukan untuk penggunaan produksi, sehingga panduan operasional seperti GenAIOps berada di luar cakupan. Saat Anda beralih ke produksi, ikuti panduan model Azure AI Foundry.
Pengembangan
Untuk arsitektur dasar, Anda dapat membuat agen dengan menggunakan pengalaman berbasis browser di portal Azure AI Foundry. Saat Anda beralih ke produksi, ikuti panduan pengembangan dan kontrol sumber dalam arsitektur garis besar. Ketika Anda tidak lagi memerlukan agen, pastikan untuk menghapusnya. Jika agen yang Anda hapus adalah agen terakhir yang menggunakan koneksi, hapus juga koneksi.
Evaluasi
Anda dapat mengevaluasi aplikasi generatif Anda di Azure AI Foundry. Sebaiknya Anda mempelajari cara menggunakan evaluator untuk mengevaluasi aplikasi AI generatif Anda. Praktik ini membantu memastikan bahwa model yang Anda pilih memenuhi persyaratan desain pelanggan dan beban kerja.
Efisiensi Performa
Efisiensi Performa mengacu pada kemampuan beban kerja Anda untuk menskalakan untuk memenuhi tuntutan pengguna secara efisien. Untuk informasi selengkapnya, lihat Daftar periksa tinjauan desain untuk Efisiensi Kinerja.
Arsitektur ini tidak dirancang untuk penyebaran produksi, sehingga menghilangkan fitur efisiensi performa penting:
Hasil POC Anda akan membantu Anda memilih produk App Service yang tepat untuk beban kerja Anda. Rancang beban kerja Anda untuk memenuhi permintaan secara efisien melalui penskalakan horizontal. Anda dapat menggunakan penskalaan horizontal untuk menyesuaikan jumlah instans komputasi dalam paket App Service. Jangan merancang sistem yang mengharuskan Anda mengubah produk komputasi agar selaras dengan permintaan.
Arsitektur ini menggunakan model konsumsi atau bayar sesuai penggunaan untuk sebagian besar komponen. Model konsumsi adalah model upaya terbaik dan mungkin memperkenalkan masalah tetangga yang berisik atau stresor lain di platform. Tentukan apakah aplikasi Anda memerlukan throughput yang disediakan saat Anda beralih ke produksi. Throughput yang disediakan membantu mencadangkan kapasitas pemrosesan untuk penyebaran model Azure OpenAI Anda. Kapasitas yang dipesan memberikan performa dan throughput yang dapat diprediksi untuk model Anda.
Rekomendasi desain lainnya
Arsitek harus merancang AI dan beban kerja pembelajaran mesin, seperti yang ini, dengan ingat beban kerja AI kerangka kerja Well-Architected pada panduan desain Azure. Saat Anda beralih dari ideasi dan POC ke dalam desain, gabungkan wawasan dari arsitektur khusus ini dengan AI yang lebih luas dan praktik terbaik pembelajaran mesin dalam kerangka kerja Well-Architected.
Menyebarkan skenario ini
Sebarkan implementasi referensi yang menerapkan rekomendasi dan pertimbangan ini.