บทเรียนนี้จะครอบคลุมวิธีการรันตัวอย่างโค้ดของหลักสูตรนี้
ก่อนที่คุณจะเริ่มโคลนรีโปของคุณ เข้าร่วม ช่อง Discord AI Agents For Beginners เพื่อขอความช่วยเหลือเกี่ยวกับการตั้งค่า คำถามใด ๆ เกี่ยวกับหลักสูตร หรือเพื่อเชื่อมต่อกับผู้เรียนคนอื่น ๆ
เพื่อเริ่มต้น กรุณาโคลนหรือฟอร์ก GitHub Repository นี้ จะทำให้คุณมีเวอร์ชันของเนื้อหาหลักสูตรนั้นเป็นของตัวเอง เพื่อให้คุณสามารถรัน ทดสอบ และปรับแต่งโค้ดได้!
คุณสามารถทำได้โดยคลิกที่ลิงก์ ฟอร์กรีโป
ตอนนี้คุณควรมีเวอร์ชันฟอร์กของหลักสูตรนี้อยู่ที่ลิงก์ต่อไปนี้:

รีโปเต็มอาจมีขนาดใหญ่ (~3 GB) เมื่อคุณดาวน์โหลดประวัติทั้งหมดและไฟล์ทั้งหมด หากคุณเข้าร่วมเฉพาะเวิร์กช็อปหรือเพียงแค่ต้องการโฟลเดอร์บทเรียนบางส่วน โคลนแบบตื้น ๆ (หรือโคลนแบบระยะห่าง) จะช่วยหลีกเลี่ยงการดาวน์โหลดส่วนใหญ่โดยการตัดประวัติหรือข้ามบล็อบบางส่วน
แทนที่ <your-username> ในคำสั่งด้านล่างด้วย URL ฟอร์กของคุณ (หรือ URL ต้นทางถ้าคุณต้องการ)
เพื่อโคลนเฉพาะประวัติการคอมมิตล่าสุด (ดาวน์โหลดขนาดเล็ก):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
เพื่อโคลนสาขาที่เฉพาะ:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
นี้ใช้โคลนบางส่วนและ sparse-checkout (ต้องใช้ Git 2.25+ และแนะนำให้ใช้ Git รุ่นใหม่ที่รองรับโคลนบางส่วน):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
เข้าไปยังโฟลเดอร์รีโป:
cd ai-agents-for-beginners
จากนั้นระบุว่าโฟลเดอร์ใดที่คุณต้องการ (ตัวอย่างด้านล่างแสดงสองโฟลเดอร์):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
หลังจากโคลนและตรวจสอบไฟล์แล้ว หากคุณต้องการเฉพาะไฟล์และต้องการเพิ่มพื้นที่ว่าง (ไม่มีประวัติ Git) กรุณาลบเมตาดาทารีโป (💀ไม่สามารถย้อนกลับ — คุณจะสูญเสียความสามารถ Git ทั้งหมด: ไม่มีคอมมิต, ดึง, ผลัก หรือเข้าถึงประวัติ)
# zsh/bash
rm -rf .git
# พาวเวอร์เชลล์
Remove-Item -Recurse -Force .git
สร้าง Codespace ใหม่สำหรับรีโปนี้ผ่าน GitHub UI
หลักสูตรนี้มีชุด Jupyter Notebooks เพื่อให้คุณได้ฝึกปฏิบัติสร้าง AI Agents
ตัวอย่างโค้ดใช้ Microsoft Agent Framework (MAF) กับ AzureAIProjectAgentProvider ซึ่งเชื่อมต่อกับ Azure AI Agent Service V2 (API Responses) ผ่าน Microsoft Foundry
โน้ตบุ๊ค Python ทั้งหมดจะมีป้ายชื่อ *-python-agent-framework.ipynb
หมายเหตุ: หากคุณยังไม่มี Python3.12 ติดตั้ง กรุณาติดตั้งก่อน จากนั้นสร้าง venv โดยใช้ python3.12 เพื่อให้แน่ใจว่าจะติดตั้งเวอร์ชันที่ถูกต้องจากไฟล์ requirements.txt
ตัวอย่าง
สร้างไดเรกทอรี Python venv:
python -m venv venv
จากนั้นเปิดใช้งานสภาพแวดล้อม venv สำหรับ:
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+: สำหรับตัวอย่างโค้ดที่ใช้ .NET ให้แน่ใจว่าคุณติดตั้ง .NET 10 SDK หรือเวอร์ชันใหม่กว่า จากนั้นตรวจสอบเวอร์ชัน .NET SDK ที่ติดตั้ง:
dotnet --list-sdks
gpt-4o) ดูที่ ขั้นตอนที่ 1 ข้างล่างเราได้รวมไฟล์ requirements.txt ไว้ที่โฟลเดอร์หลักของรีโปนี้ ซึ่งมีแพ็กเกจ Python ที่จำเป็นทั้งหมดสำหรับรันตัวอย่างโค้ด
คุณสามารถติดตั้งได้โดยรันคำสั่งต่อไปนี้ในเทอร์มินัลที่โฟลเดอร์หลักของรีโป:
pip install -r requirements.txt
เราแนะนำให้สร้างสภาพแวดล้อม Python แบบเสมือนเพื่อหลีกเลี่ยงข้อขัดแย้งหรือปัญหา
ตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชัน Python ที่ถูกต้องใน VSCode
คุณต้องมี Azure AI Foundry hub และ project พร้อมโมเดลที่ปรับใช้แล้วเพื่อรันโน้ตบุ๊ค
gpt-4o) จาก Models + Endpoints → Deploy modelจากโปรเจกต์ของคุณในพอร์ทัล Microsoft Foundry:

