Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial ini menunjukkan cara menambahkan kemampuan agenik ke aplikasi CRUD inti ASP.NET berbasis data yang ada. Ini dilakukan menggunakan dua pendekatan berbeda: Microsoft Agent Framework dan Foundry Agent Service.
Jika aplikasi web Anda sudah memiliki fitur yang berguna, seperti belanja, pemesanan hotel, atau manajemen data, relatif mudah untuk menambahkan fungsionalitas agen ke aplikasi web Anda dengan membungkus fungsionalitas tersebut sebagai alat (untuk Microsoft Agent Framework) atau sebagai titik akhir OpenAPI (untuk Foundry Agent Service). Dalam tutorial ini, Anda mulai dengan aplikasi daftar to-do sederhana. Pada akhirnya, Anda akan dapat membuat, memperbarui, dan mengelola tugas dengan agen di aplikasi App Service.
Microsoft Agent Framework dan Foundry Agent Service memungkinkan Anda membangun aplikasi web agenik dengan kemampuan berbasis AI. Tabel berikut menunjukkan beberapa pertimbangan dan kompromi:
| Consideration | Kerangka Kerja Agen Microsoft | Layanan Agen Pengecoran |
|---|---|---|
| Performance | Cepat (beroperasi secara lokal) | Lebih lambat (terkelola, layanan jarak jauh) |
| Development | Kode penuh, kontrol maksimum | Kode rendah, integrasi cepat |
| Testing | Pengujian manual/unit dalam kode | Taman bermain bawaan untuk pengujian cepat |
| Scalability | App-managed | Dikelola Azure, diskalakan otomatis |
| Pagar pembatas keamanan | Implementasi kustom diperlukan | Keamanan dan moderasi konten bawaan |
| Identitas | Implementasi kustom diperlukan | ID dan autentikasi agen bawaan |
| Enterprise | Integrasi kustom diperlukan | Penyebaran Microsoft 365/Teams bawaan dan panggilan alat terintegrasi Microsoft 365. |
Dalam tutorial ini, Anda akan belajar cara:
- Mengonversi fungsionalitas aplikasi yang ada menjadi alat untuk Microsoft Agent Framework.
- Tambahkan alat ke agen Microsoft Agent Framework dan gunakan di aplikasi web.
- Mengonversi fungsionalitas aplikasi yang ada menjadi titik akhir OpenAPI untuk Foundry Agent Service.
- Panggil agen Foundry di aplikasi web.
- Tetapkan izin yang diperlukan untuk konektivitas identitas terkelola.
Prerequisites
- Akun Azure dengan langganan aktif - Buat akun secara gratis.
- Akun GitHub untuk menggunakan GitHub Codespaces - Pelajari selengkapnya tentang GitHub Codespaces.
Buka sampel dengan Codespace
Cara term mudah untuk memulai adalah dengan menggunakan GitHub Codespaces, yang menyediakan lingkungan pengembangan lengkap dengan semua alat yang diperlukan yang telah diinstal sebelumnya.
Navigasikan ke repositori GitHub di https://github.com/Azure-Samples/app-service-agentic-semantic-kernel-ai-foundry-agent.
Pilih tombol Kode , pilih tab Codespaces , dan pilih Buat codespace di utama.
Tunggu beberapa saat agar Codespace Anda diinisialisasi. Setelah siap, Anda akan melihat lingkungan pengembangan yang dikonfigurasi sepenuhnya di browser Anda.
Jalankan aplikasi secara lokal:
dotnet runSaat Anda melihat Aplikasi Anda yang berjalan di port 5280 tersedia, pilih Buka di Browser dan tambahkan beberapa tugas.
Meninjau kode agen
Kedua pendekatan menggunakan pola implementasi yang sama, di mana agen diinisialisasi sebagai layanan (dalam Program.cs) dalam penyedia dan disuntikkan ke komponen Blazor masing-masing.
AgentFrameworkProvider diinisialisasi dalam Layanan/AgentFrameworkProvider.cs. Kode inisialisasi melakukan hal berikut:
- Membuat
IChatClientmenggunakanAzureOpenAIClientdari Azure OpenAI. - Mendapatkan instans
TaskCrudToolyang merangkum fungsionalitas aplikasi CRUD (di Alat/TaskCrudTool.cs). AtributDescriptionpada metode alat membantu agen menentukan cara memanggilnya. - Membuat agen AI menggunakan
CreateAIAgent()dengan instruksi serta alat yang telah terdaftar melaluiAIFunctionFactory.Create(). - Membuat thread bagi agen untuk mempertahankan percakapan selama navigasi.
// Create IChatClient
IChatClient chatClient = new AzureOpenAIClient(
new Uri(endpoint),
new DefaultAzureCredential())
.GetChatClient(deployment)
.AsIChatClient();
// Get TaskCrudTool instance from service provider
var taskCrudTool = sp.GetRequiredService<TaskCrudTool>();
// Create agent with tools
var agent = chatClient.CreateAIAgent(
instructions: @"You are an agent that manages tasks using CRUD operations.
Use the provided functions to create, read, update, and delete tasks.
Always call the appropriate function for any task management request.
Don't try to handle any requests that are not related to task management.
When handling requests, if you're missing any information, don't make it up but prompt the user for it instead.",
tools:
[
AIFunctionFactory.Create(taskCrudTool.CreateTaskAsync),
AIFunctionFactory.Create(taskCrudTool.ReadTasksAsync),
AIFunctionFactory.Create(taskCrudTool.UpdateTaskAsync),
AIFunctionFactory.Create(taskCrudTool.DeleteTaskAsync)
]);
// Create thread for this scoped instance (persists across navigation)
var thread = agent.GetNewThread();
return (agent, thread);
Setiap kali pengguna mengirim pesan, komponen Blazor (di Komponen/Halaman/AgentFrameworkAgent.razor) memanggil Agent.RunAsync() dengan masukan pengguna dan utas agen. Utas agen melacak riwayat obrolan.
var response = await this.Agent.RunAsync(sentInput, this.agentThread);
Menyebarkan aplikasi sampel
Repositori sampel berisi templat Azure Developer CLI (AZD), yang membuat aplikasi App Service dengan identitas terkelola dan menyebarkan aplikasi sampel Anda.
Di terminal, masuk ke Azure menggunakan Azure Developer CLI:
azd auth loginIkuti instruksi untuk menyelesaikan proses autentikasi.
Sebarkan aplikasi Azure App Service dengan templat AZD:
azd upSaat diminta, berikan jawaban berikut:
Question Answer Masukkan nama lingkungan baru: Ketik nama unik. Pilih Langganan Azure untuk digunakan: Pilih langganan. Pilih grup sumber daya yang akan digunakan: Pilih Buat grup sumber daya baru. Pilih lokasi untuk membuat grup sumber daya di: Pilih Swedia Tengah. Masukkan nama untuk grup sumber daya baru: Ketik Enter. Di output AZD, temukan URL aplikasi Anda dan navigasikan ke url tersebut di browser. URL tampak seperti ini dalam keluaran AZD:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <URL>
Pilih item skema OpenAPI untuk membuka skema OpenAPI yang dibuat secara otomatis di jalur default
/openapi/v1.json. Anda membutuhkan skema ini nanti.Setelah penyebaran berhasil, Anda akan melihat URL untuk aplikasi yang disebarkan.
Anda sekarang memiliki aplikasi App Service dengan identitas terkelola yang ditetapkan sistem.
Membuat dan mengonfigurasi sumber daya Microsoft Foundry
Di portal Foundry, pastikan tombol radio New Foundry teratas diatur ke aktif dan buat proyek.
Menyebarkan model yang Anda inginkan (lihat Mulai Cepat Microsoft Foundry: Buat sumber daya).
Dari atas taman bermain model, salin nama model.
Cara termudah untuk mendapatkan endpoint Azure OpenAI dapat dari portal klasik. Pilih tombol radio New Foundry , lalu Azure OpenAI, lalu salin URL di titik akhir Azure OpenAI untuk nanti.
Menetapkan izin yang diperlukan
Dari menu atas portal Foundry baru, pilih Operasikan, lalu pilih Admin. Di baris untuk proyek Foundry Anda, Anda akan melihat dua tautan. Yang ada di kolom Nama adalah sumber daya proyek Foundry, dan yang ada di kolom Sumber daya induk adalah sumber daya Foundry.
Pilih sumber daya Foundry di sumber daya Induk lalu pilih Kelola sumber daya ini di portal Microsoft Azure. Dari portal Microsoft Azure, Anda dapat menetapkan akses berbasis peran untuk sumber daya ke aplikasi web yang disebarkan.
Tambahkan peran berikut untuk identitas terkelola aplikasi App Service:
Sumber daya target Peran yang diperlukan Diperlukan untuk Pengecoran Pengguna Layanan Kognitif OpenAI Layanan penyelesaian obrolan di Microsoft Agent Framework. Untuk petunjuknya, lihat Menetapkan peran Azure menggunakan portal Microsoft Azure.
Mengonfigurasi variabel koneksi di aplikasi sampel Anda
Buka appsettings.json. Menggunakan nilai yang Anda salin sebelumnya dari portal Foundry, konfigurasikan variabel berikut:
Variable Description AzureOpenAIEndpointTitik akhir Azure OpenAI (disalin dari portal klasik Foundry). ModelDeploymentNama model dalam penyebaran (disalin dari taman bermain model di portal Foundry baru). Note
Agar tutorial tetap sederhana, Anda akan menggunakan variabel ini di appsettings.json alih-alih menimpanya dengan pengaturan aplikasi di App Service.
Note
Agar tutorial tetap sederhana, Anda akan menggunakan variabel ini di appsettings.json alih-alih menimpanya dengan pengaturan aplikasi di App Service.
Masuk ke Azure dengan Azure CLI:
az loginIni memungkinkan pustaka klien Azure Identity dalam kode sampel menerima token autentikasi untuk pengguna yang masuk. Ingatlah bahwa Anda menambahkan peran yang diperlukan untuk pengguna ini sebelumnya.
Jalankan aplikasi secara lokal:
dotnet runSaat Anda melihat Aplikasi Anda yang berjalan di port 5280 tersedia, pilih Buka di Browser.
Pilih tautan Agen Kerangka Kerja Agen Microsoft dan tautan Foundry Agent Service untuk mencoba antarmuka obrolan. Jika Anda mendapatkan respons, aplikasi Anda berhasil tersambung ke sumber daya Microsoft Foundry.
Kembali ke ruang kode GitHub, sebarkan perubahan aplikasi Anda.
azd upNavigasikan ke aplikasi yang disebarkan lagi dan uji agen obrolan.
Membersihkan sumber daya
Setelah selesai dengan aplikasi, Anda dapat menghapus sumber daya App Service untuk menghindari timbulnya biaya lebih lanjut:
azd down --purge
Karena templat AZD tidak menyertakan sumber daya Microsoft Foundry, Anda perlu menghapusnya secara manual jika diinginkan.