2.40M

Презентация 18 Шикляев_Драчёв

1.

TELEGRAM-БОТ ДЛЯ ИНФОРМИРОВАНИЯ НАСЕЛЕНИЯ ВО
ВРЕМЯ ПАВОДКОВ
Выполнили:
Шикляев Роман
Драчев Данил
1

2.

Постановка проблемы, цели и задачи
Проблема:
В данный момент оперативная информация о развитии
паводковой ситуации представлена в
неструктурированном и статичном формате:
разрозненные новости, статичные карты и памятки
требуют от пользователей самостоятельного анализа и
интерпретации.
Задачи:
Сбор и подготовка данных;
Создание и наполнение векторного
хранилища;
Разработка мультиагентную RAG-систему;
Интеграция с Telegram-ботом.
Это занимает время, увеличивает когнитивную нагрузку
и риск ошибок принятия решения, особенно в
стрессовых условиях, когда человек в опасности.
Цель:
Разработать Telegram-бота для информирования
граждан о паводковой ситуации, обеспечивающий
быстрый доступ к информации, рекомендации по
безопасному поведению и ответы на типовые вопросы в
удобной и понятной форме.
2

3.

Назначение проекта
Основные пользователи:
Жители Тюменской области (около 50-100 тыс. человек),
прежде всего население территорий, подверженных
паводкам: Тюмень, Тобольск, Ишим и прилегающие районы.
Назначение:
Предоставление персонализированных рекомендаций,
инструкций по действиям и оперативных ответов на вопросы с
учётом местоположения пользователя.
3

4.

Сравнение аналогов
Интерактивная
Сервис / Функция
карта
Отображение
уровней рек в
реальном
времени
Памятки /
инструкции по
паводкам
Новостной блок
/ обновления
Персонализиро
ванные
уведомления
Экстренный
вызов служб
Информация о
временных
пунктах
размещения
Диалоговый
помощник /
чат-бот
Паводковая
обстановка
(Башкортостан)
+
+
+
-
-
-
-
-
Геопортал ЦКУ
(ХМАО)
+
+
-
-
-
-
-
-
Приложение
«МЧС России»
-
-
+
+
+
+
-
4

5.

Архитектурное решение
Работа с LLM: OpenRouter (Llama-3.3 70b
instruct)/Llama 3.1:8b (локальный доступ
через Ollama)
Отправка сообщений: Telegram
(библиотека telebot)
Работа с агентами, RAG: LangGraph,
Langchain
База данных: Postgresql (расширение
для векторных баз PGVector)
Модель-эмбеддер: multilingual-e5-large
(установлена локально)
5

6.

Архитектурное решение – диаграмма BPMN
6

7.

Сравнение моделей-эмбеддеров
Название
модели
Разме Объём
рность
Количес
тво
парамет
ров
Краткое описание
sentence384d
transformers/all
-MiniLM-L6-v2
100mb
22M
Лёгкая и быстрая
модель из семейства
MiniLM. Используется
как baseline для
эмбеддингов.
intfloat/multiling 1024d
ual-e5-large
2.2gb
1B
Крупная модель E5 с
более высоким
качеством извлечения
информации, часто
применяется в RAGсистемах.
Название
модели
Recall
@k
MRR@ nDCG@k
k
sentence0.714
transformers/allMiniLM-L6-v2
0.577
0.649
intfloat/multilingu 0.971
al-e5-large
0.890
0.953
7

8.

Техническое решение
Основные источники данных:
Региональный портал Паводок72.рф –
пункты временного размещения (ПВР);
Сайт МЧС Тюменской области –
бюллетени, памятки, инструкции,
нормативные документы;
Дополнительные справочные материалы –
памятки, инструкции, контакты горячих
линий;
Областные и муниципальные порталы –
рекомендации для населения;
Правовые документы (ФЗ №68 “О защите
населения”).
8

9.

Фрагменты кода
Код retriever(ов) и подключение к базе данных
Код цепочек рассуждения
9

10.

Фрагменты кода – промпт для классификации
Изначальный промпт:
Итоговый промпт:
CLASSIFIER_PROMPT = """Вы — классификатор вопросов.
Ваша задача — определить тип вопроса пользователя и
вернуть ОДНО из следующих значений:
- "law" — если вопрос связан с правовыми нормами,
законами, компенсациями, выплатами, ответственностью
- "flood" — если вопрос связан с наводнениями,
паводками, затоплениями, действиями при ЧС
- "general" — если вопрос не относится ни к правовым, ни
к паводковым темам
CLASSIFIER_PROMPT = """Вы — классификатор
вопросов. Ваша задача — определить тип
вопроса пользователя и вернуть ОДНО из
следующих значений:
- "law" — если вопрос связан с правовыми
нормами, законами, компенсациями,
выплатами, ответственностью
- "flood" — если вопрос связан
ИСКЛЮЧИТЕЛЬНО с наводнениями,
паводками, подтоплениями, разливом рек,
затоплением территорий водой, а также
действиями при ЧС, ВЫЗВАННЫХ ТОЛЬКО
паводками или наводнениями
- "general" — если вопрос не относится ни к
правовым, ни к паводковым темам
Отвечайте ТОЛЬКО одним словом: "law", "flood" или
"general".
Вопрос пользователя: {question}
"""
ВАЖНО:
- Любые другие чрезвычайные ситуации
(гроза, ураган, буря, смерч, шторм, снегопад,
метель, лавина, пожар, землетрясение, жара,
мороз, техногенные аварии и т.п.) НЕ относятся
к категории "flood".
- Если ЧС не связана напрямую с водой и
затоплением территории, выбирайте "general".
- Если есть сомнение, выбирайте "general".
Отвечайте ТОЛЬКО одним словом: "law",
"flood" или "general".
Вопрос пользователя: {question}
"""
10

11.

Фрагменты кода
Код класса состояний графа
11

12.

Фрагменты кода
Код агента для классификации
Код агента по правовым вопросам
12

13.

Фрагменты кода – агента по паводкам
Код агента по паводкам
Код функции для классификации ситуации
13

14.

Фрагменты кода
Код узла поиска пункта эвакуации
Информация о ПВР
14

15.

Фрагменты кода
Код роутера (ребро условия классификации)
Визуальное представление графа
Код роутера (ребро условия необходимости эвакуации )
15

16.

Фрагменты кода
Код создания графа LangGraph
16

17.

Расчёт метрик – BERTScore и Semantic Similarity
Метрика
Значение
Semantic Similarity
0,83
BERTScore F1
0,78
BERTScore Precision
0,77
Степень отсутствия избыточной информации в
ответе модели
0,79
Полнота охвата ключевых
элементов эталонного ответа
BERTScore Recall
Описание
Семантическое сходство ответа бота
эталонным
Баланс между точностью и полнотой ответа
с
семантических
Код расчёта метрик
17

18.

Примеры работы прототипа – работа агента по общим вопросам
18

19.

Примеры работы прототипа – работа агента по правовым вопросам
19

20.

Примеры работы прототипа – работа агента по паводкам
20

21.

СПАСИБО ЗА ВНИМАНИЕ!
21
English     Русский Правила