Гайд: как сделать бота с индивидуальным характером на основе ИИ
Да, вы сможете сделать себе лоли фурри альтушку (максимально осуждаю), которая будет слушать лор вархаммера, и никто не будет знать о ваших извращениях.
Вообще я недавно задался вопросом, а могу ли я себе в чат сделать ии бота, который будет отыгрывать роль Капибары-Звездочета. И да, оказывается, это можно сделать очень быстро и легко.
Я поинтересовался у людей, будет ли им такое интересно, они сказали, что да, вот и рассказываю.
Для начала скажу, что я решил облегчить этот гайд, что бы он был доступен всем, кому не лень нажать пару кнопок. То есть многие решения сведены именно к простым действиям, что бы не заставлять людей лишний раз писать что-то в терминале, потому что я могу понять, что даже просто копировать и вставлять куски кода может быть не интересно и нудно. И вообще многих вся эта техническая фигня отталкивает. Так же тут не будет продвинутого обучения нейросети и все такое, это штука просто людям на поиграться. А кому будет интересно углубиться, могут писать мне в ЛС, или же сами почитают в инете.
ЕСЛИ В ПРОЦЕССЕ У ВАС ВОЗНИКНЕТ ОШИБКА, ПИШИТЕ В КОММЕНТАРИЯХ ИЛИ МНЕ В ЛС, Я ВАМ ПОМОГУ.
Подготовка
Скачиваем Visual Studio Code, Python и Ollama.
Тут код писать будем.
Это python, без него работать не будет, придется скачивать.
А это по сути просто ии клиент для вашего же удобства. + кто-то может захочет себе локально обычную иишку поставить.
Эти программы есть и на Windows, и на MacOS и на Linux. Просто на эти ссылки кликаете, и на той же странице у вас будет кнопка DOWNLOAD.
Далее устанавливаем VSCode и Ollama, думаю вы программы умеете устанавливать, и сами справитесь. А вот когда будете устанавливать Python, не спешите, и на первой же странице установщика ОБЯЗАТЕЛЬНО прожмите галочку на Add Python to PATH. ОБЯЗАТЕЛЬНО НАЖМИТЕ, ПОНЯТНО? И дальше стандартная установка. Надо просто обязательно выполнить одно действие, не проморгайте эту галочку.
Пишем кодус
Создаем папку на рабочем столе -> открываем VSCode -> File -> Open Folder -> ищем нашу папку на рабочем столе -> выбрать
Возможно у вас интерфейс будет отличаться, не переживайте, не паникуйте, оно там везде по сути в одних местах находиться, просто будьте внимательнее.
Итак, вы выбрали папку, она открылась в вашем редакторе. Отлично, вы молодцы.
VSCode это по сути крутой блокнот, и вам надо накатить на него расширение, что бы он понимал код на python. Тыкайте на 4 квадрата слева.
В поисковой строке пишите python.
Вот это расширение ищем, с цифрой 7 на иконке. Это целый пак расширений, просто скачивайте и не парьтесь, и не задавайтесь вопросами, все равно за один пост не разберем все на свете.
Вот тут у вас будет кнопка синяя Install. Ее жмакаем и ждем пока установиться.
Установилось? Переходим обратно в нашему проекту, кликай по этой иконке.
Для начала нам надо скачать нужные библиотеки. Скачивать их непосредственно на условный диск С куда-то там в дебри, что б потом никогда не найти мы не будем, нет нет. Лучше создать виртуальную среду и установить все туда.
Щас будет проверка на вашу мелкую моторику, в редакторе жмем Ctrl + Shift + P или command + Shift + P, в зависимости от вашей ОС. В окне пишем python create environment.
Кликаем на соответствующую строку.
Тут выбираем Venv. А дальше кликаем на Python, он там у вас один должен быть.
Вы могли заметить, что у нашей папке появился шпион.
И нет, это не шпион, это та самая виртуальная среда. Теперь ее нужно активировать.
Кликай на Terminal -> New Terminal
Внизу открылось волшебное окно.
В терминале пишите.
Если у вас Windows:
Если MacOS:
И жмакаем Enter.
Если все работает, то вы увидите в начале следующей строки это. На винде так это еще и зеленым будет выделятся, точно не пропустите.
Дальше в том же терминале пишем:
Это библиотека для создания бота в телеграме.
После того как все установиться, у вас снова появиться возможность писать в терминале.
Вот и пишем дальше:
На этом все, теперь создаем в нашей папке еще одну папку bot.
На имя папки наводитесь, там будут вот такие иконки:
Кликаете на папку с плюсиком, и дальше вводите название папки, как я уже писал выше, bot.
Теперь сделайте вот так:
В папке bot создайте еще три папки, и файл bot.py. Файл можно создать так же как мы создавали папку, рядом будет иконка файлика с плюсиком.
Или нажмите правой кнопкой мыши по папке, и выберите New File...
В папке ai_service создайте три файла, назовите их как на скриншоте, и так сделайте с остальными файлами в других папках тоже.
В файл character.py вставляйте этот код:
Собственно тут мы и описываем персонажа, которого отыгрывает бот. Просто замените все значения на свои. Их можно, к слову, сгенерировать или попросить ИИшку хотя бы структурировать правильно вашу писанину. Меняйте только текст в кавычках, если не хотите сталкиваться с ошибками. Ну а если вы и без меня знаете, что это все значит, то могу только порадоваться за вас, надеюсь вы допилите этот кусок го... кода.
В файл ollama_client.py вставляйте этот код:
Тут тоже текстовые значения можете поменять на свои. Например сообщение об ошибке.
В файл user_handlers.py вставляйте... Ничего не вставляйте, я щас понял, что создал его по привычке, он не нужен, как и папка handlers. Простите.
В файл config.py вставляйте этот код:
Токен мы получим чуть позже, не переживайте. Пока что оставьте так.
Ну и со значениями MAX_TOKENS и ниже, я не придумал что вам сказать, эти настройки индивидуальны для всех, для этого гайда я поставил их пониже, думаю с такими у большинства будет выдаваться ответ достаточно быстро. А так потом почитайте отдельно, какая ии модель подходит под вашу систему лучше всего и какие значения тут выставить. Ну или опять же пишите это все в комментариях, я постараюсь вам подсказать.
В файл bot.py вставляйте этот код:
Тут также текстовые значения можете менять под своего персонажа.
Редактор пока не закрывайте.
Идем за токеном
Заходим в тг и пишем в поисковой строке BotFather. Переходим с ним в чат, нажимаем start.
Открываем панель справа снизу.
Кликаем Create a New Bot.
Вводим все данные следуя рекомендациям от BotFather.
И копируем свой токен.
После идем обратно в редактор. В файле config.py вместо слов "Ваш токен" вставляем что скопировали. Токен ДОЛЖЕН быть в КАВЫЧКАХ.
Запуск
Открываем Ollama и выбираем вот эту модель нейронки.
Пока что выбираем эту, потому что так обработка будет где-то там на каком-то там серваке. Так по идее точно даже на картошке запуститься. Но если можете, то в списке ниже есть модели, которые можно скачать. Выбираете, скачиваете, и в файле config.py указываете выбранную модель.
Также вас могут попросить войти в акк, ну войдите через гугл, например. И вас потом перекинет снова в этот клиент.
После того как выбрали, ПОЛНОСТЬЮ выключаем приложение Ollama. ПОЛНОСТЬЮ.
Переходим обратно в редактор. В терминале пишем:
Если ошибки не выдало, значит работает. Выглядит это примерно так.
Потом надо открыть НОВЫЙ терминал. Кликаем по плюсику.
В новом терминале пишем:
А затем пользователи windows пишут:
А пользователи macOS пишут:
Если все работает правильно, то у вас будет написано "Ollama доступен" в терминале и вот так будет это все примерно выглядеть.
Дальше ищете в ТГ своего бота по имени через @, которое ему дали, кликаете Start и делаете свои грязные дела.
Оказывается, текстовые гайды писать гораздо труднее, чем объяснять человеку 1 на 1. Но я старался. Если вам что-то не понятно, пишите в комментариях, я постараюсь помочь. Плюс у всех разные системы, и бывают самые разные ошибки, о которых я могу только догадываться, и все индивидуально.
Ну и пишите, может вы хотите целый курс "Погромирование для ДТФеров с нуля". Читал много людей тут, что для них программирование сложно и все такое, но они были бы не против научиться делать игры. Этим мы и можем попробовать заняться. Но только если это кому-то действительно нужно.