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

Избираем модул · Урок 28

Дипломен проект: архитектура и схема

Схемата на базата, разделянето на слоеве и решенията, които е скъпо да се променят по-късно.

Решенията, които се вземат сега

РешениеСкъпо ли е да се промени послеЗащо
Схема на базатасредномиграции и повторно зареждане
Модел за векторискъпоцялата колекция се преизчислява
Размер на парчетатасредноповторно нарязване и векторизиране
Разделяне на слоевескъпо, ако не е направенокодът се преплита
Име на промпта и версияевтиностига да е предвидено от началото
Доставчик на моделаевтино при добри слоевеиначе засяга целия проект

Схемата

Три групи таблици: вашите данни от предметната област, данните за търсенето и данните за работата на AI функцията.

-- 1. предметна област (вашата тема)
dokumenti(id, zaglavie, vid, v_sila, sazdaden_na, nivo_dostap)

-- 2. търсене
parcheta(id, dokument_id, poredno, tekst, model, vektor, izchisleno_na)

-- 3. работа на функцията
razgovori(id, potrebitel_id, zaglavie, zapochnat_na)
sabshtenia(id, razgovor_id, rolya, tekst, model, versia_prompt,
           tokeni_vhod, tokeni_izhod, ms, ocenka, sazdadeno_na)
sabshtenie_iztochnici(sabshtenie_id, parche_id, blizost)
  • Външни ключове и каскадно изтриване — иначе остават сираци.
  • Индекси по това, по което ще търсите (потребител, дата, документ).
  • Полета за версии още от началото — добавянето им после изисква миграция.
  • Ниво на достъп, дори ако засега всички са равни.

Слоевете

interface (уеб или C# форма)
    → услуга (сглобява промпта, вика модела, проверява отговора)
        → клиент на модела (HTTP, ключ, таймаут, повторни опити)
        → хранилище (търсене, запис, права)
            → база

Проверка за качеството на разделянето

  1. Може ли услугата да се тества с фалшив модел?
  2. Ако сменя доставчика, колко файла се променят?
  3. Има ли SQL в интерфейса? (Ако да — размесени слоеве.)
  4. Има ли промпт, зашит насред логиката?

Диаграми за документацията

  • ER диаграма на базата — както в модул 3.
  • Диаграма на компонентите: четирите слоя и външната услуга.
  • Последователност за един въпрос: кой кого вика и в какъв ред.

Диаграмата е инструмент, не украса

Нарисувайте я сега — половината пропуснати решения се виждат при рисуването, а не при писането на код.