SnapMatch — делаю AI-ботов в Telegram простыми для всех

SnapMatch — делаю AI-ботов в Telegram простыми для всех

Привет! Меня зовут Артём! Сегодня я хочу рассказать о своём проекте SnapMatch, который делает AI-ботов в Telegram доступными каждому.

Я до этого не занимался полноценно разработкой, особенно такого масштаба. Даже с учётом помощи иишки и сторонних ресурсов потребовалось много времени для создания полноценного и работающего проекта. И статьи не писал до этого тоже.

Что это такое?

SnapMatch — это приложение, которое связывает LM Studio (Наш AI) и Telegram. Оно реализовывает удобную историю для каждого юзера, позволяет использовать сразу несколько моделей, имеет реализацию очереди для юзеров и уведомляет, если контекст модели подходит к концу. Ну и простой графический интерфейс, который без всяких сложностей позволяет настроить всё под себя.

Основные функции

  • Без кода — всё через простые, но красивые окошки и кнопочки
  • Всё локально — всё у вас на компе
  • История — у каждого юзера свой контекст, который он может очистить в любое время
  • Очередь — каждый юзер дождётся и не будет перебит другим. Также можно настроить приоритет, если надо
  • Распределение нагрузки — можно использовать сразу несколько моделей, которые будут распределять нагрузку между собой
  • Русский интерфейс — всё понятно, всё по-нашему. Ну а другого я не делал :)
  • Подсказки — если навесить на элементы, то будет показано небольшое пояснение о каждой настройке
  • Бесплатно — качай и пользуйся!

Как это работает?

Думаю, что мне стоит ещё отдельно записать видео с установкой и настройкой программы, но пусть тут будет пока краткая инструкция.

  1. Скачиваете LM Studio и SnapMatch
  2. Создаёте бота в Telegram
    (только не забудьте добавить боту команду clear_history для очистки контекста)
  3. В LM Studio выбираете модель, загружаете её и запускаете сервер
  4. В SnapMatch вставляете токен бота и адрес и ключ из LM Studio
  5. Жмёте "Запустить" — и вуаля! У вас свой AI-бот в кармане!
Сначала устанавливаем нужные для работы программки
Сначала устанавливаем нужные для работы программки

После установки можно идти настраивать LM Studio и делать бота в телеге.

В разделе "Разработка" загружаем скаченную модель и запускаем сервер  
В разделе "Разработка" загружаем скаченную модель и запускаем сервер  

При создании бота не забываем добавить ему команду очистки истории.

Нажимаете "edit bot" и "edit commands" и добавляете команду  
Нажимаете "edit bot" и "edit commands" и добавляете команду  

По итогу переносим данные в SnapMatch.

Собственно водим всё, что требуется  
Собственно водим всё, что требуется  

Не забудьте только нажать кнопку "Сохранить настройки" после всех выполненных настроек! Модели сохраняют настройки автоматом, вас об этом уведомят, а вот чтобы сохранились основные настройки надо обязательно нажать на кнопку сохранения.

Видим в чате, что бот работает и отвечает  
Видим в чате, что бот работает и отвечает  

После выполненных манипуляций в основной вкладке вы увидите, что сервер запущен.

Ещё посмотрим, что там в телеге  
Ещё посмотрим, что там в телеге  

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

Для кого это?

Изначально приложение было нацелено на то, что будет использоваться в небольшой группе людей. А так оно для всех, кто хочет попробовать что-то новое, ну или искал подобное. Не важно, разбираетесь вы в программировании или нет — если умеете нажимать на кнопки, значит, сможете создать своего бота. хе

Что дальше?

Пока приложение только на русском, можно было бы и на английский для приличия перевести. Ну и повторюсь, что было бы неплохо в скором времени записать виде-тутор по первой настройке. Ещё я хотел реализовать плейсхолдеры, но пока решил остановиться на основном функционале программы. Очень хочется, чтобы программка стала полезной для кого-нибудь, поэтому буду рад любой обратной связи, идеям и критике!

Заключение

Также оставлю ссылку на ТГК, где вы можете скачать моё приложение.
Жду вас - тут.
Ну и конечно спасибо, что дочитали! Если попробуете — расскажите, как прошло. А если будет интересно узнать больше технических деталей — дайте знать, я с радостью расскажу подробнее!

2
Начать дискуссию