Функциональные характеристики ПО «Конструктор Цифровых витрин» в том числе модулей «Витрина нейросетей», «Файловое хранилище для ИИ (RAG)»
1. Пользовательский контур
Основными сервисами пользовательского контура Конструктора цифровых витрин являются:
1.1 Листинги курсов;
1.2 Карточка курса;
1.3 Рейтинг образовательных организаций;
1.4 Отзывы о курсах и онлайн-школа;
1.5 Преподаватели;
1.6 Сравнение курсов;
1.7 Избранные курсы;
1.8 Подборки образовательных курсов.

Далее будут рассмотрены основные функциональные возможности данных сервисов.
1.1 Сервис «Листинги курсов»
Сервис содержит перечень всех курсов агрегатора. Присутствует возможность ограничения выборки с помощью механизма тегов. Имеется возможность отсортировать курсы по популярности, рейтингу курса, цене, количеству отзывов, дате начала курса, а также оставить в выборе только бесплатные курсы.

Помимо этого, пользователь может осуществить поиск курса, по ключевым словам, с помощью поисковой строки или воспользовавшись фильтрами в правой части экрана. Набор данных функциональных возможностей обеспечивает возможность вывода пользователю более 1400 уникальных листингов, каждый из которых содержит уникальный SEO текст (заголовки H1, описания и прочую информацию). Присутствует возможность добавления курса в список «Сравнение курсов» и «Избранные курсы», а также по нажатию одной кнопки вывести пользователю листинг с похожими, на выбранный курс, карточками курсов. Имеется возможность осуществить переход к карточке курса для просмотра детализированной информации, а также перейти на оригинальную страницу курса образовательной организации по партнёрской ссылке.

Помимо карточек курсов листинг содержит подразделы:
  • Бесплатные курсы — содержит подборку бесплатных курсов, подходящих под критерии данного листинга.
  • Отзывы о курсах – содержит отзывы о курсах, размещенных в рамках данного листинга
  • Часто задаваемые вопросы — содержит блок вопросов и ответов, имеющих отношения к курсам, размещённым на данном листинге.
  • Топ-5 учебных курсов — содержит краткое описание 5 лучших курсов (отобранных по рейтингу) данного листинга.
  • Перечень приобретаемых навыков — содержит перечень ключевых слов, относящихся к курсам данного листинга и раздел внутренней перелинковки.
  • Карта оффлайн-курсов (сейчас в стадии Beta-тестирования) — содержит перечень курсов, доступных для прохождения оффлайн или в смешанном формате. Функционал интегрирован с Яндекс.Картой.
1.2 Сервис «Карточка курса»
Сервис содержит детализированную информацию о курсе, включая описание, стоимость, а также сведения о программе и преподавателях курса. Имеется возможность осуществить переход на оригинальную страницу курса образовательной организации по партнёрской ссылке.
1.3 Сервис «Рейтинг образовательных организаций»
Сервис содержит перечень всех образовательных организаций, курсы которых представлены на платформе. Имеется возможность отсортировать образовательные организации по рейтингу образовательной организации (рейтинг рассчитывается на основании ряда критериев), количеству курсов или количеству отзывов. Помимо этого, пользователь может осуществить поиск образовательной организации по наименованию с помощью поисковой строки. Присутствует возможность перехода в карточку образовательной организации и на сайт образовательной организации. Карточка образовательной организации содержит детальную информацию об образовательной организации, включая количество курсов образовательной организации, представленных на платформе и прочую информацию.
1.4 Сервис «Отзывы о курсах и онлайн-школах»
Сервис содержит перечень всех отзывов агрегатора, относящихся к онлайн-платформе или конкретному курсу. Имеется возможность отсортировать отзывы по количеству оценок отзыва и по дате отзыва. Помимо этого, пользователь может осуществить поиск отзыва, по ключевым словам, с помощью поисковой строки или воспользовавшись фильтрами в правой части экрана. Присутствует возможность оставить жалобу на отзыв и перейти к источнику отзыва.
1.5 Сервис «Преподаватели»
Сервис содержит перечень всех преподавателей агрегатора. Имеется возможность отсортировать преподавателей по рейтингу, ФИО или по количеству курсов. Помимо этого, пользователь может осуществить поиск преподавателя по ФИО с помощью поисковой строки или воспользовавшись фильтрами в правой части экрана. Присутствует возможность перейти в карточку преподавателя для просмотра подробной информации по конкретному преподавателю.
1.6 Сервис «Сравнение курсов»
Сервис позволяет выделять курсы, которые по той или иной причине отметил пользователь в отдельный список под наименованием «Сравнение курсов».
В разделе отображается перечень курсов в формате отображения Face-to-face. Сравнение по различным параметрам курса осуществляется построчно и позволяет пользователю быстрее определить предпочтительный для себя курс.
1.7 Сервис «Избранные курсы»
Сервис позволяет выделять курсы, которые по той или иной причине отметил пользователь в отдельный список под наименованием «Избранные курсы».
В разделе отображается перечень направлений, по которым пользователь добавил курсы в список «Избранные курсы», а также перечень кратких карточек курсов с указанием наименования курса, изображения, рейтинга, количества отзывов и стоимости.
1.8 Сервис «Подборки образовательных курсов»
Сервис позволяет объединять курсы в отдельные листинги, для группировки курсов в произвольные наборы.
В разделе имеется возможность поиска интересующей подборки с помощью поисковой строки и фильтрации подборок в разрезе направлений курсов. В основной части экрана отображаются карточки подборок, содержащие логотип подборки, её наименование и опционально направления (одно или несколько) подборки. При выборе подборки открывается листинг, содержащий курсы, входящие в состав подборки.
2. Административная панель
Основными сервисами административной панели Конструктора цифровых витрин являются:
2.1 Сводка;
2.2 Отчет по листингам;
2.3 Нужно проверить;
2.4 Дубликаты преподавателей;
2.5 Курсы;
2.6 Рейтинг платформы;
2.7 Владельцы курсов;
2.8 Преподаватели;
2.9 Полезные отзывы;
2.10 Пользователи;
2.11 SEO;
2.12 СМИ о нас.

