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

Repository เต็มอาจมีขนาดใหญ่ (~3 GB) เมื่อคุณดาวน์โหลดประวัติและไฟล์ทั้งหมด หากคุณเข้าร่วม workshop หรือต้องการเพียงบางโฟลเดอร์ของบทเรียน การโคลนแบบตื้น (หรือ sparse clone) จะช่วยลดการดาวน์โหลดโดยการตัดประวัติและ/หรือข้าม blobs
แทนที่ <your-username> ในคำสั่งด้านล่างด้วย URL fork ของคุณ (หรือ URL upstream หากคุณต้องการ)
เพื่อโคลนเฉพาะประวัติ commit ล่าสุด (ดาวน์โหลดขนาดเล็ก):
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
เพื่อโคลนเฉพาะ branch ที่ต้องการ:
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
วิธีนี้ใช้ partial clone และ sparse-checkout (ต้องการ Git 2.25+ และแนะนำ Git รุ่นใหม่ที่รองรับ partial clone):
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
เข้าสู่โฟลเดอร์ repo:
cd ai-agents-for-beginners
จากนั้นระบุโฟลเดอร์ที่คุณต้องการ (ตัวอย่างด้านล่างแสดงสองโฟลเดอร์):
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
หลังจากโคลนและตรวจสอบไฟล์ หากคุณต้องการเฉพาะไฟล์และต้องการเพิ่มพื้นที่ว่าง (ไม่มีประวัติ git) โปรดลบ metadata ของ repository (💀ไม่สามารถย้อนกลับได้ — คุณจะสูญเสียฟังก์ชัน Git ทั้งหมด: ไม่มี commits, pulls, pushes หรือการเข้าถึงประวัติ)
# zsh/bash
rm -rf .git
# พาวเวอร์เชลล์
Remove-Item -Recurse -Force .git
สร้าง Codespace ใหม่สำหรับ repo นี้ผ่าน GitHub UI
คอร์สนี้มีชุด Jupyter Notebooks ที่คุณสามารถรันเพื่อสัมผัสประสบการณ์การสร้าง AI Agents
ตัวอย่างโค้ดใช้:
ต้องมีบัญชี GitHub - ฟรี:
1) Semantic Kernel Agent Framework + GitHub Models Marketplace. ระบุว่า (semantic-kernel.ipynb) 2) AutoGen Framework + GitHub Models Marketplace. ระบุว่า (autogen.ipynb)
ต้องมีการสมัครสมาชิก Azure:
3) Azure AI Foundry + Azure AI Agent Service. ระบุว่า (azureaiagent.ipynb)
เราขอแนะนำให้คุณลองใช้ตัวอย่างทั้งสามประเภทเพื่อดูว่าแบบใดเหมาะกับคุณที่สุด
ไม่ว่าคุณจะเลือกตัวเลือกใด จะกำหนดขั้นตอนการตั้งค่าที่คุณต้องทำตามด้านล่าง:
NOTE: หากคุณยังไม่มี Python3.12 ติดตั้งอยู่ ให้ติดตั้งก่อน จากนั้นสร้าง venv โดยใช้ python3.12 เพื่อให้แน่ใจว่าเวอร์ชันที่ถูกต้องจะถูกติดตั้งจากไฟล์ requirements.txt
ตัวอย่าง
สร้างไดเรกทอรี Python venv:
python -m venv venv
จากนั้นเปิดใช้งาน environment venv สำหรับ:
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+: สำหรับตัวอย่างโค้ดที่ใช้ .NET ให้แน่ใจว่าคุณติดตั้ง .NET 10 SDK หรือใหม่กว่า จากนั้นตรวจสอบเวอร์ชัน SDK .NET ที่ติดตั้ง:
dotnet --list-sdks
เราได้รวมไฟล์ requirements.txt ไว้ใน root ของ repository นี้ ซึ่งมี Python packages ที่จำเป็นทั้งหมดสำหรับการรันตัวอย่างโค้ด
คุณสามารถติดตั้งได้โดยรันคำสั่งต่อไปนี้ใน terminal ที่ root ของ repository:
pip install -r requirements.txt
เราแนะนำให้สร้าง Python virtual environment เพื่อหลีกเลี่ยงปัญหาและความขัดแย้งใด ๆ
ตรวจสอบให้แน่ใจว่าคุณใช้เวอร์ชัน Python ที่ถูกต้องใน VSCode
คอร์สนี้ใช้ GitHub Models Marketplace ซึ่งให้การเข้าถึง Large Language Models (LLMs) ฟรีที่คุณจะใช้ในการสร้าง AI Agents
ในการใช้ GitHub Models คุณจะต้องสร้าง GitHub Personal Access Token
คุณสามารถทำได้โดยไปที่ Personal Access Tokens settings ในบัญชี GitHub ของคุณ
โปรดปฏิบัติตาม Principle of Least Privilege เมื่อสร้าง token ของคุณ ซึ่งหมายความว่าคุณควรให้ token มีสิทธิ์เฉพาะที่จำเป็นในการรันตัวอย่างโค้ดในคอร์สนี้
เลือกตัวเลือก Fine-grained tokens ทางด้านซ้ายของหน้าจอโดยไปที่ Developer settings

