ai-agents-for-beginners

ការតំឡើងមុខវិជ្ជា

ការណែនាំ

មេរៀននេះនឹងបង្ហាញពីរបៀបបើកដំណើរកូដខ្លះៗនៃមុខវិជ្ជាដែលមាន។

ចូលរួមជាមួយអ្នករៀនផ្សេងទៀត និងទទួលបានជំនួយ

មុននឹងចាប់ផ្តើមកូពី repo របស់អ្នក សូមចូលរួមនៅក្នុង ប៉ុស្តិ៍ Discord របស់ AI Agents សម្រាប់អ្នកចំបាប់ ដើម្បីទទួលបានជំនួយណាមួយចំពោះការតំឡើង គោលបំណងកូដរបស់មុខវិជ្ជា ឬសម្រាប់ភ្ជាប់ជាមួយអ្នករៀនផ្សេងទៀត។

Clone ឬ Fork repo នេះ

ដើម្បីចាប់ផ្តើម សូម clone ឬ fork GitHub Repository។ នេះនឹងបង្កើតមុខវិជ្ជាដែលជារបស់អ្នកផ្ទាល់ ដែលអ្នកអាចបើកដំណើរការ សាកល្បង និងកែប្រែកូដបាន។

អ្នកអាចធ្វើបានដោយចុចតំណ fork the repo

ឥឡូវនេះអ្នកគួរតែមានកម្រង fork របស់ខ្លួនផ្ទាល់សម្រាប់មុខវិជ្ជានេះនៅតាមតំណខាងក្រោម៖

Forked Repo

Shallow Clone (ផ្តល់អនុសាសន៍សម្រាប់សិក្ខាសាលា / Codespaces)

Repository ពេញលេញអាចធំនៅប្រហែល (~3 GB) ពេលអ្នកទាញយកប្រវត្តិពេញ និងឯកសារទាំងអស់។ ប្រសិនបើអ្នកគ្រាន់តែចូលរួមសិក្ខាសាលាឬត្រូវការតែថតមេរៀនមួយចំនួនទេ shallow clone (ឬ sparse clone) នឹងជៀសវាងការទាញយកច្រើនដោយកាត់បន្ថយប្រវត្តិឬរំលងកំណត់ត្រាឯកសារ។

Clone ជារហ័ស - ប្រវត្តិចម្ងាយតិច, ឯកសារទាំងអស់

សូមប្ដូរ <your-username> នៅក្នុងពាក្យបញ្ជាខាងក្រោមជាមួយ URL fork របស់អ្នក (ឬ URL upstream ប្រសិនបើចូលចិត្ត)។

ដើម្បី clone តែប្រវត្តិ commit ថ្មីបំផុត (ទាញយកតិច)៖

git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git

ដើម្បី clone ប្រាក់សាខាមួយជាក់លាក់៖

git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git

Clone ផ្នែកខ្លះ (sparse clone) — ប្លុកតិច + ថតផ្ទុកដែលបានជ្រើសរើសតែប៉ុណ្ណោះ

នេះប្រើ 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

បន្ទាប់ពីclone និងផ្ទៀងផ្ទាត់ឯកសារ ប្រសិនបើអ្នកត្រូវការតែឯកសារនិងចង់លុបតំបន់ទុកបន្ថយ (គ្មានប្រវត្តិ git) សូមលុប metadata នៃ repository (💀 មិនអាចត្រឡប់ក្រោយបាន — អ្នកនឹងបាត់បង់មុខងារ git ទាំងអស់៖ គ្មាន commit, pull, push ឬការចូលប្រវត្តិ)។

# zsh/bash
rm -rf .git
# PowerShell
Remove-Item -Recurse -Force .git

ប្រើ GitHub Codespaces (ផ្តល់អនុសាសន៍ដើម្បីជៀសវាងការទាញយកក្រៅឧបករណ៍ធំនេះ)

ជំនួយ

របៀបបើកដំណើរកូដ

មុខវិជ្ជានេះផ្តល់នូវជួរមេរៀន Jupyter Notebooks ដែលអ្នកអាចបើកដំណើរការដើម្បីទទួលបានបទពិសោធន៍ដៃគូទន់ក្នុងការសាងសង់ភ្នាក់ងារជំនួយ AI។

