Pelajaran ini akan merangkumi cara menjalankan contoh kod dari kursus ini.
Sebelum anda mula mengklon repositori anda, sertai saluran Discord AI Agents For Beginners untuk mendapatkan sebarang bantuan mengenai persediaan, sebarang soalan tentang kursus ini, atau untuk berhubung dengan pelajar lain.
Untuk memulakan, sila klon atau fork Repositori GitHub. Ini akan menghasilkan versi anda sendiri dari bahan kursus supaya anda boleh menjalankan, menguji, dan menyuntik kod!
Ini boleh dilakukan dengan mengklik pautan ke fork repo
Anda kini harus mempunyai versi forked kursus ini di pautan berikut:

Repositori penuh boleh menjadi besar (~3 GB) apabila anda memuat turun sejarah penuh dan semua fail. Jika anda hanya menghadiri bengkel atau hanya memerlukan beberapa folder pelajaran, klon cetek (atau klon jarang) mengelakkan sebahagian besar muat turun itu dengan memendekkan sejarah dan/atau melangkau blobs.
Gantikan <your-username> dalam arahan di bawah dengan URL fork anda (atau URL upstream jika anda suka).
Untuk mengklon hanya sejarah komit terkini (muat turun kecil):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
Untuk mengklon cawangan tertentu:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
Ini menggunakan klon sebahagian dan sparse-checkout (memerlukan Git 2.25+ dan disyorkan Git moden dengan sokongan klon sebahagian):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
Masuk ke dalam folder repo:
cd ai-agents-for-beginners
Kemudian nyatakan folder yang anda mahu (contoh di bawah menunjukkan dua folder):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
Selepas mengklon dan mengesahkan fail, jika anda hanya memerlukan fail dan mahu membebaskan ruang (tiada sejarah git), sila padam metadata repositori (πtidak boleh dibalikkan β anda akan kehilangan semua fungsi Git: tiada komit, tarik, tolak, atau akses sejarah).
# zsh/bash
rm -rf .git
# PowerShell
Remove-Item -Recurse -Force .git
Buat Codespace baru untuk repo ini melalui GitHub UI.
Kursus ini menawarkan siri Jupyter Notebooks yang anda boleh jalankan untuk mendapatkan pengalaman langsung membina Agen AI.
Contoh kod menggunakan Microsoft Agent Framework (MAF) dengan FoundryChatClient, yang berhubung ke Microsoft Foundry Agent Service V2 (API Respons) melalui Microsoft Foundry.
Semua notebook Python dilabel *-python-agent-framework.ipynb.
NOTA: Jika anda belum memasang Python3.12, pastikan anda memasangnya. Kemudian buat venv anda menggunakan python3.12 untuk memastikan versi yang betul dipasang dari fail requirements.txt.
Contoh
Buat direktori venv Python:
python -m venv venv
Kemudian aktifkan persekitaran venv untuk:
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+: Untuk kod contoh yang menggunakan .NET, pastikan anda memasang .NET 10 SDK atau lebih baru. Kemudian, semak versi SDK .NET yang dipasang:
dotnet --list-sdks
gpt-5-mini). Lihat Langkah 1 di bawah.Kami telah menyertakan fail requirements.txt di akar repositori ini yang mengandungi semua pakej Python yang diperlukan untuk menjalankan contoh kod.
Anda boleh memasangnya dengan menjalankan arahan berikut di terminal anda di akar repositori:
pip install -r requirements.txt
Kami mengesyorkan membuat persekitaran maya Python untuk mengelakkan sebarang konflik dan masalah.
Pastikan anda menggunakan versi Python yang betul dalam VSCode.
Anda memerlukan hub Microsoft Foundry dan projek dengan model yang telah dikerahkan untuk menjalankan notebook.
gpt-5-mini) dari Models + Endpoints β Deploy model.Dari projek anda dalam portal Microsoft Foundry:

