Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

12. клас · Избираем модул · Урок 27

Проект: тема, планиране и схема

Как се избира тема с точния размер, как се разпределят ролите в екипа и какво съдържат заданието, схемата на базата и описанието на AI функцията.

Какво предстои

Пет часа до края на годината. Четири от тях са работа в клас плюс работа вкъщи, а петият е защита. Проектът тежи 45% от годишната оценка — колкото всичко останало от втория срок, взето заедно.

Задачата е приложение с база от данни и AI компонент. Базата е MySQL или SQLite — каквото сте ползвали в уроци 22–23. AI компонентът минава през Gemini API от Python в Colab или от C#, според това какво екипът владее. Всичко, което сте правили в уроци 19–26 — извикване на модела, JSON изход, „разговор с базата“, обобщаване, семантично търсене, RAG — е строителен материал за проекта. Нищо ново не се учи; сглобява се.

Успешен проект

Работи от край до край, ползва се без автора, границите му са описани честно и всеки от екипа може да обясни всяко решение.

Каква е добрата тема

Най-честата грешка е прекалено голяма тема. Ориентир: ако не можете да опишете входа и изхода в едно изречение, темата е твърде голяма. Добрата тема има четири белега:

  • Малка — три до пет таблици и една AI функция, не „система за управление на…“.
  • С ясен потребител — можете да кажете кой сяда пред приложението и какво го пита.
  • С данни, които може да се съберат или построят — публични, ваши собствени или синтетични (урок 28).
  • Без лични данни — никакви истински имена, снимки на хора, оценки на съученици, телефони. Синтетичните заместват всичко това.
Твърде голямоТочно колкото трябва
Система за управление на училището с AIПомощник по правилника с отговори и цитирано парче
Интелигентен онлайн магазинИзвличане на данни от 30 обяви в таблица и справка по категория
AI за библиотеката„Разговор с базата“ на библиотеката: въпрос на български → SQL → резултат
Платформа за анализ на спортистиСправка за един отбор с графика и абзац текстов анализ

Каталог от примерни теми

Всяка от темите по-долу е с обхват точно колкото за четири часа в клас плюс работа вкъщи. Колоната „минимум, за да работи“ е долната граница: ако я имате, проектът е защитим; всичко отгоре е плюс. Може и своя тема — по същия шаблон.

ТемаAI функциятаМинимум, за да работи
„Разговор с базата“ на училищната библиотека (автори, книги, заемания)въпрос на български → SQL → резултат; само SELECT3 таблици, 30 книги, 5 въпроса дават верен резултат
„Разговор с базата“ на малък склад или магазин (стоки, доставки, продажби)въпрос → SQL с JOIN и GROUP BY3 таблици, 50 продажби, 5 верни въпроса
Чатбот по правилника на училището или устава на клуб (RAG)въпрос → най-близки парчета → отговор с посочен източник1 документ на 20–40 парчета, 8 от 10 въпроса верни, „не знам“ при въпрос извън документа
Помощник по конспекта на един предмет (RAG върху темите)въпрос → отговор само от конспекта, с номер на темата15 теми в базата, 10 тестови въпроса
Извличане на данни от обяви (техника, велосипеди, учебници втора ръка)свободен текст → JSON по схема → INSERT; справка „средна цена по категория“20 обяви, 5 полета, 1 справка с GROUP BY
Дневник на тренировки или четене със свободен текст„днес пробягах 5 км за 28 мин“ → структуриран запис; седмична справка1 таблица, 20 записа, 1 справка
Класификатор на отзиви за училищния бюфет или за събитие (синтетични)текст → тон и тема като етикети в базата; справка по етикети40 отзива, 2 етикета, 1 справка с GROUP BY
Автоматична справка за спортен клуб или отборSQL справка → кратък текстов анализ от модела + графика с matplotlib2 таблици, 1 справка, 1 графика, 1 абзац анализ
Семантично търсене в каталог на рецепти„нещо бързо без месо“ → вектори → 5 най-близки рецепти40 рецепти с вектори, 5 заявки по смисъл
Каталог на настолни игри или филми с препоръка по описаниеописание → вектори + филтър по SQL (брой играчи, времетраене)30 записа, търсене + един SQL филтър
Разписание на училищни събития с помощник„какво има следващата седмица за 10. клас“ → SQL с дати1 таблица, 50 събития, 5 верни въпроса
Попълване на каталог от снимки на корици или етикети (мултимодален модел)снимка → заглавие, автор, година като JSON → INSERT15 снимки, проверка на ръка на всяко поле