គំរូកូដប្រើប្រាស់ Microsoft Agent Framework (MAF) ជាមួយ AzureAIProjectAgentProvider ដែលភ្ជាប់ទៅ Azure AI Agent Service V2 (Responses API) តាមរយៈ Microsoft Foundry

Notebooks Python ទាំងអស់ត្រូវបានសម្គាល់ដោយ *-python-agent-framework.ipynb

តម្រូវការ

យើងបានបញ្ចូលឯកសារ requirements.txt នៅក្នុងរ៉ូនរបស់ repository នេះ ដែលមានកញ្ចប់ Python ទាំងអស់ដែលត្រូវការដើម្បីបើកដំណើរកូដ។

អ្នកអាចតំឡើងវា ដោយដំណើរការបញ្ជាខាងក្រោមនៅ terminal របស់អ្នក នៅក្នុង root folder របស់ repository៖

pip install -r requirements.txt

យើងផ្តល់អនុសាសន៍បង្កើត virtual environment របស់ Python ដើម្បីជៀសវាងបញ្ហា និងជម្លោះណាមួយ។

តំឡើង VSCode

សូមធានាថាអ្នកកំពុងប្រើវើស្យុង Python ត្រឹមត្រូវនៅក្នុង VSCode។

image

តំឡើង Microsoft Foundry និង Azure AI Agent Service

ជំហ៊ាន 1: បង្កើតគម្រោង Microsoft Foundry

អ្នកត្រូវការហាប់ Azure AI Foundry និងគម្រោងមួយដែលមានម៉ូដែលបានដាក់បង្ហាញដើម្បីបើកដំណើរការណូតប៊ុកនេះ។

  1. ចូលទៅកាន់ ai.azure.com ហើយចុះឈ្មោះចូលជាមួយគណនី Azure របស់អ្នក។
  2. បង្កើត hub មួយ (ឬប្រើដែលមានរួច)។ មើល៖ Hub resources overview
  3. នៅក្នុង hub សូមបង្កើត project មួយ។
  4. ដាក់បង្ហាញម៉ូដែល (ឧ. gpt-4o) ពី Models + EndpointsDeploy model

ជំហ៊ាន 2: ទាញយក Endpoint គម្រោង និងឈ្មោះការដាក់បង្ហាញម៉ូដែលរបស់អ្នក

ពីគម្រោងរបស់អ្នកនៅ Microsoft Foundry portal:

Project Connection String

ជំហ៊ាន 3: ចុះឈ្មោះចូល Azure ជាមួយ az login

Notebooks ទាំងអស់ប្រើ AzureCliCredential សម្រាប់ការផ្ទៀងផ្ទាត់ — គ្មាន API keys ត្រូវគ្រប់គ្រង។ វាត្រូវការឲ្យអ្នកចុះឈ្មោះចូលតាមរយៈ Azure CLI។

  1. តំឡើង Azure CLI ប្រសិនបើអ្នកមិនទាន់បាន aka.ms/installazurecli

  2. ចុះឈ្មោះចូល ដោយដំណើរការ:

     az login
    

    ឬប្រសិនបើអ្នកនៅក្នុងបរិយាកាសចម្ងាយ/Codespace គ្មានកម្មវិធីរៀបចំ browser:

     az login --use-device-code
    
  3. ជ្រើសរើស subscription ប្រសិនបើមានការសុំ — ជ្រើសនូវ subscription ដែលមានគម្រោង Foundry របស់អ្នក។

  4. ផ្ទៀងផ្ទាត់ ថាបានចុះឈ្មោះចូល៖

     az account show
    

ហេតុអ្វី az login? នូវ notebooks ផ្ទៀងផ្ទាត់ដោយប្រើ AzureCliCredential ពីកញ្ចប់ azure-identity។ នេះមានន័យថាសម័យ Azure CLI របស់អ្នកផ្តល់សិទ្ធិសិទ្ធិ — គ្មាន API keys ឬសម្ងាត់នៅក្នុងឯកសារ .env របស់អ្នក។ នេះគឺជា ការអនុវត្តសុវត្ថិភាពល្អ