Далее будут рассмотрены основные функциональные возможности данных сервисов.
2.1 Сервис «Сводка»
Сервис позволяет в ежедневном формате обновления отслеживать количество основных сущностей агрегатора (курсы, владельцы, преподаватели, отзывы), видеть хронологию изменений, а также осуществлять выгрузки в различных разрезах в формате .xlsx.
2.2 Сервис «Отчет по листингам»
Сервис позволяет в ежедневном формате обновления отслеживать количество пользовательских просмотров всех листингов агрегатора за последний месяц или за весь период. Присутствует возможности сортировки по столбцам таблицы.
2.3 Сервис «Нужно проверить»
Является одним из ключевых сервисов административной панели. Сервис выполняет функции фильтрации контента, который поступает в результате работы автоматизированных сканеров, а также позволяет поддерживать актуальность и корректность контента, добавленного вручную. Данный сервис содержит набор специальных алгоритмов, при выполнении которых контент попадает на ручную проверку методологам. По итогам ручного просмотра контента методолог принимает решение о принятии предлагаемых агрегатором изменений или отклонении. Присутствует возможность фильтрации, поиска и сортировки.
2.4 Сервис «Дубликаты преподавателей»
Сервис помогает разобрать и устранить случаи, при которых появляется две карточки на одного и того же преподавателя. Такое происходит, как правило, в случае, когда курсы преподавателя размещены на разных платформах. Присутствует возможность фильтрации, поиска и сортировки.
2.5 Сервис «Курсы»
Сервис предназначен для добавления новых или редактирования существующих карточек курсов. Реализована возможность скрывать карточки курсы из пользовательского контура или публиковать их. Присутствует возможность фильтрации, поиска и сортировки. Данный сервис позволяет перейти в карточку курса для просмотра/редактирования/добавления информации.
2.6 Сервис «Рейтинг платформы»
Сервис предназначен для редактирование рейтинга той или иной платформы-поставщика курсов на основе разработанных критериев. Сервис в том числе позволяет редактировать рейтинг как платформы-поставщика в целом, так и в разрезе конкретных направлений обучения.
2.7 Сервис «Владельцы курсов»
Сервис предназначен для добавления новых или редактирования существующих карточек владельцев курсов. Реализована возможность скрывать карточки владельцев курсов из пользовательского контура или публиковать их. Присутствует возможность фильтрации, поиска и сортировки. Данный сервис позволяет перейти в карточку владельца для просмотра/редактирования/добавления информации, а также осуществлять просмотр статистики по каждому владельцу курсов.
2.8 Сервис «Преподаватели»
Сервис предназначен для добавления новых или редактирования существующих карточек преподавателей. Реализована возможность скрывать карточки преподавателей из пользовательского контура или публиковать их. Присутствует возможность фильтрации, поиска и сортировки. Данный сервис позволяет перейти в карточку преподавателя для просмотра/редактирования/добавления информации.
2.9 Сервис «Полезные отзывы»
Сервис предназначен для добавления новых или редактирования существующих карточек отзывов. Реализована возможность скрывать карточки отзывов из пользовательского контура или публиковать их. Присутствует возможность фильтрации, поиска и сортировки. Данный сервис позволяет перейти в карточку отзыва для просмотра/редактирования/добавления информации.
2.10 Сервис «Пользователи»
Сервис предназначен для управления учетными записями пользователей (создание/редактирование/удаление). Присутствует разделение на администраторов и пользователей. Присутствует возможность фильтрации, поиска и сортировки.
2.11 Сервис «SEO»
Сервис предназначен для управления SEO-параметрами листингов курсов. Позволяет редактировать описания, публикуемые на пользовательском контуре. Осуществлять управление тегами и управлять разделом часто-задаваемых вопросов на листинге курсов.
2.12 Сервис «СМИ о нас»
Сервис предназначен для управления блоком «СМИ о нас» на главной странице агрегатора.

Описание функциональных характеристик модулей «Витрина нейросетей», «Файловое хранилище для ИИ (RAG)» Конструктора цифровых витрин

1. Общие сведения о Программе
1.1 Назначение Программы
1.2 Состав Программы и основные модули
1.3 Роли пользователей и общая модель использования
1.4 Ограничения и допущения

2. Обзор функциональных возможностей Программы
2.1 Перечень функциональных областей
2.2 Общая схема пользовательских сценариев

3. Функциональные возможности «Витрины нейросетей» и «Файлового хранилища для ИИ (RAG)»
3.1 Доступ к системе и личный кабинет
3.2 Работа с витриной нейросетей
3.3 Диалог с моделями и ИИ-агентами
3.4 Работа с файлами и базой знаний (RAG)
3.5 Управление балансом и промокодами
3.6 Дополнительные пользовательские функции

4. Функциональные возможности интеграции с внешними сервисами
4.1 Интеграция с AI-провайдерами
4.2 Интеграция с OAuth-провайдерами
4.3 Интеграция с платёжными системами
1. Общие сведения о Программе
1.1 Назначение Программы
Модули «Витрина нейросетей», «Файловое хранилище для ИИ (RAG)» программы для ЭВМ «Конструктор цифровых витрин» (далее – Модули, Программа) предназначены для организации и эксплуатации цифровой платформы, обеспечивающей:
  • предоставление пользователям доступа к ИИ-функциональности через модуль «Витрина нейросетей»;
  • использование пользовательских и/или корпоративных документов в задачах искусственного интеллекта на основе подхода Retrieval-Augmented Generation (RAG) через модуль «Файловое хранилище для ИИ (RAG)»;
  • централизованное управление пользователями, правами доступа, моделями ИИ, ИИ-агентами, интеграциями с внешними AI-провайдерами и иными сервисами.