จากนั้นเลือก Generate new token.

ใส่ชื่อที่อธิบายได้สำหรับ token ของคุณที่สะท้อนถึงวัตถุประสงค์ ทำให้ง่ายต่อการระบุในภายหลัง
🔐 คำแนะนำระยะเวลาของ Token
ระยะเวลาที่แนะนำ: 30 วัน เพื่อความปลอดภัยมากขึ้น คุณสามารถเลือกช่วงเวลาที่สั้นลง เช่น 7 วัน 🛡️ เป็นวิธีที่ดีในการตั้งเป้าหมายส่วนตัวและทำคอร์สให้เสร็จในขณะที่คุณมีแรงจูงใจในการเรียนรู้ 🚀.

จำกัดขอบเขตของ token ให้กับ fork ของ repository นี้

จำกัดสิทธิ์ของ token: ภายใต้ Permissions คลิกแท็บ Account และคลิกปุ่ม “+ Add permissions” จะปรากฏ dropdown โปรดค้นหา Models และทำเครื่องหมายในช่อง

ตรวจสอบสิทธิ์ที่จำเป็นก่อนสร้าง token 
ก่อนสร้าง token ตรวจสอบให้แน่ใจว่าคุณพร้อมที่จะเก็บ token ไว้ในที่ปลอดภัย เช่น password manager vault เนื่องจากจะไม่แสดงอีกหลังจากที่คุณสร้างมัน 
คัดลอก token ใหม่ที่คุณเพิ่งสร้างขึ้น คุณจะเพิ่มสิ่งนี้ลงในไฟล์ .env ที่รวมอยู่ในคอร์สนี้
.env ของคุณเพื่อสร้างไฟล์ .env ให้รันคำสั่งต่อไปนี้ใน terminal ของคุณ
# zsh/bash
cp .env.example .env
# พาวเวอร์เชลล์
Copy-Item .env.example .env
คำสั่งนี้จะคัดลอกไฟล์ตัวอย่างและสร้าง .env ในไดเรกทอรีของคุณ ซึ่งคุณจะเติมค่าตัวแปร environment
เมื่อคุณคัดลอก token แล้ว ให้เปิดไฟล์ .env ใน text editor ที่คุณชื่นชอบและวาง token ลงในฟิลด์ GITHUB_TOKEN

ตอนนี้คุณควรสามารถรันตัวอย่างโค้ดในคอร์สนี้ได้แล้ว
ทำตามขั้นตอนการสร้าง hub และโปรเจกต์ใน Azure AI Foundry ได้ที่นี่: Hub resources overview
เมื่อคุณสร้างโปรเจกต์เสร็จแล้ว คุณจะต้องดึง connection string สำหรับโปรเจกต์ของคุณ
คุณสามารถทำได้โดยไปที่หน้า Overview ของโปรเจกต์ใน Azure AI Foundry portal

