Как подключить GigaChat API к Telegram-боту? Подробное руководство на Python

YOUTUBE · 01.12.2025 09:39

Ключевые темы и таймкоды

Введение и подготовка

0:00
  • Сергей Торщенков приветствует зрителей.
  • Объяснение цели видео: подключение GigaChat к Telegram-боту и знакомство с возможностями LlamaChain в плане памяти.
  • Необходимость токена от Telegram-бота для реализации программного кода.

Создание Telegram-бота

0:47
  • Инструкция по созданию нового бота через BotFather.
  • Важность получения уникального идентификатора для бота.

Выбор библиотек

2:04
  • Использование библиотеки Python Telegram Bot API для взаимодействия с ботом.
  • Возможность выбора других фреймворков для работы с Telegram-ботами на Python.
  • Применение библиотеки GigaChain для работы с GigaChat.

Организация памяти в боте

4:10
  • Объяснение работы памяти в языковых моделях.
  • Проблемы с увеличением объёма токенов и контекстного окна.
  • Введение инструментов LlamaChain для организации памяти.

Конверсионная буферная память

6:00
  • Описание конверсионной буферной памяти Conversion Buffer Memory.
  • Преимущества использования этой памяти: автоматическое управление контекстным окном.

Конверсионная сущность память

7:36
  • Введение конверсионной сущности памяти Conversion Entity Memory.
  • Извлечение важных сущностей из диалогов, например, имён организаций и терминов.

Настройка GigaChat

9:35
  • Создание экземпляра GigaChat с указанием ключа и параметров.
  • Настройка параметров для работы с сертификатами шифрования.
  • Использование опции verbose для отображения промтов.

Тестирование GigaChat

11:24
  • Передача сообщений в конверсионную цепочку и получение ответов.
  • Пример взаимодействия с GigaChat: запрос имени и профессии.

Ограничения языковых моделей

15:26
  • Обсуждение ограничений языковых моделей: галлюцинации и доступ к актуальной информации.
  • Упоминание о возможности создания вопрос-ответных систем на основе дополнительного контекста.

Проверка контекста

16:35
  • Проверка способности языковой модели ориентироваться в контексте предыдущих сообщений.
  • Пример вопроса о имени и профессии из предыдущих сообщений.

Использование конверсейшн энтити мемори

16:58
  • Передача информации из контекстного окна вместе с промтом.
  • Применение конверсейшн энтити мемори для организации нескольких запросов к языковой модели.

Реализация конверсейшн энтити мемори

17:58
  • Использование класса конверсейшн энтити мемори.
  • Подстановка специального промта из гигачейна.
  • Указание языковой модели для извлечения сущностей.

Создание нового диалога

19:53
  • Создание нового диалога с использованием метода преддикт.
  • Проверка ответов языковой модели.

Анализ ответов языковой модели

20:41
  • Обсуждение возможных ошибок в ответах из-за некорректного перевода промта.
  • Примеры ответов на вопросы о больших языковых моделях.

Проблемы с извлечением сущностей

21:11
  • Неудачное извлечение контекста и имени из промта.
  • Рекомендации по использованию более специализированных моделей для извлечения сущностей.

Подготовка к созданию чат-бота

26:32
  • Создание словаря для хранения объектов памяти по пользователям.
  • Использование уникального ID пользователя в качестве ключа словаря.

Взаимодействие с Telegram-ботом

28:23
  • Создание объекта класса телебот для взаимодействия с Telegram.
  • Передача ключа из секретов Google Colab.

Обработка сообщений

29:59
  • Создание функций для обработки текстовых и нетекстовых сообщений.
  • Извлечение ID пользователя из сообщения и проверка его наличия в словаре.

Отправка ответов пользователю

32:53
  • Отправка ответа от языковой модели пользователю.
  • Извлечение текста сообщения из памяти и отправка через функцию send_message.

Задержка для предотвращения накладок

33:58
  • Добавление задержки для предотвращения отправки нескольких сообщений одновременно.
  • Упоминание о быстродействии гигачата.

Тестирование бота

34:50
  • Тестирование бота на аудитории школьников.
  • Подчёркивание, что пример предназначен для учебных целей и не подходит для постоянной работы под большой нагрузкой.

Введение в работу с ботами в Telegram

35:27
  • Объяснение функций обработки и декораторов.
  • Запуск бота через метод пуллинг.
  • Описание двух подходов к работе с ботами: пуллинг и вебхуки.

Особенности вебхуков

36:26
  • Вебхуки позволяют Telegram самостоятельно обращаться к боту при получении сообщений.
  • Требуют настройки адреса и шифрования.
  • Более экономичный режим работы для бота.

Взаимодействие с ботом

37:26
  • Демонстрация окна Telegram и взаимодействие с ботом.
  • Отправка сообщений боту.
  • Пример диалога с ботом: приветствие и представление.

Создание узкоспециализированного бота

40:15
  • Разработка собственного шаблона для промта.
  • Замена текущего промта на шаблон, описывающий бота как доктора исторических наук.
  • Добавление блока для текущего разговора.

Тестирование бота

42:30
  • Очистка истории сообщений перед запуском бота.
  • Обновление бота и перезапуск функций.
  • Запуск бота и проверка его работы.

Примеры взаимодействия с ботом

43:56
  • Бот отвечает на вопросы по истории.
  • Отказ в ответе на вопросы, не связанные с историей.
  • Предоставление исторической справки.

Заключение

45:49
  • Подведение итогов: создание узконаправленного бота с персонализированными ответами.
  • Разделение памяти под каждого пользователя.
  • Призыв к обратной связи и предложение других тем для будущих видео.