Pelajaran ini akan membahas cara menjalankan contoh kode dari kursus ini.
Sebelum Anda mulai mengkloning repo Anda, bergabunglah dengan saluran Discord AI Agents For Beginners untuk mendapatkan bantuan dengan pengaturan, pertanyaan tentang kursus, atau untuk berhubungan dengan pelajar lain.
Untuk memulai, silakan kloning atau fork Repository GitHub. Ini akan membuat versi Anda sendiri dari materi kursus sehingga Anda dapat menjalankan, menguji, dan mengubah kode!
Ini dapat dilakukan dengan mengklik tautan untuk fork repo
Sekarang Anda harus memiliki versi fork Anda sendiri dari kursus ini pada tautan berikut:

Repositori lengkap bisa sangat besar (~3 GB) saat Anda mengunduh riwayat penuh dan semua file. Jika Anda hanya mengikuti lokakarya atau hanya memerlukan beberapa folder pelajaran, kloning dangkal (atau sparse clone) mengunduh jauh lebih sedikit.
Ganti <your-username> dalam perintah di bawah dengan URL fork Anda (atau URL upstream jika Anda mau).
Untuk mengkloning hanya riwayat commit terbaru (unduhan kecil):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
Untuk mengkloning cabang tertentu:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
Ini menggunakan kloning parsial dan sparse-checkout (memerlukan Git 2.25+ dan disarankan Git modern dengan dukungan kloning parsial):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
Masuk ke folder repo:
cd ai-agents-for-beginners
Kemudian tentukan folder mana yang Anda inginkan (contoh di bawah menunjukkan dua folder):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
Setelah mengkloning dan memverifikasi file, jika Anda hanya membutuhkan file dan ingin mengosongkan ruang (tanpa riwayat git), silakan hapus metadata repositori (πtidak dapat dipulihkan β Anda akan kehilangan semua fungsi Git):
# zsh/bash
rm -rf .git
# PowerShell
Remove-Item -Recurse -Force .git
Buat Codespace baru untuk repo ini melalui GitHub UI.
Kursus ini menawarkan serangkaian Jupyter Notebooks yang dapat Anda jalankan untuk mendapatkan pengalaman langsung membangun AI Agents.
Contoh kode menggunakan Microsoft Agent Framework (MAF) dengan FoundryChatClient, yang terhubung ke Microsoft Foundry Agent Service V2 (API Respons) melalui Microsoft Foundry.
Semua notebook Python berlabel *-python-agent-framework.ipynb.
CATATAN: Jika Anda belum menginstal Python3.12, pastikan Anda menginstalnya. Kemudian buat venv Anda menggunakan python3.12 untuk memastikan versi yang benar diinstal dari file requirements.txt.
Contoh
Buat direktori venv Python:
python -m venv venv
Kemudian aktifkan lingkungan venv untuk:
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+: Untuk kode sampel yang menggunakan .NET, pastikan Anda menginstal .NET 10 SDK atau yang lebih baru. Kemudian, periksa versi SDK .NET yang terinstal:
dotnet --list-sdks
gpt-5-mini). Lihat Langkah 1 di bawah.Kami telah menyertakan file requirements.txt di root repositori ini yang berisi semua paket Python yang diperlukan untuk menjalankan contoh kode.
Anda dapat menginstalnya dengan menjalankan perintah berikut di terminal Anda pada root repositori:
pip install -r requirements.txt
Kami menyarankan membuat lingkungan virtual Python untuk menghindari konflik dan masalah apapun.
Pastikan Anda menggunakan versi Python yang tepat di VSCode.
Anda memerlukan hub dan proyek Microsoft Foundry dengan model yang sudah dideploy untuk menjalankan notebook.
gpt-5-mini) dari Models + Endpoints β Deploy model.Dari proyek Anda di portal Microsoft Foundry:

