Kiểm thử Các Mẫu Khóa Học
Xác thực rằng các sổ tay bài học và mẫu mã chạy trên một thiết lập Microsoft Foundry / Azure OpenAI trực tiếp.
Kho lưu trữ cung cấp một trình chạy tại
scripts/validate-notebooks.ps1 để
thực thi mỗi sổ tay Python một cách không đầu cuối và in ra bảng PASS/FAIL.
Khi nào sử dụng
- "Xác thực tất cả các sổ tay / mẫu mã với đăng ký Azure của tôi."
- "Kiểm tra nhanh khóa học sau khi nâng cấp gói hoặc thay đổi mô hình."
- "Bài học nào vẫn còn chạy / thất bại trực tiếp?"
Không dùng cho AI Smoke Test GitHub Action (xác thực các tác nhân đã triển khai —
xem tests/README.md). Kỹ năng này
chạy các sổ tay cục bộ.
Yêu cầu đầu vào (kiểm tra trước)
- Python 3.12+ với các lệ thuộc của khóa học:
python -m pip install -r requirements.txtcùng trình thực thi:python -m pip install nbconvert ipykernel. .envở thư mục gốc repo (sao chép từ.env.example) với ít nhất:AZURE_AI_PROJECT_ENDPOINT— điểm cuối dự án Foundry (https://<account>.services.ai.azure.com/api/projects/<project>)AZURE_AI_MODEL_DEPLOYMENT_NAME— một triển khai không bị khấu hao (ví dụgpt-5-mini)AZURE_OPENAI_ENDPOINT(https://<account>.openai.azure.com) vàAZURE_OPENAI_DEPLOYMENTcho các bài học gọi trực tiếp Azure OpenAI (Bài 06, 02-azure-openai, 14 handoff/human-loop).
- Hoàn thành
az login— mẫu mã xác thực vớiAzureCliCredential(Entra ID, không cần khóa). - Xác minh triển khai mô hình tồn tại:
az cognitiveservices account deployment list -g <rg> -n <account> -o table.
Thực thi xác thực
# Tất cả các sổ tay Python (bỏ qua .NET, .venv, site-packages, bản dịch, tài sản kỹ năng)
pwsh scripts/validate-notebooks.ps1
# Một bài học đơn, với thời gian chờ mỗi ô dài hơn
pwsh scripts/validate-notebooks.ps1 -Filter '08-*' -Timeout 600
# Chỉ liệt kê những gì sẽ chạy (không thực thi)
pwsh scripts/validate-notebooks.ps1 -List
# Trình thông dịch rõ ràng (nếu `python` không có trong PATH, ví dụ bí danh Windows Store)
pwsh scripts/validate-notebooks.ps1 -Python "C:/path/to/python.exe"
Tập lệnh ghi các bản sao đã thực thi, nhật ký theo sổ tay, và results.json vào
$env:TEMP\aiab-nbval và thoát với số lỗi thất bại.
Thất bại tạm thời (giới hạn tốc độ HTTP 429 trên đăng ký chia sẻ, một sự cố
AzureCliCredential hiếm hoi, hoặc hết thời gian chờ) được thử lại tự động
(-Retries, mặc định 2, cùng độ trễ lặp lại -RetryDelaySeconds, mặc định 20). Nếu
một triển khai mô hình thường xuyên bị 429, kiểm tra hạn mức TPM GlobalStandard của đăng ký
(az cognitiveservices usage list -l <region>) — tăng công suất một
triển khai không giúp khi đăng ký đã hết hạn mức.
Diễn giải kết quả
PASS— sổ tay chạy trọn vẹn không lỗi cell.FAIL— hiển thị dòng*Error/*Exceptionđầu tiên; mởlog_*.txttương ứng trong thư mục đầu ra để xem dấu vết lỗi đầy đủ.- Thất bại của một sổ tay được giới hạn bởi
-Timeout(cho mỗi cell), nên một cell có tương tác người không phản hồi sẽ hiện thànhStdinNotImplementedErrorthay vì bị treo.
Bài học cần tài nguyên bổ sung (dự kiến sẽ thất bại nếu thiếu)
| Bài học | Yêu cầu bổ sung |
|---|---|
| 05 Agentic RAG | Azure AI Search (AZURE_SEARCH_SERVICE_ENDPOINT, key) — có đường dự phòng trong bộ nhớ |
| 11 MCP / GitHub | Máy chủ MCP GitHub + PAT |
| 13 memory (cognee) | cognee được cấu hình với nhà cung cấp mô hình |
| 15 browser-use | Trình duyệt Playwright được cài (playwright install) + AZURE_OPENAI_CHAT_DEPLOYMENT_NAME |
| 17 local agent | Môi trường chạy Foundry Local + mô hình Qwen tải về (trên thiết bị, không đám mây) |
Sổ tay *-dotnet-* |
Kernel .NET Interactive (mặc định loại trừ; dùng -IncludeDotnet) |
Báo cáo lại
Tóm tắt thành bảng PASS/FAIL nhóm theo bài học. Tách biệt các suy giảm thực tế
(lỗi mã/cấu hình cần sửa) với các thiếu hụt môi trường (thiếu Search/Foundry Local/PAT),
và dẫn chứng log_*.txt của mỗi lỗi thực sự.
Tuyên bố miễn trừ trách nhiệm: Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng bản dịch tự động có thể chứa lỗi hoặc sai sót. Tài liệu gốc bằng ngôn ngữ gốc nên được coi là nguồn tin chính thức. Đối với thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm về bất kỳ hiểu lầm hoặc giải thích sai nào phát sinh từ việc sử dụng bản dịch này.
Source: microsoft/ai-agents-for-beginners → translations/vi/.agents/skills/testing-course-samples/SKILL.md