Changes between Version 1 and Version 2 of NETIntel-СЦ6-RAG-Chat


Ignore:
Timestamp:
01/21/26 00:49:34 (3 weeks ago)
Author:
231118
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NETIntel-СЦ6-RAG-Chat

    v1 v2  
    1 = NETIntel – СЦ6: Поставување прашање преку RAG/Chat
     1= NETIntel – СЦ6: Поставување прашање преку RAG / Chat
    22
    33== Опис
    4 Оператор поставува прашање. Серверот прави контекст од базата и праќа до LLM за одговор.
     4Најавен оператор или аналитичар поставува прашање преку AI интерфејс.
     5Серверот гради контекст (RAG – Retrieval Augmented Generation) од податоците
     6во базата на податоци и го проследува до LLM сервис за генерирање одговор.
    57
    68== Актери
    7 * Оператор/Аналитичар
     9* Оператор / Аналитичар
     10* Сервер (RAG логика)
    811* LLM сервис (OpenAI)
    912
     13== Предуслови
     14* Валидна корисничка сесија (JWT `session` cookie добиен преку Google OAuth).
     15* Корисникот има пристап до tenant во кој припаѓаат податоците.
     16* Постојат релевантни записи во базата на податоци.
     17
    1018== Главен тек
    11 1. POST /api/chat со question (+ optional computer_name).
    12 2. build_rag_context чита записи од:
    13    * sysmon_events
    14    * computer_history
    15    * computer_processes
    16 3. ask_llm_with_context враќа одговор.
    17 4. UI го прикажува одговорот.
     191. Корисникот внесува прашање во AI интерфејсот (со опционален параметар `computer_name`).
     202. Клиентскиот интерфејс праќа барање `POST /api/chat` со полето `question`.
     213. Серверот го чита `tenant_id` од корисничката сесија и проверува пристап.
     224. Серверот гради RAG контекст преку читање на релевантни записи од базата:
     23   * `sysmon_events`
     24   * `computer_history`
     25   * `computer_processes`
     26   (филтрирани според `tenant_id` и, доколку е зададено, `computer_name`)
     275. Серверот го повикува LLM сервисот со креираниот контекст и поставеното прашање.
     286. LLM сервисот враќа текстуален одговор.
     297. Серверот го проследува одговорот до клиентскиот интерфејс.
     308. Клиентскиот интерфејс го прикажува одговорот на корисникот.
    1831
    19 == Табели
     32== Алтернативни текови / Грешки
     33* Корисникот не е автентициран → HTTP 401 (Unauthorized)
     34* Нема доволно податоци за градење контекст → информативен одговор од LLM
     35* Проблем со LLM сервисот → HTTP 502 (Bad Gateway) или fallback порака
     36
     37== Табели што се засегаат
    2038* sysmon_events
    2139* computer_history