.env ของคุณเพื่อสร้างไฟล์ .env ให้รันคำสั่งต่อไปนี้ใน terminal ของคุณ
# zsh/bash
cp .env.example .env
# พาวเวอร์เชลล์
Copy-Item .env.example .env
คำสั่งนี้จะคัดลอกไฟล์ตัวอย่างและสร้าง .env ในไดเรกทอรีของคุณ ซึ่งคุณจะเติมค่าตัวแปร environment
เมื่อคุณคัดลอก token แล้ว ให้เปิดไฟล์ .env ใน text editor ที่คุณชื่นชอบและวาง token ลงในฟิลด์ PROJECT_ENDPOINT
เพื่อความปลอดภัย เราจะใช้ keyless authentication เพื่อยืนยันตัวตนกับ Azure OpenAI ด้วย Microsoft Entra ID
จากนั้นเปิด terminal และรัน az login --use-device-code เพื่อเข้าสู่ระบบบัญชี Azure ของคุณ
เมื่อคุณเข้าสู่ระบบแล้ว ให้เลือก subscription ของคุณใน terminal
สำหรับบทเรียน Agentic RAG - บทเรียนที่ 5 - มีตัวอย่างที่ใช้ Azure Search และ Azure OpenAI
หากคุณต้องการรันตัวอย่างเหล่านี้ คุณจะต้องเพิ่มตัวแปร environment ต่อไปนี้ลงในไฟล์ .env ของคุณ:
AZURE_SUBSCRIPTION_ID - ตรวจสอบ Project details ในหน้า Overview ของโปรเจกต์ของคุณ
AZURE_AI_PROJECT_NAME - ดูที่ด้านบนของหน้า Overview สำหรับโปรเจกต์ของคุณ
AZURE_OPENAI_SERVICE - ค้นหานี้ในแท็บ Included capabilities สำหรับ Azure OpenAI Service ในหน้า Overview
AZURE_OPENAI_RESOURCE_GROUP - ไปที่ Project properties ในหน้า Overview ของ Management Center
GLOBAL_LLM_SERVICE - ภายใต้ Connected resources ค้นหา Azure AI Services connection name หากไม่พบ ให้ตรวจสอบ Azure portal ใน resource group ของคุณสำหรับชื่อ AI Services resource
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME - เลือก embedding model ของคุณ (เช่น text-embedding-ada-002) และจด Deployment name จากรายละเอียด model
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME - เลือก chat model ของคุณ (เช่น gpt-4o-mini) และจด Deployment name จากรายละเอียด model
AZURE_OPENAI_ENDPOINT - ค้นหา Azure AI services คลิกที่มัน จากนั้นไปที่ Resource Management, Keys and Endpoint, เลื่อนลงไปที่ “Azure OpenAI endpoints” และคัดลอกอันที่ระบุว่า “Language APIs”
AZURE_OPENAI_API_KEY - จากหน้าจอเดียวกัน คัดลอก KEY 1 หรือ KEY 2
AZURE_SEARCH_SERVICE_ENDPOINT - ค้นหา Azure AI Search resource ของคุณ คลิกที่มัน และดู Overview
AZURE_SEARCH_API_KEY - จากนั้นไปที่ Settings และ Keys เพื่อคัดลอก primary หรือ secondary admin key
AZURE_OPENAI_API_VERSION - เยี่ยมชมหน้า API version lifecycle ภายใต้ Latest GA API releaseแทนที่จะ hardcode credentials ของคุณ เราจะใช้ keyless connection กับ Azure OpenAI โดยการ import DefaultAzureCredential และเรียกใช้ฟังก์ชัน DefaultAzureCredential เพื่อรับ credential
# ไพธอน
from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential
หากคุณมีปัญหาในการตั้งค่าการใช้งานนี้ สามารถเข้าร่วม Azure AI Community Discord ของเรา หรือ สร้างปัญหาใหม่ ได้เลย
ตอนนี้คุณพร้อมที่จะรันโค้ดสำหรับคอร์สนี้แล้ว ขอให้สนุกกับการเรียนรู้เพิ่มเติมเกี่ยวกับโลกของ AI Agents!
แนะนำ AI Agents และกรณีการใช้งานของ Agent
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้บริการแปลภาษามนุษย์ที่เป็นมืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้