Проект "Умный городской гид" разрабатывается с целью предоставить жителям и посетителям города удобный и информативный инструмент для быстрой ориентации в городской среде. Основной задачей проекта является сбор, обработка и предоставление разнообразной информации о городе, его объектах, местах отдыха, магазинах, ресторанах и других интересных местах. Целью проекта является улучшение качества жизни горожан и создание комфортных условий для туристов, помогая им изучать и наслаждаться городом.
В основе нашего проекта лежит "бот над всеми ботами" в Телеграмме. BotFather - представляет собой интерфейс доступа к API (Application Programming Interface) мессенджера Telegram. Бот будет представлять графический интерфейс проекта, с помощью которого пользователи могут взаимодействовать с ним.
Чтобы упростить жизнь пользователям в отправке запросов - API Google Maps! Этот API предназначен для визуализации графических данных и взаимодействия с ними. С их помощью мы будем получать геопозицию пользователя и близлежащих объектов, с последующей передачей посредством запроса в модель Яндекса.
Также мы использовали генеративную модель Яндекса - Yandex GPT. API Yandex GPT позволяет использовать возможности генеративных языковых моделей в приложениях и сервисах. Модель Яндекса будет обрабатывать запросы, полученные от пользователей и API Google карт.
Вообще, воспользоваться ботом можно и без лишних настроек. Доступ к нему можно получить по ссылке - https://t.me/map_ai_bot
Но, в обратном случае, начнем с создания телеграмм бота. Для начала регистрируем его юзернейм и получаем токен для доступа к HTTP API Telegram (обязательно его сохраняем, чтобы после указать в python файле, реализующем взаимодействие с API).
Если у Вас не установлен Python, то сперва нужно его установить. Если Вы пользователь Windows, то нужно скачать его с официального сайта. После с помощью командной строки необходимо установить следующие библиотеки: requests, pipeline, telebot, Gmap и json.
Для того, чтобы использовать Yandex GPT, нужно выполнить следующие шаги:
- Создать Яндекс ID (например, зарегистрировавшись в Яндекс.Почте).
- Подключить средство оплаты в Yandex Cloud и при необходимости пополнить баланс.
- Получить ключ авторизации и идентификатор каталога.
- Создать Python файл, реализующий взаимодействие с API.
Также необходимо получить ключ API Google карт и использовать его в Python файле.
В нашем проекте существует три Python файла:
- Gmap.py - реализует взаимодействие с API Google карт. С его помощью мы получаем объекты в радиусе одного километра от пользователя. Данные объектов парсим, вынимая их наименование, улицу и номер здания.
- ourAI.py - корректирует поведение модели Яндекса, для нашей задачи. В этом файле мы прописываем промты и контекст.
- main.py - здесь вся суть, взаимодействие с пользователем. Бот получает геопозицию пользователя и его id, обменивается запросами между API Google карт и Yandex GPT и отправляет готовый ответ пользователю текстовым сообщением.
Примеры, как использовать ваш продукт для решения проблем.
Наш телеграм бот поможет пользователям быстро сориентироваться на местности в незнакомом городе, подскажет где можно перекусить, закупиться продуктами или отдохнуть. Cкриншоты работы бота вы можете найти в папке проекта images.
| № | Роль в проекте | Ф.И.О. (город участника) |
|---|---|---|
| 1 | Менеджер проекта/Scrum-мастер | Ластин Максим Анатольевич (г. Архангельск) |
| 2 | Аналитик данных/Data Scientist | Шавалиев Александр Маратович (г. Челябинск) |
| 3 | Инженер по машинному обучению (ML Engineer) | Иванов Михаил Сергеевич (г. Златоуст) |
| 4 | Full Stack-разработчик | Трабер Леонид Алексеевич (г. Екатеринбург) |
| 5 | Тестировщик-QA инженер | Маухетдинов Евгений (г. Новый Уренгой) |
| 6 | Документалист/технический писатель | Иванов Михаил Сергеевич (г. Златоуст) |
BSD licence






