Лабораторна робота 4
Тема: Інтеграція Python-додатків із зовнішніми сервісами за допомогою API. Особливості роботи Python-додатків в ОС Linux.
Мета роботи: Набути практичних навичок інтеграції Python-додатків із зовнішніми сервісами за допомогою API, використання змінних середовища для зберігання ключів доступу, а також роботи Python у середовищах Windows та Linux.
Хід виконання роботи
- Встановити:
- Термінал Windows
- PowerShell 7.5
- Windows Subsystem for Linux (WSL) 2
- Будь який дистрибутів Linux із списку wsl --list --online. (бажано Ubuntu)
- Запустити Linux Terminal. В Linux терміналі встановити:
- Midnight Commander (https://midnight-commander.org/)
- Інтерпретатор Python
- Менеджер пакетів pip (Package Installer for Python)
- Пакет для віртуального оточення venv
- В домашній папці створити папку. Назва папки – Прізвище студента латиницею +”_AI” (наприклад Kyrychenko_AI). (Завдання не обов’язкове, якщо не потрібна максимальна кількість балів).
- В цій папці створити і активувати віртуальне оточення python. Ім’я оточення – прізвище студента (наприклад Kyrychenko).
- В віртуальному оточенні створити програму на мові Python яка буде звертатись з запитом до Perplexity AI і отримувати від нього відповідь. Використати пакет perplexityai (https://pypi.org/project/perplexityai/). Для роботи програми потрібно отримати PERPLEXITY_API_KEY, (https://www.perplexity.ai/) і встановити його як змінну середовища. Запит задається у вигляді текстового рядку в коді програми.
Зауваження: Perplexity AI може буте замінений на інший AI за домовленістю з викладачем.
Зауваження 2: Отримати безкоштовний доступ до Perplexity AI Pro та можливість отримати безкоштовно PERPLEXITY_API_KEY можна за посиланням https://plex.it/referrals/N3M2A32I. (Потрібен студентський квіток для підтвердження статусу студента) - Створити в програмі функцію, яка буде рахувати кількість витрачених токенів на запит, кількість витрачених токенів на відповідь, загальну вартість (запит до AI + відповідь).
- Запустити програму з запитом на українській мові. (Приклад запиту: Що таке Perplexity? В кінці вашої відповіді наведіть список джерел із посиланнями.)
- Запустити програму з цим самим запитом на англійській мові. (Приклад запиту: What is Perplexity? At the end of your answer, provide a list of sources with references.)
- В домашній папці створити папку. Назва папки – Прізвище студента латиницею +”_W” (наприклад Kyrychenko_W).
- В цій папці створити і активувати віртуальне оточення python. Ім’я оточення – прізвище студента (наприклад Kyrychenko).
- В віртуальному оточенні створити програму на мові Python яка буде звертатись з запитом до https://api.openweathermap.org/data/2.5/weather, отримувати і виводити інформацію про погоду для заданого користувачем міста. Для роботи програми потрібно отримати API_KEY (безкоштовно), (https://home.openweathermap.org/) і встановити його як змінну середовища. Запит створюється за допомогою пакету requests. Для всіх значень обов’язково вказати одиниці вимірювання. Необхідні пакети: dotenv, os, platform. Приклад роботи і структура програми наведені в приєднаному файлі.
За результатами роботи оформити звіт і завантажити в Elearn.
Структура звіту:
- Титульний аркуш,
- Текст завдання 1,
- Скріншот Термінала Windows з PowerShell 7.5 (вимоги до скріншотів),
- Скріншот Термінала Windows в якому відображається версія встановленого WSL,
- Скріншот Термінала Linux в якому відображається інформація про встановлений дистрибутив Linux,
- Текст завдання 2,
- Скріншот Термінала Linux з встановленим Midnight Commander,
- Скріншот Термінала Linux в якому відображається версія встаановлених Python і менеджера пакетів pip,
- Текст завдання 3 (не обов'язково),
- Скріншот сайту https://www.perplexity.ai/, де видно, що студент на ньому зареєструвався.
- Скріншот Термінала Linux з активованим віртуальним оточенням python в створеній папці і виводом версії Python.
- Скріншот Термінала Linux з списком встановлених пакетів
- Код програми на мові Python
- Скрінншоти Термінала Linux з результатами роботи програми - виклнання запиту на українській мові, підрахунку кількості токенів і вартості запиту.
- Скрінншоти Термінала Linux з результатами роботи програми - виклнання запиту на англійській мові мові, підрахунку кількості токенів і вартості запиту.
- Текст завдання 4
- Скріншот сайту https://home.openweathermap.org/, де видно, що студент на ньому зареєструвався.
- Скріншот Термінала Linux з активованим віртуальним оточенням python в створеній папціі і виводом версії Python.
- Скріншот Термінала Linux з списком встановлених пакетів
- Код програми на мові Python
- Скрінншоти Термінала Linux з результатами роботи програми (Приклад і структура роботи програми наведені в приєднаному файлі)
- Посилання на відео (на платформі YouTube, обліковий запис НУБіП) з демонстрацією запуску і роботи програм (за вимогою викладача).
Форма подання результатів виконаної роботи: звіт в електронному форматі
Критерії оцінювання:
Максимальна кількість балів - 14 балів
| N | Кількість балів | Критерій |
| 1 | 0 | Роботу не здано |
| 2 | 1 | Віртуальне оточення не створено, або його назва чи назви папок не співпадають з вимогами завдання. |
| 3 | 1 | Код розробленої студентом програми не працює |
| 4 | 1 | Скріншоти, що демонструють роботу програм були правлені в графічному редакторі або іншим чином. |
| 5 | 1-7 | Роботу здано після встановленого терміну. Завдання 3 не виконано. |
| 6 | 1-10 | Роботу здано після встановленого терміну. Всі завдання виконані. |
| 7 | 1-9 | Роботу здано своєчасно. Завдання 3 не виконано. |
| 8 | 1-8 | В роботі не використовується WSL та термінал Linux |
| 9 | 2-5 | Програма працює, але не задовільняє вимогам завдання |
| 10 | 2-5 | Програма працює. Студент не може пояснити роботу коду програми. На більшість питань викладача дає неправильні відповіді. |
| 11 | 6-7 | Програма працює і задовільняє всім вимогам завдання. Звіт оформлено не належним чином (не відповідає вимогам, скріншоти не відповідають вимогам). |
| 12 | 8-9 | Програма працює і задовільняє всім вимогам завдання. Звіт оформлено належним чином (задовільняє всім вимогам, всі скріншоти якісні і мають праввильну орієнтацію) |
| 13 | 9-11 | Програма працює і задовільняє всім вимогам завдання, або має незначні недоліки. Звіт оформлено належним чином. Студент може пояснити роботу коду програми, правильно відповів на переважну більшість питаннь викладача під час захисту роботи. Не виконано завдання 3. |
| 14 | 12-13 | Програма працює і задовільняє всім вимогам завдання, але має незначні недоліки які студент може виправити під час захисту. Всі завдання виконані. Звіт оформлено належним чином. Студент може пояснити роботу коду програми і особливості роботи алгоритму, правильно відповідає на всі питання викладача під час захисту роботи. |
| 15 | 14 | Програма працює і задовільняє всім вимогам завдання. Всі пункти завдання виконані. Звіт оформлено належним чином. Студент може пояснити роботу коду програми і особливості роботи алгоритму, правильно відповідає на всі питання викладача під час захисту роботи. |
Термін подання результатів - згідно календарного плану роботи.
Завдання і приклад структури відповіді програми
- 6 жовтня 2025, 11:20
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання