Similar presentations:
Презентация 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.
Архитектурное решение – диаграмма BPMN6
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