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 FastAPI CRUD berbasis data yang ada. Ini dilakukan menggunakan dua pendekatan berbeda: LangGraph 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 dalam plugin (untuk LangGraph) 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.
LangGraph dan Foundry Agent Service memungkinkan Anda membangun aplikasi web agenik dengan kemampuan berbasis AI. LangGraph mirip dengan Microsoft Agent Framework dan merupakan SDK. Tabel berikut menunjukkan beberapa pertimbangan dan kompromi:
| Pertimbangan | LangGraph atau Microsoft Agent Framework | Layanan Agen Pengecoran |
|---|---|---|
| Performance | Cepat (berjalan secara lokal) | Lebih lambat (terkelola, layanan jarak jauh) |
| Pengembangan | Kode penuh, kontrol maksimum | Kode rendah, integrasi cepat |
| Testing | Pengujian manual/unit pada kode | Taman bermain bawaan untuk pengujian cepat |
| Skalabilitas | Dikelola oleh aplikasi | 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:
- Konversikan fungsionalitas aplikasi yang ada menjadi plugin untuk LangGraph.
- Tambahkan plugin ke agen LangGraph 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.
Prasyarat
- 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-langgraph-foundry-python.
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:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt uvicorn src.app:app --host 0.0.0.0 --port 3000Saat Anda melihat Aplikasi Anda yang berjalan di port 3000 tersedia, pilih Buka di Browser dan tambahkan beberapa tugas.
Agen belum sepenuhnya dikonfigurasi sehingga belum berfungsi. Anda akan mengonfigurasinya nanti.
Meninjau kode agen
Kedua pendekatan menggunakan pola implementasi yang sama, di mana agen diinisialisasi pada aplikasi dimulai, dan merespons pesan pengguna berdasarkan permintaan POST.
LangGraphTaskAgent diinisialisasi oleh konstruktor di src/agents/langgraph_task_agent.py. Kode inisialisasi melakukan hal berikut:
- Mengonfigurasi klien AzureChatOpenAI menggunakan variabel lingkungan.
- Membuat agen ReAct bawaan dengan memori dan sekumpulan alat CRUD untuk manajemen tugas (lihat mulai cepat LangGraph).
# Initialize Azure OpenAI client
credential = DefaultAzureCredential()
azure_ad_token_provider = get_bearer_token_provider(
credential, "https://cognitiveservices.azure.com/.default"
)
self.llm = AzureChatOpenAI(
azure_endpoint=endpoint,
azure_deployment=deployment_name,
azure_ad_token_provider=azure_ad_token_provider,
api_version="2024-10-21"
)
# Define tools
tools = [
self._create_task_tool(),
self._get_tasks_tool(),
self._get_task_tool(),
self._update_task_tool(),
self._delete_task_tool()
]
# Create the agent
self.agent = create_react_agent(self.llm, tools, checkpointer=self.memory)
print("LangGraph Task Agent initialized successfully")
Saat memproses pesan pengguna, agen dipanggil menggunakan ainvoke() dengan pesan pengguna dan ID utas untuk kelangsungan percakapan:
result = await self.agent.ainvoke(
{"messages": [("user", message)]},
config=config
)
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:
Pertanyaan Jawaban 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 terlihat seperti ini dalam output AZD:
Deploying services (azd deploy) (✓) Done: Deploying service web - Endpoint: <URL>
Buka skema OpenAPI yang dibuat secara otomatis di path
https://....azurewebsites.net/openapi.json. Anda membutuhkan skema ini nanti.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 .env. Menggunakan nilai yang Anda salin sebelumnya dari portal Foundry, konfigurasikan variabel berikut:
Variable Description AZURE_OPENAI_ENDPOINTEndpoint Azure OpenAI (disalin dari portal Foundry klasik). AZURE_OPENAI_DEPLOYMENT_NAMENama model dalam penggelaran (disalin dari ruang percobaan model di portal Foundry yang baru). Nota
Agar tutorial ini tetap sederhana, Anda akan menggunakan variabel ini di .env alih-alih menggantinya dengan pengaturan aplikasi di App Service.
Nota
Agar tutorial ini tetap sederhana, Anda akan menggunakan variabel-variabel ini dalam .env alih-alih menggantinya 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:
npm run build npm startSaat Anda melihat Aplikasi Anda yang berjalan di port 3000 tersedia, pilih Buka di Browser.
Pilih tautan Agen LangGraph dan tautan Agen Foundry 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 upBuka kembali aplikasi yang telah di-deploy dan uji agen chat.
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.