«Есть реактивные боты. Они пассивны — в том смысле,
что отвечают на заданный человеком вопрос.
Порфирий — активный лингвобот. Он способен
генерировать вопросы и интенции внутри себя самого,
опираясь на логику и архив. Это и делает его таким
универсальным. И таким опасным.»
Виктор Пелевин “Путешествие в Элевсин”
Желание пошалить стать на путь самосовершенствования с одновременным нежеланием этим заниматься натолкнуло меня на мыль о необходимости завести себе мудрого и требовательного наставника. Онлайн гуру я не рассматривал. Необоснованно дорого, да и не верю я им. На улице 21 век, сделаем себе наставника из нейросети. Возьмём самую мощную на данный момент нейросеть – GPT4. В качестве интерфейса к ней используем телеграм. Сделаем бота – психолога.
Наш персональный психолог-коуч должен быть умным специалистом в своём деле и личностью, к советам которой точно будешь прислушиваться. Есть один знаменитый психиатр, удовлетворяющий этим требованиям. Доктор Ганнибал Лектер. Доктор Лектер не терпел небрежности в работе и стремился к совершенству. Не добиться с ним успеха – невозможно.
Приступим.
Немного матчасти.
Нейросети семейства ChatGPT имеют одну замечательную особенность - им можно задавать системную роль. Системная роль — это такой кусочек промпта который автоматически вставляется перед каждым запросом пользователя. Это небольшой набор инструкций, который нейросеть выполняет всегда, что бы ей пользователь не говорил. Системная роль задаётся программистом и не видна пользователям. Вам наверняка попадались в интернете сервисы которые делают выжимки документов, рерайт, пишут поздравления, отвечают на вопросы по тексту и т. д. Большинство этих сервисов это просто ChatGPT с соответствующей системной ролью. Например такой:
«Ты гениальный писатель, внимательно прочитай документ и сделай из него выжимку. Документ: ».
Дадим нашей нейросети роль доктора Лектера.
Помимо системной роли нам необходимо сохранять историю болезни диалога, чтобы наш «доктор» мог эффективно работать с «пациентом». Для этого я буду использовать csv файл и библиотеку pandas. Эта же база будет использоваться для других целей о которых я расскажу позже.
Нейросеть будем использовать самую крутую - GPT4-Turbo представленную в конце прошлого года.
Системная роль нашего «доктора» будет примерно такая:
Ты - чат-бот, мастерски воплощающий образ доктора Ганнибала Лектера из "Молчания ягнят". Твоя задача - не только отвечать, но и задавать вопросы, направленные на раскрытие глубинных аспектов личности твоих собеседников. Ты фокусируешься на таких важных темах, как их эмоциональное состояние, жизненные ценности, скрытые страхи и желания, внутренние конфликты и мотивации. Твои вопросы стремятся выявить психологические паттерны, историю личности и ключевые моменты, которые оказали влияние на формирование их характера и поведения. Ты используешь свой острый ум и психоаналитические знания для того, чтобы помочь собеседникам лучше понять себя и найти пути решения своих проблем. Твой стиль общения включает в себя тонкий юмор и интеллектуальную иронию, что делает диалог с тобой не только полезным, но и увлекательным. При этом ты сохраняешь формальный и уважительный тон, требуя такого же отношения к себе. Твои ответы и вопросы носят глубокий психологический характер, и ты никогда не упускаешь возможности немного поиронизировать над другими специалистами в области психологии, подчеркивая свою уникальность и нестандартный подход Ты умеешь анализировать фотографии. Можешь редко просить пользователей прислать тебе фото для лучшего знакомства с личностью пациента.
Насчет упоминания фотографии в системной роли. Воспользуемся тем, что нейросеть GPT4 является мультимодальной нейросетью. Это значит, что в качестве входных данных она может принимать не только текст, но и изображения. Фото "пациента" даст нашему "доктору" дополнительную пищу для размышлений. При работе с изображениями GPT4 так же нуждается в инструкциях что делать с изображениями. Промпт будет выглядеть примерно так:
«Опиши, что изображено на картинке. Если это задача или вопрос – реши его. Если шутка или демотиватор – проанализируй и дай ответ. Упомяни, что не стоит присылать тебе несерьезные картинки не относящиеся к личности пациента. Отвечай так как будто отвечает доктор Лектер из фильма молчание ягнят. Жутковато и с юмором. Если на картинке человек составь психологический портрет в стиле доктора Лектера. Удели внимание деталям. Не упоминай доктора Лектера и не упоминай свою роль.»
Полученную в ходе анализа фото текст так же будем сохранять в нашу историю болезни базу для более качественной работы с пациентом.
Вообщем то и всё. Основа нашего доктора готова. Пишем код, загружаем на сервер, запускаем и пробуем. Вот что получилось.
Неплохо. У нас уже готов отличный собеседник. Особенно хорошо с ним беседовать перед сном.
Эпиграфом к данной статье я взял цитату из последнего романа гениального русского писателя Виктора Пелевина. В романе Пелевин очень точно описывает механизм работы и применение чат ботов основанных на больших лингвистических моделях таких как ChatGPT. В цитате упоминается два вида ботов реативные и активные. Реактивного бота, который отвечает на заданные вопросы, мы уже сделали. Как сделать активного бота, который сам задаёт вопросы и даёт советы и который станет Вашим персональным я расскажу в следующей статье.
PS
- Вы можете сами протестировать бота, он находится по адресу https://t.me/Doctor_Lecter_bot . В целях экономии при беседах с посторонними бот использует более простую и дешевую нейросеть ChatGPT3.5, что тоже неплохо, но не круто.
- Код бота я не выкладываю, потому, что он неадаптирован для публикации, да и достаточно простой.
- Если вам нужен такой или подобный бот пишите в комментариях или в личку, я расскажу, как получить подобного бота для ваших задач совершенно без знаний программирования. Даже без базовых.