С функциональной точки зрения Программа решает следующие основные задачи:
  • Организация витрины AI-провайдеров – Программа предоставляет пользователям удобный каталог доступных провайдеров и моделей, а также персональных ИИ-агентов, с возможностью выбора нужного инструмента под конкретную задачу (генерация текста, анализ, решение специализированных задач, работа на основе загруженных документов и т.п.).
  • Диалоговое взаимодействие с моделями ИИ и ИИ-агентами
  • Программа обеспечивает ведение текстовых диалогов (чатов) с выбранными моделями/агентами, включая:
  • автоматический выбор модели при использовании быстрого чата и режима «Авто» при выборе провайдера;
  • сохранение истории диалогов;
  • поддержку потоковой передачи ответов ИИ (стриминг);
  • возможность учёта контекста: истории сообщений, загруженных файлов, внешних источников информации.
  • Создание и использование базы знаний на основе файлов (RAG) – Программа предоставляет пользователям возможность:
  • загружать файлы (документы) в систему;
  • формировать на их основе векторизированную базу знаний;
  • использовать содержимое этих файлов в качестве контекста при формировании ответов моделей ИИ.
  • Управление пользователями, правами и балансом – Программа позволяет:
  • администрировать учётные записи пользователей и их роли;
  • управлять доступностью моделей и агентов для различных пользователей;
  • вести учёт потребления ИИ-ресурсов.
  • Интеграция с внешними сервисами – Программа поддерживает интеграции:
  • с внешними AI-провайдерами (для доступа к моделям ИИ);
  • с OAuth-провайдерами (для аутентификации пользователей);
с платёжными системами.
1.2 Состав Программы и основные модули
С точки зрения функциональных возможностей Программа включает следующие основные модули и подсистемы:
1.    Модуль «Витрина нейросетей» – функциональный модуль, предоставляющий пользователям:
o   каталог провайдеров ИИ и ИИ-агентов;
o   возможность использования быстрого чата и режима «Авто» внутри провайдера;
o   интерфейс выбора и настройки моделей/агентов;
o   интерфейс диалогового взаимодействия (чат) с выбранной моделью/агентом;
o   возможность использования дополнительных режимов (RAG, поиск в сети и др.).
2.    Модуль «Файловое хранилище для ИИ (RAG)» – функциональный модуль, обеспечивающий:
o   загрузку и хранение файлов пользователей;
o   управление списком файлов и коллекций файлов;
o   подготовку файлов к использованию в RAG-сценариях (индексация, построение эмбеддингов);
o   предоставление релевантных фрагментов документов в качестве контекста для моделей ИИ.
3.    Подсистема управления пользователями и ролями – обеспечивает:
o   ведение учётных записей пользователей (создание/регистрация, изменение, блокировка);
o   назначение и изменение ролей (Пользователь/Клиент, Администратор);
o   функциональное разграничение доступа к возможностям Программы в зависимости от роли и статуса пользователя.
4.    Подсистема аутентификации и авторизации – обеспечивает:
o   вход пользователей в систему (по email/паролю и/или через внешние OAuth-провайдеры);
o   проверку прав доступа к функциональным операциям (управление моделями и агентами, действия в интерфейсе).
5.    Подсистема управления балансом и тарификацией (нейрокоины) – при использовании внутренней учётной единицы:
o   фиксирует текущий баланс пользователя;
o   учитывает расход ресурсов при запросах к моделям ИИ и другим ресурсоёмким операциям;
o   обеспечивает функционал просмотра баланса и истории списаний/начислений пользователем, а также управления тарифами и промокодами администратором.
6.    Административная панель – специализированный интерфейс и набор серверных функций для Администраторов, обеспечивающий:
o   управление пользователями и ролями;
o   управление моделями ИИ и витриной нейросетей;
o   управление ИИ-агентами;
o   управление AI-провайдерами и параметрами интеграций;
o   управление промокодами;
o   обзор логов и статистики.
7.    Подсистема RAG (специализированный сервис работы с файлами и эмбеддингами) – обеспечивает:
o   извлечение текста из файлов;
o   разбиение текста на фрагменты;
o   построение эмбеддингов и сохранение их в векторном хранилище;
o   семантический поиск по базе эмбеддингов по запросу пользователя.
8.    Подсистема интеграции с AI-провайдерами – включает:
o   единый (унифицированный) подход для обращения к различным провайдерам ИИ-моделей;
o   адаптеры (клиенты) конкретных провайдеров;
o   функционал учёта лимитов и особенностей API внешних сервисов.
9.    Подсистема интеграции с внешними сервисами аутентификации, платёжными и поисковыми системами – обеспечивает:
o   вход через внешних OAuth-провайдеров;
o   взаимодействие с платёжными системами (для пополнения баланса);
o   доступ к внешним поисковым/информационным сервисам в режиме «Искать в сети».
Перечень и состав модулей могут быть расширены при модификации Программы, при этом базовый функциональный состав, описанный в настоящем документе, отражает исходную поставку Программы.
1.3 Роли пользователей и общая модель использования
С функциональной точки зрения в Программе выделяются следующие типы пользователей (ролей):
1.    Пользователь / Клиент – конечный пользователь Программы, взаимодействующий с ней через пользовательский веб-интерфейс. Доступные функциональные возможности:
o   вход в систему и работа в пределах собственной учётной записи;
o   просмотр витрины нейросетей (список доступных провайдеров, моделей и агентов);
o   создание и ведение чатов с моделями ИИ и ИИ-агентами;
o   работа с собственными файлами и базами знаний:
§  загрузка файлов;
§  просмотр статуса обработки файлов;
§  использование файлов при ведении диалога (RAG);
o   просмотр и управление собственным балансом и промокодами;
o   использование дополнительных сервисных функций (вспомогательные операции интерфейса).
2.    Администратор – пользователь с расширенными полномочиями, выполняющий функции сопровождения и настройки Программы. Доступные функциональные возможности:
o   доступ к Админ-панели;
o   управление пользователями и их ролями;
o   управление провайдерами, моделями ИИ и конфигурацией витрины нейросетей;
o   управление ИИ-агентами;
o   управление интеграциями с AI-провайдерами;
o   управление промокодами и партнёрскими программами (при их доработке);
o   просмотр логов и статистики, связанных с работой Программы;
o   изменение системных настроек в пределах предоставленного функционала.
Дополнительные роли (при модификации Программы) – в базовом описании используются роли «Пользователь / Клиент» и «Администратор».
1.3.1 Общая модель использования Программы
На уровне пользовательских сценариев общая модель использования Программы следующая:
  • Пользователь/Клиент:
