Введение:
Нейронные сети стали одной из самых инновационных и захватывающих технологий в области искусственного интеллекта. Они могут выполнять множество задач, от распознавания образов до автоматического перевода языка. Однако, одним из наиболее захватывающих применений нейронных сетей является создание персонажей, которые могут взаимодействовать и общаться с людьми.
Character.ai - это одна из передовых компаний, которая разрабатывает нейронные сети для создания виртуальных персонажей. Используя передовые методы машинного обучения и глубокого обучения, Character.ai стремится создать персонажей, которые могут проявлять эмоции, иметь свои уникальные личности и вести естественные диалоги с пользователями.
В этой статье мы узнаем, как можно программно получить доступ к Character.ai и использовать это в своих проектах: боты, помощники и т.д.
Что такое Character.ai:
Если вы работали с данным сервисом и у вас уже есть учетная запись там, то сразу переходите к разделу “Начинаем программировать”.
Character.ai - это компания, специализирующаяся на разработке передовых нейронных сетей для создания виртуальных персонажей. С помощью передовых методов машинного обучения и глубокого обучения, Character.ai стремится преодолеть границы между реальностью и виртуальным миром, создавая персонажей, которые обладают уникальными личностями и могут взаимодействовать с людьми на более естественном уровне.
Но что делает Character.ai особенной? Одной из ключевых особенностей компании является ее способность создавать персонажей, которые могут проявлять эмоции и иметь выраженные эмоциональные реакции. Нейронные сети Character.ai обучаются распознавать и генерировать эмоциональные выражения, что позволяет персонажам отображать широкий спектр эмоций, включая радость, грусть, страх и гнев.
Давай зайдем и посмотрим, как работать с этим сервисом.
Нажми кнопку Accept и можешь сразу поменять язык на русский.
Теперь переходи к регистрации, т.к. нам понадобится учетная запись.
Воспользуйтесь для оперативности регистрации одной из учетных записей ваших социальных сетей или регистрируйтесь через свою почту.
Ты зарегистрировался и теперь можешь работать без ограничений. На главной странице тебе сразу рекомендуют самых популярных персонажей. Выбери любого и давай протестируем.
Как только ты открываешь страницу чата, то персонаж приветствует тебя сообщением, которое было заложено на этапе создания персонажа. Чаще всего это английский текст, но все персонажи разговаривают на русском. Достаточно лишь спросить у персонажа кто он или попросить рассказать о себе.
Персонажей очень много, от учителей до известных личностей. У каждого из них своя легенда, которой он придерживается. На данном этапе можно закончить знакомство с сервисом и переходить к программированию собственного бота, который будет работать с персонажами из character.ai.
Начинаем программировать:
В заголовке статьи написано, что мы будем использовать API character.ai, но у него нет открытого API. Однако есть библиотека для Python, которую создали добрые разработчики.
Тема достаточно объемная, поэтому я сделаю цикл статей на базе этого сервиса и библиотеки. Сегодня нашей целью является написать программу, которая будет иметь возможность отправлять сообщение конкретному персонажу и получать от него ответ.
Начнем с того, что установим библиотеку.
pip install characterai
После установки переходим на страницу документации данной библиотеки.
Здесь достаточно много особенностей, о которых не говорится в документации, но вы с этим столкнетесь и вам предстоит это решать. Поэтому внимательно читайте статью, чтобы все было без проблем, т.к. в ней учтены все нюансы. Вот первый момент. Копируй этот код и вставляй его в свой заранее созданный рабочий файл.
По коду все просто: мы импортируем класс PyCAI и создаем его экземпляр, где нужно указать TOKEN. Вопрос лишь в том “а где взять токен?”, здесь придется провести некоторые манипуляции.
Переходите на страницу https://beta.character.ai/ и открывайте инструмент разработчика нажав на клавишу F12. Далее открывайте раздел Хранилище (В Google Chrome этот раздел называется Application) ⇒ Локальное хранилище ⇒ выбираем там единственный пункт ⇒ находим поле char_token ⇒ копируем значение от ключа value.
Теперь аргумент класса PyCAI('TOKEN') вместо слова TOKEN вставляем скопированное значение.
Отлично! Теперь переходим ко второй части кода из документации. Копируй и вставляй себе.
В этой части кода в первую очередь, в данной строчке кода char = input('Enter CHAR: ') выбирается персонаж, с которым вы хотите начать беседу.
Думаю на этапе написания программы можно убрать запрос, чтобы не тратить время на постоянный ввод идентификатора, давай уберем input и вставим идентификатор персонажа один раз. Остается только узнать, а как же получить идентификатор персонажа.
Вновь возвращайся на https://beta.character.ai/ и выбери любого персонажа. После того, как откроешь с ним чат, то посмотри в адресную строку браузера, там есть переменная char, в которой хранится идентификатор персонажа.
Скопируй его и вставь в виде значения переменной.
Следующая часть из этого участка кода может создать у вас проблему. Вы в любом случае получите ошибку, т.к. общение с персонажами на сервере и через библиотеку никак не сохраняется в истории. Поэтому вот эта строчка кода chat = client.chat.get_chat(char) вызовет ошибку. Здесь вызывается метод get_chat, в него передается идентификатор персонажа, который мы сохранили в переменной char.
Метод get_chat загружает историю сообщений с персонажем по его идентификатору. Но так как вы с этим персонажем еще не общались используя данную библиотеку, то вам необходимо сделать первый вход через другой метод new_chat, т.е. создать новый чат.
Давай напишем проверку, если выпадет исключение, то создаем новый чат, а если все хорошо, то загружаем историю и продолжаем общаться.
Осталось скопировать заключительную часть кода из документации.
Здесь бесконечный цикл каждый раз запрашивает от вас ввод сообщения для персонажа, затем его отправляет. Полученный ответ разделяет на имя (name) и текст ответа (text). В результате выводится ответ в формате “Имя автора: текст сообщения” в последней строке кода print(f"{name}: {text}").
Все, теперь запускай и проверяй. Там где ты должен написать сообщение будет ожидание со словом You:.
Ура! Все получилось. В следующей статье рассмотрим дополнительные возможности данного сервиса и библиотеки.
Убедительная просьба, поставь лайк, если статья была полезной, напиши комментарий, если есть желание и подпишись на канал, если не хочешь ничего пропускать. Спасибо за прочтение!