Реализация ботов на основе API
Помимо использования универсального AI-помощника в Telegram (@giga_education_bot) у Вас есть возможность самостоятельно реализовать интерфейс взаимодействия с пользователем и осуществлять запросы через API к интеллектуальному ядру AI-помощника.
Платформы, которые могут использоваться для подключения
Мессенджеры/социальные сети (Telegram, Discord, VK и т.д.)
Web-сайты (например, на официальных сайтах вуза/факультета через специальные формы)
Получение API-Токена
Для получения токена или иным вопросам технического характера вы можете обратиться через представителя в Telegram-бот технической поддержки: @giga_education_support_bot
Получение ответа на вопрос: POST /answer
Параметры запроса
Параметр |
Формат |
Описание |
Пример |
---|---|---|---|
university |
str |
Идентификатор университета |
|
current_question |
str |
Вопрос пользователя |
|
dialog_style |
str |
Стиль диалога |
|
chat_id |
str |
Уникальный ID чата/пользователя |
|
message_id |
str |
ID сообщения пользователя |
|
msg_datetime |
str |
Дата и время запроса в формате |
|
access_token |
str |
Токен для доступа к API |
|
Если платформа, на базе которой вы хотите использовать API AI-помощника, не предоставляет информацию о пользователе, необходимо самостоятельно реализовать процедуру генерации уникального идентификатора. ID требуется для учета контекста диалога с пользователем, а также для стилизации ответа.
JSON-ответ
Параметр |
Формат |
Описание |
Пример |
---|---|---|---|
final_answer |
str |
Ответ, сгенерированный AI-помощником |
|
titles |
list |
Список с заголовками для релевантных ссылок |
|
urls |
list |
Список с релевантными ссылками |
|
modified_question |
str |
Переформулированный с учетом контекста вопрос пользователя |
|
is_ambiguous |
bool |
Требует ли данный вопрос уточнения |
|
Параметр is_ambiguous указывает, требует ли вопрос уточнения. Если его значение True, то titles и urls вернут None
Статусы ответа
200 - ok
401 - JWT Токен не прошёл аутентификацию
Удаление истории диалога пользователя: PUT /clean_user_history
Параметры запроса
Параметр (body) |
Формат |
Описание |
Пример |
---|---|---|---|
chat_id |
str |
Идентификатор университета |
|
Если платформа, на базе которой вы хотите использовать API AI-помощника, не предоставляет информацию о пользователе, необходимо самостоятельно реализовать процедуру генерации уникального идентификатора. ID требуется для учета контекста диалога с пользователем, а также для стилизации ответа.
Статусы ответа
200 - ok
409 - История пользователя пуста
401 - JWT Токен не прошёл аутентификацию
Получение настроек университета: GET /uni/{uni_id}/info/prod
Параметры запроса
Параметр |
Формат |
Описание |
Пример |
---|---|---|---|
uni_id |
str |
Идентификатор университета |
|
JSON-ответ
Parameter |
Description |
Example |
---|---|---|
|
Ссылка на официальную страницу ВУЗа |
|
|
Главный ли это домен, для случая с филиалами |
True |
|
Наименование университета (аббревиатура) |
|
|
Темы, на которые имеются данные |
|
Статусы ответа
200 - ok
403 - Доступ запрещён
401 - JWT Токен не прошёл аутентификацию
Шаблонный Телеграм-Бот
Для ускорения процедуры разработки мы также предлагаем воспользоваться готовым решением.
В документации к репозиторию (README.md) содержится инструкция по запуску.
Для получения ACCESS_TOKEN необходимо обратиться в Telegram-бота поддержки проекта.
Минимальные требуемые ресурсы для развёртывания:
RAM: 256 MB
CPU: Any
ROM: 512 MB
В шаблоне используется лишь один образ: сам Телеграм-бот. При желании, вы можете добавить Redis, чтобы хранить кэш не в оперативной памяти, а также Базу Данных (например, PostgreSQL) для хранения информации о пользователях. В таком случае RAM повысится до 512 MB