1.    Авторизуется в Программе.
2.    Через витрину нейросетей выбирает провайдера, затем модель (либо использует функционал быстрого или режима «Авто» внутри провайдера) или ИИ-агента.
3.    Ведёт диалог с выбранной моделью/агентом, при необходимости:
§  включая использование загруженных файлов в качестве базы знаний;
§  включая режимы поиска в сети (при наличии и разрешении).
4.    Загружает новые файлы и управляет своими существующими файлами/коллекциями для RAG.
5.    Отслеживает свой баланс и историю операций.
  • Администратор:
1.    Авторизуется с административными полномочиями.
2.    Через Админ-панель управляет:
§  пользователями и их ролями;
§  провайдерами, моделями ИИ и витриной нейросетей;
§  ИИ-агентами;
§  промокодами, партнёрскими настройками.
Анализирует логи и статистику работы системы, при необходимости изменяя настройки или ограничивая использование отдельных функций/провайдеров.
1.4 Ограничения и допущения
1.4.1 Функциональные ограничения базовой поставки
К числу типовых функциональных ограничений относятся:
  • Ограничения по типам и объёму обрабатываемых файлов – поддерживаемые форматы и максимальные размеры файлов определяются в зависимости от ограничений моделей. В базовом функциональном описании предполагается:
  • ограниченный перечень типов файлов, пригодных для извлечения текста (текстовые и распространённые офисные форматы);
  • ограничения по размеру изображений (в зависимости от модели; также часть моделей не поддерживают загрузку изображений).
  • Ограничения по использованию внешних AI-провайдеров – набор доступных моделей и их возможностей может зависеть:
  • от конкретных настроек провайдеров;
  • от тарифных планов у этих провайдеров;
  • от выбранной политики (запрет использования определённых моделей или передачу определённых типов данных во внешние сервисы).
  • Ограничения по количеству и объёму запросов к ИИ – в целях соблюдения лимитов провайдеров и/или внутренних политик могут действовать ограничения:
  • по длине запросов и ответов (контекстное окно);
  • по общему размеру одновременно загружаемых файлов.
Ограничения по функционалу, не входящему в базовую поставку – отдельные функции могут быть предусмотрены архитектурно, но не активированы или не реализованы в базовой версии Программы (например, отдельные типы аналитических отчётов, специализированные виджеты или интеграции). Их реализация и включение могут относиться к доработкам в рамках модификации Программы.
1.4.2 Допущения и условия использования
При описании функциональных возможностей делаются следующие допущения:
  • Программа используется в инфраструктуре, удовлетворяющей техническим и эксплуатационным требованиям (ресурсы, сеть, политика безопасности).
  • Конкретные значения лимитов (размеры файлов, контекстное окно и др.) вытекают из технических требований и настроек интеграций.
  • Возможно изменять и расширять функциональные возможности Программы (в том числе добавлять собственные модули, интеграции, роли, модели ИИ), при этом:
  • базовые механизмы управления пользователями, ролями, моделями, файлами и RAG сохраняются как основа;
  • изменения и расширения должны учитывать архитектурные и нефункциональные требования, изложенные в сопутствующих документах.
2. Обзор функциональных возможностей Программы
2.1 Перечень функциональных областей
Функциональные возможности Программы условно группируются по следующим основным областям:
1.    Функциональная область «Витрина нейросетей и диалог с ИИ» – включает функционал:
o   отображения каталога провайдеров ИИ и ИИ-агентов;
o   использования быстрого чата и режима «Авто» в рамках выбранного провайдера;
o   выбора и настройки моделей/агентов;
o   создания и ведения диалогов (чатов) с выбранными моделями/агентами;
o   использования дополнительных режимов (в том числе с использованием файлов и поиска в сети, при наличии соответствующей функциональности у выбранной модели).
2.    Функциональная область «Работа с файлами и база знаний (RAG)» – включает функционал:
o   загрузки файлов пользователями;
o   управления файлами (просмотр, удаление, отображение статусов обработки);
o   применения RAG-подхода при формировании ответов моделей ИИ (семантический поиск по содержимому файлов и использование найденных фрагментов в качестве контекста).
3.    Функциональная область «Управление пользователями и доступом» – включает функционал:
o   создания и управления учётными записями пользователей;
o   применения и изменения ролей (Пользователь/Клиент, Администратор и др.);
o   аутентификации пользователей (вход по логину/паролю и/или через внешних OAuth-провайдеров);
o   авторизации – проверки прав доступа к функциональным операциям и данным.
4.    Функциональная область «Баланс, тарификация и промокоды» – включает функционал:
o   отображения и учёта баланса пользователя (внутренняя учётная единица – нейрокоин);
o   учёта расходования токенов при запросах к моделям ИИ и другим ресурсоёмким операциям;
o   отображения пользователю истории списаний;
o   применения промокодов;
o   административной настройки стоимости запросов к моделям ИИ и промокодов.
5.    Функциональная область «Административное управление» – включает функционал административной панели:
o   управление пользователями, их ролями и статусами;
o   управление провайдерами, моделями ИИ и их конфигурациями;
o   управление системными ИИ-агентами (создание, редактирование, настройка доступности);
o   управление интеграциями с внешними сервисами (AI-провайдеры, OAuth-провайдеры, платёжные системы);
o   управление общесистемными настройками (ограничения по файлам, включение/отключение моделей ИИ);
o   просмотр логов.
6.    Функциональная область «Интеграции с внешними сервисами» – включает функционал:
o   взаимодействия с внешними AI-провайдерами для выполнения запросов к моделям ИИ;
o   интеграции с внешними сервисами аутентификации (OAuth-провайдерами);
o   интеграции с платёжными системами.
7.    Функциональная область «Мониторинг работы» – включает функционал:
o   просмотра административных журналов (логов) событий;
o   формирования и просмотра аналитики по использованию ИИ-ресурсов и пользователям (в объёме, предусмотренном функционалом).
  • Каждая из указанных функциональных областей реализована набором пользовательских интерфейсов и серверных функций, более детально описываемых в последующих разделах.