ជំហ៊ាន 4: បង្កើតឯកសារ .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 បង្ហាញបាននៅportal Foundry → គម្រោងរបស់អ្នក → ទំព័រ Overview
AZURE_AI_MODEL_DEPLOYMENT_NAME portal Foundry → Models + Endpoints → ឈ្មោះម៉ូដែលដែលបានដាក់បង្ហាញ

នេះគឺជាចំណុចបញ្ចប់សម្រាប់មេរៀនភាគច្រើន! Notebooks នឹងអនុវត្តការផ្ទៀងផ្ទាត់ដោយស្វ័យប្រវត្តិតាមរយៈសម័យ az login របស់អ្នក។

ជំហ៊ាន 5: តំឡើងការពឹងផ្អែក Python

pip install -r requirements.txt

យើងផ្តល់អនុសាសន៍ឱ្យដំណើរការនេះនៅក្នុងបរិយាកាស virtual environment ដែលអ្នកបានបង្កើតមុននេះ។

តំឡើងបន្ថែមសម្រាប់មេរៀនទី 5 (Agentic RAG)

មេរៀនទី 5 ប្រើប្រាស់ Azure AI Search សម្រាប់ការចងក្រងដោយការយកវិញ-បន្ថែមប្រភេទការផលិត។ ប្រសិនបើអ្នកមានគម្រោងបើកមេរៀននោះ សូមបន្ថែមប៉ារ៉ាម៉ែត្រ​នេះទៅក្នុងឯកសារ .env របស់អ្នក៖

ប៉ារ៉ាម៉ែត្រ រកឃើញនៅណា
AZURE_SEARCH_SERVICE_ENDPOINT Azure portal → អធ្យាស្រ័យ Azure AI Search របស់អ្នក → Overview → URL
AZURE_SEARCH_API_KEY Azure portal → អធ្យាស្រ័យ Azure AI Search របស់អ្នក → SettingsKeys → key អ្នកគ្រប់គ្រងសំខាន់

តំឡើងបន្ថែមសម្រាប់មេរៀនទី 6 និង 8 (GitHub Models)

ខ្លះនូវ notebooks ក្នុងមេរៀន 6 និង 8 ប្រើ GitHub Models ជំនួស Azure AI Foundry។ ប្រសិនបើអ្នកចង់បើកគំរូនោះ សូមបន្ថែមប៉ារ៉ាម៉ែត្រ​ទាំងនេះទៅក្នុង .env របស់អ្នក៖

ប៉ារ៉ាម៉ែត្រ រកឃើញនៅណា
GITHUB_TOKEN GitHub → SettingsDeveloper settingsPersonal access tokens
GITHUB_ENDPOINT ប្រើ https://models.inference.ai.azure.com (តម្លៃលំនាំដើម)
GITHUB_MODEL_ID ឈ្មោះម៉ូដែលដែលប្រើ (ឧ. gpt-4o-mini)

ផ្គត់ផ្គង់ជំនួយជំនួស: MiniMax (សមត្ថភាព OpenAI-Compatible)

MiniMax ផ្ដល់ម៉ូដែល context ដែលធំ (រហូតដល់ 204K tokens) តាមរយៈ API OpenAI-Compatible។ ពីព្រោះ 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 Workflow)

នូវ notebook ការងារពិគ្រោះនៃមេរៀន 8 ប្រើ Bing grounding តាម Azure AI Foundry។ ប្រសិនបើអ្នកមានគម្រោងបើកគំរូនេះ សូមបន្ថែមប៉ារ៉ាម៉ែត្រនេះទៅក្នុង .env របស់អ្នក៖

ប៉ារ៉ាម៉ែត្រ រកឃើញនៅណា
BING_CONNECTION_ID portal Azure AI Foundry → គម្រោងរបស់អ្នក → ManagementConnected resources → ការតភ្ជាប់ Bing របស់អ្នក → ចម្លង connection ID

ការដោះស្រាយបញ្ហា

កំហុសការផ្ទៀងផ្ទាត់ SSL លើ macOS