gpt-4o)az loginโน้ตบุ๊คทั้งหมดใช้ AzureCliCredential สำหรับการยืนยันตัวตน — ไม่มีคีย์ API ให้จัดการ ซึ่งต้องให้คุณลงชื่อผ่าน Azure CLI
ติดตั้ง Azure CLI หากยังไม่ติดตั้ง: aka.ms/installazurecli
ลงชื่อเข้าใช้ ด้วยคำสั่ง:
az login
หรือถ้าคุณอยู่ในสภาพแวดล้อมระยะไกล/Codespace ที่ไม่มีเบราว์เซอร์:
az login --use-device-code
เลือก subscription หากระบบถาม — เลือก subscription ที่มีโปรเจกต์ Foundry ของคุณ
ตรวจสอบ ว่าคุณลงชื่อเข้าใช้แล้ว:
az account show
ทำไมต้อง
az login? โน้ตบุ๊คจะยืนยันตัวตนด้วยAzureCliCredentialจากแพ็กเกจazure-identityหมายความว่าเซสชัน Azure CLI ของคุณจะจัดการข้อมูลรับรองโดยตรง — ไม่มีคีย์ API หรือความลับในไฟล์.envซึ่งเป็น แนวปฏิบัติด้านความปลอดภัยที่ดีที่สุด
.env ของคุณคัดลอกไฟล์ตัวอย่าง:
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
เปิด .env และกรอกค่าต่อไปนี้:
AZURE_AI_PROJECT_ENDPOINT=https://<your-project>.services.ai.azure.com/api/projects/<your-project-id>
AZURE_AI_MODEL_DEPLOYMENT_NAME=gpt-4o
| ตัวแปร | หาได้ที่ไหน |
|---|---|
AZURE_AI_PROJECT_ENDPOINT |
พอร์ทัล Foundry → โปรเจกต์ของคุณ → หน้า Overview |
AZURE_AI_MODEL_DEPLOYMENT_NAME |
พอร์ทัล Foundry → Models + Endpoints → ชื่อโมเดลที่ปรับใช้ |
ก็ครบสำหรับบทเรียนส่วนใหญ่! โน้ตบุ๊คจะยืนยันตัวตนโดยอัตโนมัติผ่านเซสชัน az login ของคุณ
pip install -r requirements.txt
เราแนะนำให้รันนี้ภายในสภาพแวดล้อมเสมือนที่คุณสร้างไว้ก่อนหน้า
บทเรียน 5 ใช้ Azure AI Search สำหรับการรวมข้อมูลเสริมการสร้าง หากคุณวางแผนจะรันบทเรียนนั้น ให้เพิ่มตัวแปรเหล่านี้ในไฟล์ .env ของคุณ:
| ตัวแปร | หาได้ที่ไหน |
|---|---|
AZURE_SEARCH_SERVICE_ENDPOINT |
พอร์ทัล Azure → ทรัพยากร Azure AI Search ของคุณ → Overview → URL |
AZURE_SEARCH_API_KEY |
พอร์ทัล Azure → ทรัพยากร Azure AI Search ของคุณ → Settings → Keys → คีย์แอดมินหลัก |
โน้ตบุ๊คบางส่วนในบทเรียน 6 และ 8 ใช้ GitHub Models แทน Azure AI Foundry หากคุณจะรันตัวอย่างเหล่านั้น ให้เพิ่มตัวแปรเหล่านี้ในไฟล์ .env ของคุณ:
| ตัวแปร | หาได้ที่ไหน |
|---|---|
GITHUB_TOKEN |
GitHub → Settings → Developer settings → Personal access tokens |
GITHUB_ENDPOINT |
ใช้ https://models.inference.ai.azure.com (ค่าดีฟอลต์) |
GITHUB_MODEL_ID |
ชื่อโมเดลที่ใช้ (เช่น gpt-4o-mini) |
MiniMax ให้บริการโมเดลขนาดบริบทใหญ่ (สูงสุด 204K โทเคน) ผ่าน API ที่เข้ากันได้กับ OpenAI เนื่องจาก Microsoft Agent Framework OpenAIChatClient ทำงานกับ endpoint ที่เข้ากันได้กับ OpenAI คุณจึงสามารถใช้ MiniMax เป็นทางเลือกแทน GitHub Models หรือ OpenAI ได้โดยตรง
เพิ่มตัวแปรเหล่านี้ในไฟล์ .env ของคุณ:
| ตัวแปร | หาได้ที่ไหน |
|---|---|
MINIMAX_API_KEY |
MiniMax Platform → API Keys |
MINIMAX_BASE_URL |
ใช้ https://api.minimax.io/v1 (ค่าเริ่มต้น) |
MINIMAX_MODEL_ID |
ชื่อโมเดลที่ใช้ (เช่น MiniMax-M2.7) |
โมเดลที่ใช้ได้: MiniMax-M2.7 (แนะนำ), MiniMax-M2.7-highspeed (ตอบสนองเร็วขึ้น)
ตัวอย่างโค้ดที่ใช้ OpenAIChatClient (เช่น บทเรียน 14 โฟลว์การจองโรงแรม) จะตรวจจับและใช้การตั้งค่า MiniMax อัตโนมัติเมื่อมีการตั้งค่า MINIMAX_API_KEY
โน้ตบุ๊คโฟลว์เชิงเงื่อนไขในบทเรียน 8 ใช้ Bing grounding ผ่าน Azure AI Foundry หากคุณจะรันตัวอย่างนี้ ให้เพิ่มตัวแปรนี้ในไฟล์ .env ของคุณ:
| ตัวแปร | หาได้ที่ไหน |
|---|---|
BING_CONNECTION_ID |
พอร์ทัล Azure AI Foundry → โปรเจกต์ของคุณ → Management → Connected resources → การเชื่อมต่อ Bing ของคุณ → คัดลอก connection ID |
หากคุณใช้ macOS แล้วพบข้อผิดพลาดแบบนี้:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
นี่เป็นปัญหาที่ทราบกันใน Python บน macOS ซึ่งใบรับรอง SSL ของระบบไม่ถูกเชื่อถือโดยอัตโนมัติ ลองแก้ไขตามลำดับนี้:
ตัวเลือกที่ 1: รันสคริปต์ติดตั้งใบรับรองของ Python (แนะนำ)
# แทนที่ 3.XX ด้วยเวอร์ชัน Python ที่คุณติดตั้งไว้ (เช่น 3.12 หรือ 3.13):
/Applications/Python\ 3.XX/Install\ Certificates.command
ตัวเลือกที่ 2: ใช้ connection_verify=False ในโน้ตบุ๊คของคุณ (สำหรับโน้ตบุ๊ค GitHub Models เท่านั้น)
ในโน้ตบุ๊คบทเรียน 6 (06-building-trustworthy-agents/code_samples/06-system-message-framework.ipynb) มีวิธีแก้ปัญหาแบบคอมเมนต์ไว้แล้ว ให้ยกเลิกคอมเมนต์ connection_verify=False เมื่อสร้างไคลเอนต์:
client = ChatCompletionsClient(
endpoint=endpoint,
credential=AzureKeyCredential(token),
connection_verify=False, # ปิดการตรวจสอบ SSL หากคุณพบข้อผิดพลาดของใบรับรอง
)
⚠️ คำเตือน: การปิดการตรวจสอบ SSL (
connection_verify=False) ลดความปลอดภัยโดยข้ามการตรวจสอบใบรับรอง ใช้เฉพาะเป็นการแก้ปัญหาชั่วคราวในสภาพแวดล้อมการพัฒนาเท่านั้น ห้ามใช้ในงานจริง
ตัวเลือกที่ 3: ติดตั้งและใช้ truststore
pip install truststore
จากนั้นเพิ่มโค้ดนี้ไว้ด้านบนของโน้ตบุ๊คหรือสคริปต์ก่อนเรียกใช้งานเครือข่ายใด ๆ:
import truststore
truststore.inject_into_ssl()
หากคุณมีปัญหาในการรันการตั้งค่านี้ โปรดเข้าร่วมใน Azure AI Community Discord หรือ สร้างปัญหา (issue)
คุณพร้อมแล้วที่จะรันโค้ดสำหรับหลักสูตรนี้ ขอให้สนุกกับการเรียนรู้เพิ่มเติมเกี่ยวกับโลกของ AI Agents!
บทนำสู่ AI Agents และกรณีการใช้งาน Agent
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษาด้วย AI Co-op Translator แม้เราจะพยายามให้ความถูกต้องสูงสุด โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นฉบับถือเป็นแหล่งข้อมูลที่เชื่อถือได้ ในกรณีข้อมูลสำคัญ แนะนำให้ใช้บริการแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่คลาดเคลื่อนใดๆ ที่เกิดจากการใช้การแปลนี้