2.2 Общая схема пользовательских сценариев
В настоящем подразделе описываются наиболее типичные сценарии использования Программы с точки зрения функциональных возможностей, без привязки к конкретным техническим механизмам реализации.
2.2.1 Сценарий «Пользователь начинает работу с Программой»
1.    Пользователь получает доступ к Программе (адрес веб-интерфейса, регистрируется под своими учётными данными, либо через Яндекс / Telegram).
2.    Пользователь авторизуется:
o   по логину и паролю;
o   либо через внешнего OAuth-провайдера (Яндекс / Telegram).
3.    В результате успешного входа пользователь попадает на главную страницу – витрину нейросетей:
o   видит витрину нейросетей, чаты (при наличии; если новый аккаунт – чаты будут отсутствовать);
o   может перейти к интересующему провайдеру или написать свой запрос в быстрый чат, а также может перейти в ранее созданный чат (при наличии; если новый аккаунт – чаты будут отсутствовать).
2.2.2 Сценарий «Пользователь работает с витриной нейросетей»
1.    Пользователь просматривает раздел витрины нейросетей.
2.    В витрине отображается быстрый чат, наиболее часто используемые модели (при наличии; если новый аккаунт – наиболее часто используемые модели будут отсутствовать), каталог провайдеров ИИ по категориям и ИИ-агентов, доступных пользователю с учётом его роли и настроек.
3.    Пользователь:
o   отправляет запрос в быстрый чат;
o   переходит к чату с одной из двух моделей, которые наиболее часто использовал (при наличии; если новый аккаунт – наиболее часто используемые модели будут отсутствовать);
o   просматривает список доступных провайдеров/агентов;
o   открывает карточку интересующего провайдера/агента для ознакомления с описанием и стоимостью в нейрокоинах.
4.    Пользователь после выбора провайдера и модели (либо использования быстрого чата или режима «Авто» в рамках выбранного провайдера) / агента инициирует создание новой чат-сессии либо открывает уже существующий чат с ранее выбранными провайдером и моделью / агентом.
2.2.3 Сценарий «Диалог с моделью/агентом без RAG
1.    Пользователь в окне чата вводит текстовый запрос (сообщение) – либо вручную, либо вставкой из буфера обмена, либо голосовым вводом, а далее либо с использованием, либо без использования функции улучшения промпта.
2.    Программа принимает сообщение и обрабатывает его:
o   проверяет права пользователя;
o   проверяет достаточность баланса;
o   подготавливает запрос к выбранной модели (или выбирает модель в режиме «Авто») / агенту.
3.    Программа отправляет запрос к модели ИИ через интеграцию с AI-провайдером и получает ответ.
4.    Ответ отображается пользователю в интерфейсе чата при поддержке стриминга – по мере генерации ответа моделью.
5.    История диалога сохраняется и доступна пользователю для последующего просмотра и продолжения.
2.2.4 Сценарий «Загрузка файлов и формирование базы знаний (RAG)»
1.    Пользователь открывает раздел работы с файлами – «Загруженные файлы».
2.    Пользователь выбирает один или несколько файлов (в соответствии с требованиями по ограничениям) для загрузки и отправляет их в Программу.
3.    Программа:
o   принимает файлы;
o   отображает их в списке с начальным статусом («лоадер»);
o   инициирует фоновую обработку файлов (извлечение текста, разбиение на фрагменты, построение эмбеддингов).
4.    По мере завершения обработки статус файлов изменяется – «лоадер» перестает отображаться, появляется иконка рядом с загруженным файлом (либо «ошибка», если произошёл сбой), что отображается пользователю.
2.2.5 Сценарий «Диалог с использованием RAG (файлы как база знаний)»
1.    В интерфейсе чата пользователь:
o   выбирает один или несколько ранее загруженных и обработанных файлов;
o   либо использует ИИ-агента, к которому привязывает файлы в виде базы знаний.
2.    Пользователь формулирует вопрос и отправляет сообщение.
3.    Программа:
o   по тексту запроса выполняет обращение к модулю RAG;
o   получает релевантные фрагменты документов;
o   формирует запрос к модели ИИ с учётом этих фрагментов в качестве контекста.
4.    Модель ИИ формирует ответ с учётом содержимого файлов, переданных в контексте.
5.    Ответ отображается пользователю.
2.2.6 Сценарий «Пользователь управляет балансом и промокодами»
1.    Пользователь открывает раздел «Баланс».
2.    В разделе отображается:
o   текущий тариф;
o   текущий баланс (нейрокоины);
o   поле для ввода промокода;
o   блок для подключения способа оплаты;
o   информация о последних списаниях.
3.    Пользователь может:
o   перейти к операции пополнения баланса – покупки подписки или докупки нейрокоинов к действующей подписке;
o   активировать промокод;
o   перейти к привязке способа оплаты.
4.    Программа отображает результат:
o   успешное пополнение баланса или применение промокода;
o   либо сообщение об ошибке/отказе (при некорректном промокоде, отказе платёжной системы и т.п.).
2.2.7 Сценарий «Администратор управляет пользователями и моделями»
1.    Администратор входит в админ-панель Программы с административными правами.
2.    В разделе «Пользователи»:
o   просматривает список пользователей и использует поиск и фильтрацию;
o   просматривает детальную информацию о пользователе;
o   выполняет административные действия:
1.    изменяет роль;
2.    блокирует / разблокирует пользователя;
3.    удаляет пользователя;
4.    изменяет баланс пользователя.
3.    В разделе «Нейросети»:
o   просматривает список доступных моделей;
o   добавляют и осуществляют конфигурацию моделей:
1.    выбирают AI-провайдера, тип модели (текстовая, графическая);
2.    настраивают параметры (основные данные модели, доступность модели);
o   управляют статусом моделей:
1.    включение/выключение отображения на витрине;
o   просматривают количество пользователей, которые имеют доступ к модели.
4.    В разделе «Агенты»:
o   просматривают список агентов;
o   создают и редактируют агентов, указывая:
1.    название, описание;
2.    системный промпт;
3.    используемую модель;
4.    базу знаний агента;
o   настраивают доступность агентов (кто может использовать).
5.    В разделе «Управление AI»:
o   управляют подключёнными AI-провайдерами;
o   управляют подключёнными AI-моделями;
o   просматривают список аккаунтов AI;
o   просматривают список логов AI.
6.    В разделе «Баланс»:
o   просматривают транзакции пользователей;
o   просматривают общий объём потребления нейрокоинов пользователями.
7.    В разделе «Промокоды»:
o   добавляют, удаляют промокоды с указанием промокода, количества нейрокоинов, начисляемых при использовании промокода, текущее количество использований промокода и максимальное количество использований промокода.
8.    В разделе «Документы»:
управляют юридическими документами Программы.
3. Функциональные возможности «Витрины нейросетей» и «Файлового хранилища для ИИ (RAG)»
В настоящем разделе описываются функциональные возможности Программы. Под Пользователем понимается конечный пользователь Программы, использующий:
  • модуль «Витрина нейросетей»;
  • модуль «Файловое хранилище для ИИ (RAG)»;
  • и связанные с ними подсистемы (чаты, баланс, промокоды и др.) через пользовательский веб-интерфейс (frontend) Программы.