Екипът и ролите

Работи се в екип от 2–3 души. Всеки има основна роля, но всеки разбира целия проект — на защитата въпросите не се отправят към „отговорника“, а към когото попадне.

РоляОтговаря заГотово в час
Базасхема, скрипт за създаване, данни, основните справки, изгледи28
AI компонентпромпт, извикване, проверка на отговора, запис в базата, ключът29
Интерфейс, тестове и документациянай-простият ползваем интерфейс, таблица с тестове, документация, декларация29–30

В екип от двама третата роля се дели. Записвайте от днес кой какво е правил — това е един от шестте критерия и един от разделите на документацията.

Задание, схема и описание на AI функцията

Шаблон на заданието

  1. Заглавие и едно изречение: „Приложението получава ____ от ____, пази ____ в базата и връща ____ с помощта на модела.“
  2. Потребител и полза: кой го ползва и какво му спестява.
  3. Данни: източник, обем, реални или синтетични; лични данни — не (и как е осигурено).
  4. Схема на базата: таблици, ключове, връзки (ER схемата отдолу).
  5. AI функция: вход → промпт → извикване → проверка → изход, в четири реда.
  6. Среда: SQLite или MySQL; Python в Colab или C#.
  7. Роли: кой за какво отговаря.
  8. План по часове 28–30 и резервен вариант, ако нещо се провали.

Схема на базата

Три до пет таблици от предметната област, както в модули 3 и 4, плюс една служебна таблица, в която AI функцията записва какво е попитано и какво е върнала. Тя е вашето доказателство на защитата.

avtoriid (PK)imestranaknigiid (PK)zaglavieavtor_id (FK)godinazhanrzaemaniaid (PK)kniga_id (FK)chitatel_kodot_datado_dataai_zayavkiid (PK)vaprossql_textoksazdadeno1∞1∞само чете (SELECT)Предметната област е отляво и горе; дневникът на AI функцията е отделна таблица.
Пример: библиотека с „разговор с базата“. Стрелките 1–∞ са външни ключове; AI функцията само чете предметните таблици и пише единствено в ai_zayavki.

Описание на AI функцията

Едно и също за всяка тема — само съдържанието на стъпките се сменя. Напишете го за вашата функция, преди да е написан и ред код.

ВХОД       какво подава потребителят (въпрос, обява, снимка)
ПРОМПТ     какво добавяте към входа: схема на базата, парчета текст,
           JSON схема, правила („само SELECT“, „отговаряй само от текста“)
ИЗВИКВАНЕ  модел, температура 0, формат на изхода
ПРОВЕРКА   какво проверявате, преди да се доверите: започва ли със SELECT,
           валиден ли е JSON-ът, има ли източник, празен ли е отговорът
ИЗХОД      какво се записва в базата и какво вижда потребителят;
           какво вижда при грешка

Оценяване и график

КритерийТежестКакво се търси
База и заявки25%смислена схема, реални или добре построени данни, основните справки работят
AI компонент25%цялата верига — вход, извикване, проверка на отговора, запис
Интерфейс и тестване15%приложението се ползва без автора; изпробвани гранични случаи
Документация15%включително ограничения, лични данни и декларация за AI инструментите
Защита10%обяснение на решенията и отговори на въпроси
Екип10%ясни роли и принос на всеки

Отрицателният резултат е резултат: опит, който не е подобрил системата, се описва наравно с успешния. Оценява се разбирането, не късметът — проект, който работи на 70% и има точен анализ защо, получава повече от проект, който „работи“ без авторът да може да каже защо.

ЧасКакво е готово в края
27 (днес)задание, схема на базата, роли; одобрена тема
28работеща база с данни и основните заявки
29AI функция от край до край и минимален интерфейс
30тестове, документация, декларация; репетиция
31защита

Какво трябва да запомниш

  • Проектът е приложение с база (MySQL/SQLite) и една AI функция през Gemini API — сглобява се от уроци 19–26.
  • Добрата тема е малка, с ясен потребител, с данни, които може да се построят, и без лични данни.
  • Екип от 2–3 с роли „база“, „AI компонент“, „интерфейс и документация“; всеки обяснява всичко.
  • Заданието описва входа и изхода в едно изречение, схемата и AI функцията в пет стъпки.
  • Шест критерия; автоматично сваляне при лични данни, ключ в хранилището или недеклариран инструмент.
  • Ако в края на час 28 няма данни в базата — темата се свива веднага.