gpt-5-mini).az loginKebanyakan notebook mengotentikasi melalui Azure CLI sign-in Anda β menggunakan AzureCliCredential atau DefaultAzureCredential (keduanya mengambil sesi az login Anda) dari paket azure-identity β jadi tidak memerlukan kunci API. Beberapa pelajaran dan integrasi opsional menggunakan kunci API; periksa prasyarat setiap pelajaran untuk variabel lingkungan tambahan. Ini mengharuskan Anda masuk melalui Azure CLI.
Instal Azure CLI jika belum: aka.ms/installazurecli
Masuk dengan menjalankan:
az login
Atau jika Anda berada di lingkungan remote/Codespace tanpa browser:
az login --use-device-code
Pilih langganan Anda jika diminta β pilih yang berisi proyek Foundry Anda.
Verifikasi bahwa Anda sudah masuk:
az account show
Mengapa
az login? Notebook mengautentikasi menggunakanAzureCliCredential(atauDefaultAzureCredential, yang juga mengambil sign-in Azure CLI Anda) dari paketazure-identity. Ini berarti sesi Azure CLI Anda menyediakan kredensial β tidak perlu kunci API atau rahasia di file.envAnda. Ini adalah praktik keamanan terbaik.
.env AndaSalin file contoh:
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
Buka .env dan isi dua nilai ini:
AZURE_AI_PROJECT_ENDPOINT=https://<your-project>.services.ai.azure.com/api/projects/<your-project-id>
AZURE_AI_MODEL_DEPLOYMENT_NAME=gpt-5-mini
| Variabel | Tempat menemukannya |
|---|---|
AZURE_AI_PROJECT_ENDPOINT |
Portal Foundry β proyek Anda β halaman Overview |
AZURE_AI_MODEL_DEPLOYMENT_NAME |
Portal Foundry β Models + Endpoints β nama model yang dideploy |
Itu saja untuk sebagian besar pelajaran! Notebook akan otomatis mengotentikasi melalui sesi az login Anda.
pip install -r requirements.txt
Kami sarankan menjalankan ini di dalam lingkungan virtual yang Anda buat sebelumnya.
Notebook Pelajaran 5 (Agentic RAG) dan Pelajaran 16 dapat langsung dijalankan dengan basis pengetahuan dalam memori β tidak perlu sumber daya Azure tambahan. Jika Anda ingin menggunakan Azure AI Search sungguhan, perhatikan bahwa notebook Pelajaran 16 saat ini menggunakan otentikasi berbasis kunci: ia beralih dari pencarian dalam memori ke Azure AI Search hanya ketika kedua AZURE_SEARCH_SERVICE_ENDPOINT dan AZURE_SEARCH_API_KEY diatur, jika tidak tetap menggunakan pencarian dalam memori β jadi untuk menjalankannya dengan indeks nyata Anda harus menetapkan kunci admin juga. Otentikasi tanpa kunci dengan Microsoft Entra ID (RBAC) adalah pendekatan yang disarankan untuk kode produksi Anda sendiri, sesuai dengan alur az login yang digunakan di seluruh kursus ini.
Langkah-langkah RBAC di bawah berlaku untuk contoh panduan pengaturan dan kode Anda sendiri. Mereka tidak mengaktifkan otentikasi tanpa kunci di notebook Pelajaran 16; Pelajaran 16 tetap memerlukan endpoint dan kunci admin untuk menggunakan Azure AI Search.
Aktifkan akses berbasis peran pada layanan pencarian Anda:
az search service update --name <service-name> --resource-group <resource-group> --auth-options aadOrApiKey
Beri diri Anda peran yang diperlukan (membuat/memuat indeks dan query):
az role assignment create --assignee <your-user-or-principal-id> --role "Search Service Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
az role assignment create --assignee <your-user-or-principal-id> --role "Search Index Data Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
Tambahkan endpoint ke file .env Anda:
| Variabel | Tempat menemukannya |
|---|---|
AZURE_SEARCH_SERVICE_ENDPOINT |
Portal Azure β sumber daya Azure AI Search Anda β Overview β URL |
AZURE_SEARCH_API_KEY |
Diperlukan (bersama endpoint) untuk mengaktifkan Azure AI Search di notebook Pelajaran 16, yang menggunakan otentikasi berbasis kunci. Portal Azure β Settings β Keys β kunci admin utama |
Mengapa tanpa kunci? Kunci admin memberi akses tulis penuh ke layanan pencarian Anda dan bisa bocor lewat file
.env. Dengan RBAC, identitasaz loginAnda digunakan sebagai gantinya β pola Entra ID tanpa kunci yang sama yang digunakan notebook kursus (melaluiAzureCliCredential/DefaultAzureCredential). Lihat Sambungkan ke Azure AI Search menggunakan peran.
Lihat panduan pengaturan Azure AI Search untuk contoh lengkap pembuatan indeks dalam Python dan .NET.
Beberapa notebook di pelajaran 6 dan 8 memanggil Azure OpenAI secara langsung (menggunakan Responses API) tanpa melalui proyek Microsoft Foundry. Contoh ini sebelumnya menggunakan GitHub Models, yang sudah usang dan tidak mendukung Responses API. Tambahkan variabel ini ke file .env Anda:
| Variabel | Tempat menemukannya |
|---|---|
AZURE_OPENAI_ENDPOINT |
Portal Azure β sumber daya Azure OpenAI Anda β Keys and Endpoint β Endpoint (misal https://<your-resource>.openai.azure.com) |
AZURE_OPENAI_DEPLOYMENT |
Nama model yang Anda deploy (misal gpt-5-mini) yang mendukung Responses API |
AZURE_OPENAI_API_KEY |
Opsional β hanya jika Anda menggunakan otentikasi berbasis kunci bukan az login / Entra ID |
Responses API menggunakan endpoint stabil
/openai/v1/, jadi tidak perluapi-version. Masuk denganaz loginuntuk memakai otentikasi Entra ID tanpa kunci.
MiniMax menyediakan model konteks besar (hingga 204K token) melalui API kompatibel OpenAI. Karena Microsoft Agent Framework OpenAIChatClient bekerja dengan endpoint kompatibel OpenAI apa pun, Anda dapat menggunakan MiniMax sebagai pengganti langsung untuk pelajaran yang menggunakan OpenAIChatClient.
Tambahkan variabel ini ke file .env Anda:
| Variabel | Tempat menemukannya |
|---|---|
MINIMAX_API_KEY |
MiniMax Platform β API Keys |
MINIMAX_BASE_URL |
Gunakan https://api.minimax.io/v1 (nilai default) |
MINIMAX_MODEL_ID |
Nama model yang akan digunakan (misal MiniMax-M3) |
Contoh model: MiniMax-M3 (disarankan), MiniMax-M2.7, MiniMax-M2.7-highspeed (respon lebih cepat). Nama dan ketersediaan model dapat berubah seiring waktu, dan akses ke model tertentu mungkin bergantung pada akun Anda.
Contoh kode yang menggunakan OpenAIChatClient (misalnya workflow pemesanan hotel Pelajaran 14) akan otomatis mendeteksi dan menggunakan konfigurasi MiniMax Anda saat MINIMAX_API_KEY diatur.
Novita AI menyediakan API kompatibel OpenAI untuk LLM sumber terbuka dan frontier (DeepSeek, Llama, Qwen, dan lainnya). Karena OpenAIChatClient di Microsoft Agent Framework bekerja dengan endpoint apa pun yang kompatibel dengan OpenAI, Anda dapat menggunakan Novita AI sebagai alternatif langsung untuk Azure OpenAI atau OpenAI.
Tambahkan variabel ini ke file .env Anda:
| Variabel | Tempat menemukannya |
|---|---|
NOVITA_API_KEY |
Novita AI Dashboard β API Keys |
NOVITA_BASE_URL |
Gunakan https://api.novita.ai/openai/v1 (nilai default) |
NOVITA_MODEL_ID |
Nama model yang digunakan (misal, moonshotai/kimi-k3) |
Contoh model: moonshotai/kimi-k3, zai-org/glm-5.2, deepseek/deepseek-v4-flash-0731. Novita AI juga menyelenggarakan banyak keluarga model sumber terbuka lain (Llama, Qwen, GLM, dan lainnya) β cek perpustakaan model Novita AI untuk daftar model yang tersedia saat ini beserta ID modelnya.
Contoh saat ini tidak secara otomatis menggunakan variabel NOVITA_*. Untuk menggunakan Novita AI, berikan nilai ini secara eksplisit ketika membuat OpenAIChatClient di contoh yang sedang Anda jalankan.
Foundry Local adalah runtime ringan yang mengunduh, mengelola, dan menyajikan model bahasa sepenuhnya di mesin Anda sendiri melalui API kompatibel OpenAI β tanpa perlu cloud.
Karena OpenAIChatClient di Microsoft Agent Framework bekerja dengan endpoint kompatibel OpenAI apa pun, Foundry Local adalah alternatif lokal langsung untuk Azure OpenAI.
1. Instal Foundry Local
# Windows
winget install Microsoft.FoundryLocal
# macOS
brew install foundrylocal
2. Unduh dan jalankan model (ini juga memulai layanan lokal):
foundry model list # lihat model yang tersedia
foundry model run phi-4-mini
3. Instal SDK Python yang digunakan untuk mencari endpoint lokal:
pip install foundry-local-sdk
4. Arahkan Microsoft Agent Framework ke model lokal Anda:
from foundry_local import FoundryLocalManager
from agent_framework.openai import OpenAIChatClient
# Mengunduh (jika diperlukan) dan melayani model secara lokal, kemudian menemukan endpoint/port.
manager = FoundryLocalManager("phi-4-mini")
chat_client = OpenAIChatClient(
base_url=manager.endpoint, # misalnya http://localhost:<port>/v1
api_key=manager.api_key, # selalu "tidak-diperlukan" untuk Foundry Local
model_id=manager.get_model_info("phi-4-mini").id,
)
agent = chat_client.as_agent(
name="LocalAgent",
instructions="You are a helpful assistant running fully on-device.",
)
Catatan: Foundry Local menyediakan endpoint Chat Completions yang kompatibel dengan OpenAI. Gunakan untuk pengembangan lokal dan skenario offline. Untuk fitur lengkap dari Responses API (percakapan stateful, dll.), gunakan Azure OpenAI atau proyek Microsoft Foundry.
Notebook alur kerja kondisional di pelajaran 8 menggunakan Bing grounding melalui Microsoft Foundry. Jika Anda berencana menjalankan contoh itu, tambahkan variabel ini ke file .env Anda:
| Variabel | Tempat menemukannya |
|---|---|
BING_CONNECTION_ID |
Portal Microsoft Foundry β proyek Anda β Management β Connected resources β koneksi Bing Anda β salin ID koneksi |
Jika Anda menggunakan macOS dan mengalami kesalahan seperti:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
Ini adalah masalah dikenal dengan Python di macOS di mana sertifikat SSL sistem tidak otomatis dipercaya. Cobalah solusi berikut secara berurutan:
Opsi 1: Jalankan skrip Install Certificates Python (direkomendasikan)
# Ganti 3.XX dengan versi Python yang Anda instal (misalnya, 3.12 atau 3.13):
/Applications/Python\ 3.XX/Install\ Certificates.command
Opsi 2: Gunakan connection_verify=False di notebook Anda (hanya untuk notebook GitHub Models)
Dalam notebook Pelajaran 6 (06-building-trustworthy-agents/code_samples/06-system-message-framework.ipynb), sudah ada solusi yang dikomentari. Buka komentar connection_verify=False saat Anda mengalami kesalahan sertifikat:
client = ChatCompletionsClient(
endpoint=endpoint,
credential=AzureKeyCredential(token),
connection_verify=False, # Nonaktifkan verifikasi SSL jika Anda mengalami kesalahan sertifikat
)
β οΈ Peringatan: Menonaktifkan verifikasi SSL (
connection_verify=False) mengurangi keamanan dengan melewati validasi sertifikat. Gunakan ini hanya sebagai solusi sementara dalam lingkungan pengembangan. Jangan pernah gunakan di produksi.
Opsi 3: Instal dan gunakan truststore
pip install truststore
Kemudian tambahkan kode berikut di atas notebook atau skrip Anda sebelum melakukan panggilan jaringan apapun:
import truststore
truststore.inject_into_ssl()
Jika Anda mengalami masalah menjalankan pengaturan ini, bergabunglah ke Azure AI Community Discord atau buat isu.
Anda sekarang siap menjalankan kode untuk kursus ini. Selamat belajar lebih banyak tentang dunia AI Agents!
Pengenalan AI Agents dan Kasus Penggunaan Agen
Penafian: Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk mencapai akurasi, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.