Ниже описан базовый перечень функциональных возможностей для роли Пользователь.
3.1 Доступ к системе и личный кабинет
3.1.1 Вход в систему
Пользователь имеет возможность:
1.    Открыть веб-интерфейс Программы по предоставленному ему URL.
2.    Авторизоваться в системе одним из способов:
o   по логину (адресу электронной почты) и паролю;
o   через внешнего OAuth-провайдера (Яндекс / Telegram).
При успешном входе Пользователь получает доступ к разделам, соответствующим его роли.
При неуспешной попытке входа (неверный логин, пароль, недействительная учётная запись и т.п.) Пользователь получает информативное сообщение об ошибке (без раскрытия лишних технических деталей).
3.1.2 Выход из системы
Пользователь имеет возможность:
  • выполнить явный выход из системы (Logout) через соответствующую кнопку в интерфейсе;
  • после выхода повторный доступ к функционалу возможен только после повторной аутентификации.
3.1.3 Просмотр и изменение личных данных (в пределах доступного функционала)
В личном кабинете Пользователь может:
  • просмотреть основные сведения о своей учётной записи (адрес электронной почты, отображаемое имя);
  • при наличии соответствующих функций:
  • изменить имя и адрес электронной почты;
  • изменить пароль (при аутентификации по логину/паролю) – путём ввода нового пароля;
  • выйти из аккаунта;
  •  удалить аккаунт.
3.1.4 Восстановление доступа
Пользователь может воспользоваться функционалом самостоятельного восстановления пароля:
  • инициировать восстановление доступа («Забыли пароль?»);
  • указать свой адрес электронной почты;
  • по полученному коду задать новый пароль.
3.2 Работа с витриной нейросетей
Раздел описывает функционал для Пользователя в модуле «Витрина нейросетей».
3.2.1 Просмотр каталога провайдеров и ИИ-агентов
Пользователь имеет возможность:
  • открыть раздел витрины нейросетей;
  • отправить запрос в быстрый чат;
  • перейти к чату с наиболее часто используемой моделью;
  • просмотреть каталог доступных провайдеров ИИ и ИИ-агентов, отображаемых в соответствии с:
  • настройками доступности, выполненными Администратором;
  • видеть для каждого провайдера/агента краткую информацию:
  • наименование;
  • краткое описание назначения (для ИИ-агентов);
  • информацию о расходе внутренней единицы (нейрокоины) при использовании (для ИИ-агентов).
3.2.2 Просмотр подробной информации о провайдерах и моделях/агенте
Пользователь имеет возможность:
  • открыть карточку провайдера и просмотреть более подробную информацию о моделях, относящихся к выбранному провайдеру, включая:
  • текстовое описание назначения;
  • стоимость использования (в нейрокоинах);
  • открыть карточку ИИ-агента и просмотреть более подробное описание, включающее:
  • текстовое описание назначения;
  • приветственное сообщение от ИИ-агента с пояснением его функциональных возможностей;
  • стоимость использования (в нейрокоинах).
Из карточки провайдера/агента Пользователь может перейти к созданию новой чат-сессии или открыть уже имеющийся чат (при наличии ранее созданного чата).
3.3 Диалог с моделями и ИИ-агентами
Раздел описывает функционал пользовательского чата.
3.3.1 Создание нового чата
Пользователь имеет возможность:
  • отправить запрос в быстрый чат;
  • выбрать в витрине нейросетей провайдера ИИ или ИИ-агента;
  • инициировать создание нового чата (диалоговой сессии);
  • отправить запрос в чат (название чата сформируется автоматически).
После создания чата Пользователь видит окно диалога, где отображается история сообщений (изначально пустая или с возможным приветственным сообщением агента).
3.3.2 Создание нового чата
Пользователь имеет возможность:
  • перейти на страницу для просмотра списка своих чатов;
  • видеть перечень ранее созданных диалогов:
  • с указанием названия чата (если есть);
  • с указанием логотипа провайдера в соответствии с моделью, с которой ведется диалог;
  • выбрать интересующий чат и продолжить диалог:
  • вся предыдущая история сообщений отображается в интерфейсе;
  • новые сообщения добавляются к текущему контексту.