gpt-5-mini).az loginSemua notebook menggunakan AzureCliCredential untuk pengesahan β tiada kunci API untuk diuruskan. Ini memerlukan anda log masuk melalui Azure CLI.
Pasang Azure CLI jika belum: aka.ms/installazurecli
Log masuk dengan menjalankan:
az login
Atau jika anda berada dalam persekitaran jauh/Codespace tanpa pelayar:
az login --use-device-code
Pilih langganan anda jika diminta β pilih yang mengandungi projek Foundry anda.
Sahkan anda sudah log masuk:
az account show
Kenapa
az login? Notebook mengesahkan menggunakanAzureCliCredentialdari pakejazure-identity. Ini bermakna sesi Azure CLI anda menyediakan kelayakan β tiada kunci API atau rahsia dalam fail.envanda. Ini adalah amalan keselamatan terbaik.
.env AndaSalin fail contoh:
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
Buka .env dan isikan 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
| Pembolehubah | Tempat jumpainya |
|---|---|
AZURE_AI_PROJECT_ENDPOINT |
Portal Foundry β projek anda β halaman Overview |
AZURE_AI_MODEL_DEPLOYMENT_NAME |
Portal Foundry β Models + Endpoints β nama model yang dikerahkan |
Itu sahaja untuk kebanyakan pelajaran! Notebook akan mengesahkan secara automatik melalui sesi az login anda.
pip install -r requirements.txt
Kami mengesyorkan menjalankan ini dalam persekitaran maya yang anda cipta sebelum ini.
Pelajaran 5 menggunakan Azure AI Search untuk penjanaan yang dipertingkatkan pengambilan. Jika anda merancang menjalankan pelajaran itu, tambah pembolehubah ini ke fail .env anda:
| Pembolehubah | Tempat jumpainya |
|---|---|
AZURE_SEARCH_SERVICE_ENDPOINT |
Portal Azure β sumber Azure AI Search anda β Overview β URL |
AZURE_SEARCH_API_KEY |
Portal Azure β sumber Azure AI Search anda β Settings β Keys β kunci pentadbir utama |
Sesetengah notebook dalam pelajaran 6 dan 8 memanggil Azure OpenAI secara langsung (menggunakan Responses API) dan tidak melalui projek Microsoft Foundry. Contoh ini dahulunya menggunakan Models GitHub, yang sudah usang (akan dimansuhkan Julai 2026) dan tidak menyokong Responses API. Jika anda mahu menjalankan contoh tersebut, tambahkan pembolehubah ini ke fail .env anda:
| Pembolehubah | Tempat jumpainya |
|---|---|
AZURE_OPENAI_ENDPOINT |
Portal Azure β sumber Azure OpenAI anda β Keys and Endpoint β Endpoint (contoh https://<your-resource>.openai.azure.com) |
AZURE_OPENAI_DEPLOYMENT |
Nama model yang anda kerahkan (contoh gpt-5-mini) yang menyokong Responses API |
AZURE_OPENAI_API_KEY |
Pilihan β hanya jika anda menggunakan pengesahan berasaskan kunci dan bukan az login / Entra ID |
Responses API menggunakan endpoint stabil
/openai/v1/, jadi tiadaapi-versiondiperlukan. Log masuk denganaz loginuntuk menggunakan pengesahan Entra ID tanpa kunci.
MiniMax menyediakan model konteks besar (hingga 204K token) melalui API serasi OpenAI. Oleh kerana OpenAIChatClient Microsoft Agent Framework berfungsi dengan sebarang endpoint serasi OpenAI, anda boleh menggunakan MiniMax sebagai alternatif gantian kepada Azure OpenAI atau OpenAI.
Tambah pembolehubah ini ke fail .env anda:
| Pembolehubah | Tempat jumpainya |
|---|---|
MINIMAX_API_KEY |
Platform MiniMax β Kunci API |
MINIMAX_BASE_URL |
Gunakan https://api.minimax.io/v1 (nilai default) |
MINIMAX_MODEL_ID |
Nama model untuk digunakan (contohnya, MiniMax-M3) |
Model contoh: MiniMax-M3 (disyorkan), MiniMax-M2.7, MiniMax-M2.7-highspeed (respons lebih pantas). Nama model dan ketersediaan boleh berubah dari masa ke masa, dan akses kepada model tertentu mungkin bergantung pada akaun atau rantau anda β periksa Platform MiniMax untuk senarai semasa. Jika MiniMax-M3 tidak tersedia kepada akaun anda, tetapkan MINIMAX_MODEL_ID ke model yang anda ada akses (contoh MiniMax-M2.7).
Contoh kod yang menggunakan OpenAIChatClient (contohnya, aliran kerja tempahan hotel Pelajaran 14) akan secara automatik mengesan dan menggunakan konfigurasi MiniMax anda apabila MINIMAX_API_KEY diset.
Foundry Local adalah runtime ringan yang memuat turun, mengurus, dan menyediakan model bahasa sepenuhnya di mesin anda sendiri melalui API serasi OpenAI β tiada awan, tiada langganan Azure, dan tiada kunci API. Ia adalah pilihan hebat untuk pembangunan luar talian, eksperimen tanpa kos awan, atau menyimpan data di peranti.
Oleh kerana OpenAIChatClient Microsoft Agent Framework berfungsi dengan sebarang endpoint serasi OpenAI, Foundry Local adalah alternatif tempatan gantian kepada Azure OpenAI.
1. Pasang Foundry Local
# Windows
winget install Microsoft.FoundryLocal
# macOS
brew install foundrylocal
2. Muat turun dan jalankan model (ini juga memulakan perkhidmatan tempatan):
foundry model list # lihat model yang tersedia
foundry model run phi-4-mini
3. Pasang SDK Python yang digunakan untuk mencari endpoint tempatan:
pip install foundry-local-sdk
4. Tunjukkan Microsoft Agent Framework ke model tempatan anda:
from foundry_local import FoundryLocalManager
from agent_framework.openai import OpenAIChatClient
# Memuat turun (jika perlu) dan menyediakan model secara tempatan, kemudian mengesan titik akhir/port.
manager = FoundryLocalManager("phi-4-mini")
chat_client = OpenAIChatClient(
base_url=manager.endpoint, # contohnya http://localhost:<port>/v1
api_key=manager.api_key, # sentiasa "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.",
)
Nota: Foundry Local mendedahkan endpoint Chat Completions serasi OpenAI. Gunakannya untuk pembangunan tempatan dan senario luar talian. Untuk set ciri penuh Responses API (perbualan berstatus, orkestrasi alatan mendalam, dan pembangunan gaya agen), sasarkan Azure OpenAI atau projek Microsoft Foundry seperti yang ditunjukkan dalam pelajaran. Lihat dokumentasi Foundry Local untuk katalog model dan sokongan platform semasa.
Buku kerja aliran kerja bersyarat dalam pelajaran 8 menggunakan penyambungan Bing melalui Microsoft Foundry. Jika anda merancang untuk menjalankan contoh tersebut, tambahkan pembolehubah ini ke dalam fail .env anda:
| Pembolehubah | Lokasi untuk mencarinya |
|---|---|
BING_CONNECTION_ID |
Portal Microsoft Foundry β projek anda β Management β Connected resources β sambungan Bing anda β salin ID sambungan |
Jika anda menggunakan macOS dan mengalami ralat seperti:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
Ini adalah isu yang diketahui dengan Python pada macOS di mana sijil SSL sistem tidak dipercayai secara automatik. Cuba penyelesaian berikut mengikut urutan:
Pilihan 1: Jalankan skrip Pasang Sijil Python (disyorkan)
# Gantikan 3.XX dengan versi Python yang anda pasang (contoh, 3.12 atau 3.13):
/Applications/Python\ 3.XX/Install\ Certificates.command
Pilihan 2: Gunakan connection_verify=False dalam buku kerja anda (hanya untuk buku kerja Model GitHub)
Dalam buku kerja Pelajaran 6 (06-building-trustworthy-agents/code_samples/06-system-message-framework.ipynb), terdapat penyelesaian yang telah dikomen. Buka komen connection_verify=False semasa membuat klien:
client = ChatCompletionsClient(
endpoint=endpoint,
credential=AzureKeyCredential(token),
connection_verify=False, # Nyahaktifkan pengesahan SSL jika anda menghadapi ralat sijil
)
β οΈ Amaran: Mematikan pengesahan SSL (
connection_verify=False) mengurangkan keselamatan dengan melangkau pengesahan sijil. Gunakan ini hanya sebagai penyelesaian sementara dalam persekitaran pembangunan, jangan sekali-kali dalam produksi.
Pilihan 3: Pasang dan gunakan truststore
pip install truststore
Kemudian tambahkan yang berikut di bahagian atas buku kerja atau skrip anda sebelum membuat sebarang panggilan rangkaian:
import truststore
truststore.inject_into_ssl()
Jika anda mengalami masalah menjalankan persediaan ini, sertai Azure AI Community Discord kami atau cipta isu.
Anda kini sudah bersedia untuk menjalankan kod untuk kursus ini. Selamat belajar lebih lanjut mengenai dunia Ejen AI!
Pengenalan kepada Ejen AI dan Kes Penggunaan Ejen
Penafian: Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan oleh manusia profesional adalah disyorkan. Kami tidak bertanggungjawab terhadap sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.