ai-agents-for-beginners

Тестування агентів «на дим»

Ця папка містить каталоги smoke-тестів для агентів, яких ви створюєте на курсі. Smoke-тест — це дешевий, швидкий перевірочний тест, що розгорнутий агент Microsoft Foundry, розміщений у хмарі, є доступним, відповідає і виконує найпростіші очікування від запиту. Це перший пропускний контроль — а не заміна повного процесу оцінювання, який ви вивчаєте у Уроці 10 та Уроці 16.

Каталоги використовуються дією GitHub AI Smoke Test через робочий процес .github/workflows/smoke-test.yml.

Як запустити

  1. Розгорніть агента уроку в Microsoft Foundry як розміщеного агента (див. Урок 16 для робочого процесу розгортання). Запам’ятайте назву агента та endpoint проекту Foundry.
  2. Додайте ці секрети репозиторію (Налаштування → Секрети та змінні → Дії): AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_SUBSCRIPTION_ID. Федеративна ідентичність потребує ролі Azure AI User на рівні області проекту Foundry.
  3. У вкладці Actions запустіть Smoke-test hosted agents і оберіть tests_file для уроку, після чого введіть відповідний agent_name та project_endpoint.

Каталог → урок → назва агента

Каталог Урок Розгортання агента як
lesson-01-smoke-tests.json 01 – Вступ до AI агентів TravelAgent
lesson-04-smoke-tests.json 04 – Використання інструментів TravelToolAgent
lesson-05-smoke-tests.json 05 – Agentic RAG TravelRAGAgent
lesson-16-smoke-tests.json 16 – Розгортання масштабованих агентів ContosoSupportAgent

Для яких уроків є smoke-тести?

Smoke-тести застосовуються до уроків, де ви розгортаєте агента, відповіді якого у вигляді тексту можна перевірити на відповідність відомому вмісту. Уроки, які є концептуальними, працюють лише локально, або генерують недетерміновані креативні виходи, навмисно виключені:

Схема каталогу (швидкий довідник)

Кожен каталог є JSON документом з масивом верхнього рівня tests. Кожен запис виконує POST одного запиту і робить перевірку відповіді:

Поле Значення
id Унікальний ідентифікатор кроку, виводиться у журналі.
description Людинозрозумілий опис призначення.
prompt Повідомлення, що відправляється агенту.
assertions.status Очікуваний HTTP статус (за замовчуванням 200).
assertions.contains_any Проходить, якщо відповідь містить будь-який із цих підрядків.
assertions.contains_all Проходить, якщо відповідь містить усі ці підрядки.
assertions.contains_none Проходить, якщо відповідь не містить жодного з цих підрядків.
save_response_id_as Зберегти ідентифікатор відповіді для наступного багатоетапного кроку.
use_previous_response_id Надіслати цей запит, зв’язаний з раніше збереженим ідентифікатором відповіді.

Перевірки є нечутливими до регістру перевірками наявності підрядка. Докладніше дивіться у документації дії щодо повної схеми, включаючи керовані Foundry ресурси розмови.


Відмова від відповідальності: Цей документ було перекладено за допомогою сервісу штучного інтелекту для перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.