3.3.3 Отправка сообщений и получение ответов
В рамках открытого чата Пользователь может:
  • вводить текстовые сообщения (вопросы, команды, задания);
  • отправлять сообщения в Программу;
  • получать ответы от модели/агента, отображаемые в виде сообщений ИИ.
Также реализована поддержка стриминга:
  • Пользователь видит постепенное появление ответа, по мере генерации текстовой модели.
  • Программа сохраняет историю диалога (в том числе с учётом изменений контекста и используемых файлов).
3.3.4 Переключение режимов работы (с файлами, с поиском в сети и др.)
В интерфейсе чата Пользователь может иметь возможность:
  • включать/выключать режим использования файлов (RAG), выбирая набор файлов, которые должны учитываться как база знаний;
  • включать/выключать режим поиска в сети (при наличии такого режима у конкретной модели);
  • включать/выключать режим рассуждения (при наличии такого режима у конкретной модели);
  • включать режимы улучшения промпта и/или голосового ввода.
Включение того или иного режима влияет на то, какие дополнительные данные будут использоваться при формировании ответа ИИ.
3.3.5 Дополнительные функции чата
Программа предоставляет Пользователю дополнительные функции, в числе которых:
  • копирование текста ответа (кнопка «копировать»);
  • создание «нового» диалога с той же моделью/агентом;
  • переименование чата;
  • закрепление чата в верхней строке списка чатов;
  • перенос чата в нужную папку;
  • создание и копирование ссылки на чат.
3.4 Работа с файлами и базой знаний (RAG)
Раздел описывает функциональные возможности Пользователя по работе с модулем «Файловое хранилище для ИИ (RAG)».
3.4.1 Загрузка файлов
Пользователь имеет возможность:
  • открыть раздел работы с файлами – «Загруженные файлы»;
  • выбрать один или несколько файлов для загрузки (через модальное окно выбора файлов или перетаскиванием);
  • инициировать загрузку файлов в Программу.
После начала загрузки Программа:
  • отображает процесс загрузки («лоадер»);
  • по завершении загрузки:
  • фиксирует файл в списке пользователя;
  • устанавливает иконку для загруженного файла.
3.4.2 Просмотр списка и статуса файлов
Пользователь имеет возможность:
  • просмотреть список своих файлов, содержащий:
  • наименование файла;
  • размер;
  • иконку о статусе обработки;
  • кнопку удаления файла.
Статус обработки даёт пользователю понимание, готов ли файл к использованию в задачах RAG (в диалогах с ИИ).
3.4.3 Управление файлами (удаление)
Пользователь имеет возможность:
  • удалять свои файлы из Программы (с соответствующим подтверждением действия).
Удалённые файлы более не доступны для использования в RAG-запросах и диалогах. Подробная логика удаления и переиндексации описывается в архитектурном документе, здесь же фиксируется возможность выполнения соответствующих действий Пользователем.
3.4.4 Использование файлов в диалоговых сценариях (RAG)
Пользователь имеет возможность:
  • при ведении диалога с моделью/агентом:
  • выбрать один или несколько файлов из своих загруженных и обработанных файлов.
При последующих сообщениях в чате Программа:
  • учитывает выбранные файлы при формировании ответа модели ИИ;
  • использует содержимое файлов для поиска релевантных фрагментов и передачи их в модель ИИ в качестве контекста.
3.5 Управление балансом и промокодами
Программа используется в режиме, когда обращение к моделям ИИ тарифицируется с использованием внутренней учётной единицы (нейрокоина), Пользователь получает соответствующие функциональные возможности.
3.5.1 Просмотр текущего баланса
Пользователь имеет возможность:
  • открыть раздел баланса в своём личном кабинете;
  • увидеть:
  • текущее значение баланса (количество доступных единиц – нейрокоинов);
  • информацию о применяемых тарифах.
3.5.2 Просмотр истории списаний и начислений
Пользователь имеет возможность:
  • просмотреть историю транзакций по своему балансу, включающую:
  • дату и время операции;
  • тип операции (списание, начисление);
  • причину/основание (название чата, применение промокода и т.п.);
  • величину изменения баланса.
История отображена в виде таблицы с возможностью поиска по названию чата или транзакции.
3.5.3 Использование промокодов
В части функционала промокодов Пользователь имеет возможность:
  • перейти в раздел «Баланс» для ввода промокода;
  • ввести значение промокода в соответствующее поле;
  • отправить запрос на его активацию.
При успешной активации Программа:
  • производит начисление бонусных единиц на баланс Пользователя;
  • отображает Пользователю результат.
При некорректном промокоде или при невозможности его применения (истёк срок действия, превышено число активаций и т.п.) Пользователь получает информативное сообщение об ошибке.
3.5.4 Дополнительные операции с балансом
Пользователь может осуществить следующие действия с балансом:
  • инициировать пополнение баланса:
  • выбрать тариф для покупки нейрокоинов или докупки нейрокоинов;
  • перейти к платёжной форме (на стороне платёжного сервиса);
  • после успешного платежа увидеть обновлённый баланс.
Конкретные механизмы оплаты и интеграции описываются в иных документах; здесь фиксируется только доступность для Пользователя операций по пополнению и результат их выполнения.
3.6 Дополнительные пользовательские функции
В дополнение к основным сценариям, Программа может предоставлять Пользователю ряд вспомогательных функциональных возможностей.
3.6.1 Уведомления и сообщения системы
Пользователь может получать в интерфейсе:
  • уведомления о системных событиях, связанных с его действиями, например:
  • ошибки обработки файлов;
  • изменение баланса;
  • истечение или невозможность применения промокода;
  • ошибки интеграций (например, временная недоступность отдельных моделей);
  • информационные сообщения (подсказки, предупреждения о лимитах, рекомендации по использованию системы).