ប្រសិនបើអ្នកប្រើ macOS ហើយប្រឈមមុខកំហុសដូចជា៖

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain

នេះគឺជាបញ្ហាដែលបានគេទទួលស្គាល់ជាមួយ Python លើ macOS ដោយសារតែវិញ្ញាបនប័ត្រ SSL របស់ប្រព័ន្ធមិនត្រូវបានទទួលស្គាល់ដោយស្វ័យប្រវត្តិ។ សូមព្យាយាមដោះស្រាយដូចខាងក្រោម៖

ជម្រើសទី 1៖ ប្រតិបត្តិវាយកូដ install Certificates របស់ Python (ផ្ដល់អនុសាសន៍)

# ជំនួស 3.XX ជាមួយកំណែ Python ដែលបានដំឡើងរបស់អ្នក (ឧទាហរណ៍ 3.12 ឬ 3.13):
/Applications/Python\ 3.XX/Install\ Certificates.command

ជម្រើសទី 2៖ ប្រើ connection_verify=False នៅក្នុង notebook របស់អ្នក (សម្រាប់ notebooks GitHub Models មួយចំនួនតែប៉ុណ្ណោះ)

ក្នុង notebook មេរៀនទី 6 (06-building-trustworthy-agents/code_samples/06-system-message-framework.ipynb), ការដោះស្រាយដែលបានcomment រួចហើយមានរួចរាល់។ សូមដោះ comment connection_verify=False ពេលបង្កើត client៖

client = ChatCompletionsClient(
    endpoint=endpoint,
    credential=AzureKeyCredential(token),
    connection_verify=False,  # បិទការត្រួតពិនិត្យ SSL ប្រសិនបើអ្នកជួបបញ្ហាអ័ព្ទសញ្ញាបត្រ
)

⚠️ ជាកំហឹតភ្លាមៗ៖ ការបិទ SSL verification (connection_verify=False) បន្ថយសុវត្ថិភាពដោយរំលងការផ្ទៀងផ្ទាត់វិញវិញវិញ។ ប្រើវា​មួយតែជាការដោះស្រាយបណ្ដោះអាសន្នក្នុងបរិយាកាសអភិវឌ្ឍន៍ ប៉ុន្មានទេលើការប្រើប្រាស់ផលិតផលមិនត្រូវបានអនុញ្ញាត។

ជម្រើសទី 3៖ តំឡើងនិងប្រើប្រាស់ truststore

pip install truststore

បន្ទាប់បន្ថែមសេចក្តីខាងក្រោមនៅចំពោះមុខ notebook ឬ script របស់អ្នក មុនពេលធ្វើការហៅបណ្តាញណាមួយ៖

import truststore
truststore.inject_into_ssl()

ត្រូវឈប់នៅកន្លែងណាមួយ?

ប្រសិនបើអ្នកប្រឈមមុខបញ្ហាណាមួយក្នុងការបើកដំណើរការតំឡើងនេះ សូមចូលរួមនៅ សហគមន៍ Discord របស់ Azure AIបង្កើតបញ្ហា

មេរៀនបន្ទាប់

ឥឡូវអ្នករួចរាល់ក្នុងការបើកដំណើរកូដសម្រាប់មុខវិជ្ជានេះ។ សូមសំណាងល្អក្នុងការរៀនបន្ថែមអំពីពិភព AI Agents!

ការណែនាំអំពី AI Agents និងករណីប្រើប្រាស់ Agent


ការបដិសេធ
ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI Co-op Translator។ ក្នុងពេលដែលយើងខំប្រឹងប្រែងឲ្យបានច្បាស់លាស់ សូមចំណាំថា ការបកប្រែដោយរបៀបស្វ័យប្រវត្តិអាចមានកំហុស ឬមិនត្រឹមត្រូវ។ ឯកសារដើមក្នុងភាសាគ្រិះរបស់វាគួរត្រូវបានពិចារណាជា ប្រភពដែលមានអំណាច។ សម្រាប់ព័ត៌មានសំខាន់ៗ ការបកប្រែដោយអ្នកជំនាញមនុស្សគឺត្រូវបានណែនាំ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសពីការប្រើប្រាស់ការបកប្រែមួយនេះឡើយ។