Форма представления уведомлений – всплывающие окна, сообщения в интерфейсе и т.п.
3.6.2 Вспомогательные функции интерфейса
В интерфейсе доступны:
  • поиск по списку чатов;
  • поиск в таблицах (история транзакций, агенты пользователя);
  • копирование отдельных данных в буфер обмена (где присутствует кнопка копирования).
3.6.3 Ограничения пользовательских действий
С точки зрения функционала Пользователь может сталкиваться с ограничениями, например:
  • ограничение на количество загружаемых файлов за определённый период;
  • ограничение на использование отдельных режимов;
  • ограничение на выполнение запросов при недостаточном балансе.
При достижении таких ограничений Программа:
  • блокирует выполнение соответствующей операции;
  • отображает Пользователю понятное сообщение о причине невозможности выполнения действия.
4. Функциональные возможности интеграции с внешними сервисами
В настоящем разделе описываются функциональные возможности Программы по интеграции с внешними сервисами, используемыми для:
  • предоставления доступа к моделям искусственного интеллекта (AI-провайдеры);
  • аутентификации пользователей (OAuth-провайдеры);
  • проведения платёжных операций.
4.1 Интеграция с AI-провайдерами
4.1.1 Функциональное назначение
Интеграция с AI-провайдерами обеспечивает:
  • выполнение запросов к внешним моделям ИИ (LLM, мультимодальные модели, модели эмбеддингов и др.);
  • получение ответов моделей и их использование в:
  • модуле «Витрина нейросетей» (диалоги с моделями и ИИ-агентами);
  • модуле «Файловое хранилище для ИИ (RAG)» (построение эмбеддингов, формирование ответов на основе RAG-контекста).
С функциональной точки зрения для пользователя и администратора интеграция проявляется как:
  • наличие в витрине моделей ИИ и агентов, использующих внешние AI-провайдеры;
  • наличие административного функционала настройки и управления такими провайдерами.
4.1.2 Управление конфигурацией AI-провайдеров
В части функциональности Программы предусмотрены возможности для Администратора:
  • просматривать список подключённых AI-провайдеров;
  • просматривать для каждого провайдера:
  • наименование и основная информация;
  • перечень доступных нейросетей и их порядок;
  • изменять параметры интеграции (в пределах доступного интерфейса), в том числе:
  • добавлять/удалять конкретного провайдера из интерфейса.
Конкретные параметры (ключи API, секреты и др.) вводятся и изменяются в рамках кода.
4.1.3 Поведение при обращении к внешним AI-провайдерам
Функционально при вызове модели ИИ:
  • Программа формирует запрос с учётом:
  • выбранной модели (логической);
  • настроек агента/чата (параметры генерации);
  • контекста (история диалога, RAG, внешние данные);
  • выполняется обращение к соответствующему AI-провайдеру;
  • при успешном ответе:
  • результат отображается пользователю в виде ответа ИИ;
  • при ошибке:
  • ответ не отображается или отображается частично;
  • пользователю показывается информативное сообщение (например, о временной недоступности модели или технической ошибке).
4.1.4 Ограничения и уведомления об ошибках
Интеграция с AI-провайдерами с точки зрения функционала может быть ограничена:
  • лимитами провайдера:
  • по количеству файлов, их размеру и формату;
  • по объему токенов;
  • иными политиками:
  • запрет передачи определённых типов данных во внешние сервисы;
  • ограничение использования конкретных моделей.
При превышении лимитов и других проблемах:
  • Программа не выполняет запрос к модели или обрабатывает его частично;
  • пользователю выводится сообщение о невозможности выполнить операцию или о временной недоступности модели.
4.2 Интеграция с OAuth-провайдерами
4.2.1 Функциональное назначение
Интеграция с OAuth-провайдерами обеспечивает пользователям возможность:
  • входить в Программу с использованием учётных данных внешних сервисов (учётной записи Яндекса / Telegram), вместо аутентификации по email/паролю.
4.2.2 Функциональные сценарии для Пользователя
Для Пользователя интеграция с OAuth проявляется следующим образом:
  • на странице входа он может выбрать:
  • «Войти по email и паролю»;
  • «Продолжить с [название OAuth-провайдера]»;
  • после выбора входа через OAuth-провайдера:
  • происходит перенаправление на страницу аутентификации провайдера (вне Программы);
  • после успешной аутентификации пользователь возвращается в Программу уже авторизованным.
При первом входе через OAuth-провайдера:
  • Программа может:
  • создать новую учётную запись пользователя на основе данных провайдера;
  • или привязать внешнюю учётную запись к уже существующему пользователю (при совпадении email или иных признаков).
4.2.3 Ограничения
С точки зрения функционала:
  • при отключении интеграции с OAuth-провайдером:
  • пользователи, ранее использовавшие только этот способ входа, имеют альтернативный способ аутентификации (задать пароль в системе).
4.3 Интеграция с платёжными системами
В пределах Программы может использоваться интеграция с одной или несколькими платёжными системами. В рамках поставки используется одна платёжная система.
4.3.1 Функциональные возможности для Пользователя
Пользователь может:
  • открыть раздел баланса;
  • выбрать операцию пополнения баланса – покупки или докупки нейрокоинов;
  • выбрать:
  • тарифный пакет;
  • перейти к платёжной форме внешней платёжной системы;
  • по результатам успешного платежа увидеть увеличение баланса в Программе.
При отказе или ошибке платежа:
  • Программа показывает пользователю сообщение о неуспешном платеже;
  • баланс не изменяется.
4.3.2 Функциональные возможности для Администратора
Администратор имеет возможность:
  • просматривать информацию о платежах (в объёме, предусмотренном функционалом);
  • при необходимости – корректировать баланс пользователей (в административном плане, например, при нештатных ситуациях).
4.3.3 Ограничения и предпосылки
  • Конкретный функционал зависит от того, какие платёжные системы используются и каковы их требования к интеграции.
  • В описании фиксируется только то, что Программа может поддерживать сценарий «пользователь → платёжная система → обновление баланса».