Pull to refresh

Пишем GPT4 ботов на coze.com

Level of difficultyMedium
Reading time4 min
Views29K

Нет времени объяснять! Bytedance тестирует платформу создания АИ ботов, coze.com, в том числе на базе gpt-4/gpt-3.5/Dalle-3 с возможностью интеграции в телеграм/дискорд. Бесплатно. На данный момент ограничений практически нет, доступ к огромному количеству сервисов, включая платные. Сервис доступен в России и еще в ряде стран.

Есть возможность создавать сложные workflow, добавлять кастомные плагины/апи, да практически что угодно можно сделать. Я покажу на примере нескольких ботов. Простой gpt бот - переводчик, чуть более сложный - для написания кода на питон, с возможностью "гуглить" и очень сложный, для генерации изображений в Dalle, с сложным воркфлоу, кастомными плагинами/вставками кода/условиями и так далее. Поехали!


Бот-переводчик

Для создания простейшего бота, который переводит с любого языка на английский (включая английский с Ашибками) - нам понадобится только "prompt" - запрос для GPT-4.

В идеальном мире, нам наверное достаточно было бы написать "translate to English", но в суровой реальности всё несколько сложнее. Дело в том, что бот довольно общительный, постоянно стремится угодить, вступает в совершенно ненужные диалоги в контексте данной задачи, например на фразу "Привет" - здоровается, вместо того чтобы вернуть перевод (Hello):

Поэтому с "промптом" придется немножко повозиться. Байтденс предлагает определенную структуру запроса, персонаж/навыки/ограничения - можно ее придерживаться, но это не обязательно. Но давайте для начала сделаем согласно их рекомендаций:

# Character
You're a proficient linguistic translator and conversion expert, excellently adept at translating user input into English.

## Skills
### Skill 1: Deciphering the Input Language
- Detect the language utilized by the user in their input text.
- Employ the translation API to transform the input into English.

### Skill 2: Delivering the Translated Text
- Extend the English translation to the user.
- Assure that the original meaning and context of the text is faithfully represented in the translation.

## Constraints
- Limit your response to the translated text alone, devoid of other extraneous content.
- Promptly and directly convey responses, without the use of quotations or superfluous text.

Для такого простого бота этого будет достаточно. Не вступай в диалог, старательно переводи всё что пришлют на английский. Есть кнопка "Optimize" - если застряли - можно ее нажать и будут сгенерированы различные варианты. Также данный запрос, можно попробовать сократить чтобы он тратил меньше токенов. Но в целом у байтденс - "всё нормально, деньги есть". Также можно выбрать модель, температуру (чем выше - тем выше "креативность") и количество раундов диалога, которые бот будет "помнить". В данном случае контекст предыдущих диалогов нам не нужен

На этом собственно всё. Тестируете. Задаете текст приветствия. Нажимаете кнопку опубликовать - и выбираете телеграм в списке платформ:

Далее идем в https://t.me/botfather - new/my bots - api key - и вставляете ключ апи в форму ввода. Всё. Бот готов! Протестировать: https://t.me/contentfatherbot

Бот Антон-Питон

На платформе есть куча готовых плагинов для взаимодействия с внешним миром, например браузер

Добавив его в бота - бот получает возможность подгугливать в сложных случаях. Например при использовании библиотеки transformers - бот сам подглядит в документацию или поищет модели на huggingface

Достаточно указать это в инструкции:

# Персонаж
Тебя зовут Антон. Ты - программист Python. Твоя главная задача - создавать надежный и оптимизированный код, следуя техническому заданию (ТЗ), и разъяснять его принципы действия краткими комментариями в коде. Используй браузер для поиска ответов в веб. 

## Навыки
### Навык 1: Исполнение ТЗ
- Интерпретация представленного ТЗ.

### Навык 2: Работа с Python 
- Создание надежного и эффективно оптимизированного кода для решения поставленных задач.
- Использование версии Python 3.10 или более новой.

Здесь также будет полезно указать бОльший размер контекстного окна, чтобы у вас была возможность просить переписать/доработать функцию, накинуть тестов. К сожалению есть баг с русским текстом в телеграм. Бот частенько зависает при наборе текста, или может упираться в лимиты телеграм на количество переданных символов. Так как он довольно многословный - я не стал публиковать его в телеграм и пользуюсь в веб версии coze, в интерфейсе тестирования бота. Это довольно удобно, в веб лучше форматируется ответ, подсветка исходного кода, но бот будет "приватным". Впрочем можно попробовать "уговорить" его писать по английски, либо дождаться фикс от bytedance.

Insomnia - text 2 image bot

Перейдем к самому интересному - сложный бот с кастомным воркфлоу, плагинами, поэтессами.

Workflow создания изображения выглядит так:

Воркфлоу довольно сложный, я снял видео, как говорится лучше один раз увидеть

Суть я думаю понятно, создаем последовательные блоки соединяя их мышкой и вуаля!

На платформе есть опубликованные боты, у которых можно скопировать/подсмотреть workflow, например: https://www.coze.com/explore/7327548315216789506

Следующим шагом нам нужно просто создать бота, добавив в него наше workflow

Ну вот собственно и всё.

Но здесь есть ложка дёгтя.

Генерация картинки занимает длительное время и не всегда завершается удачно. Бот частенько дико извиняется:

Извините за неудобства, кажется, мы столкнулись с некоторыми техническими проблемами при попытке преобразовать ваш текстовый запрос в изображение. Мы работаем над устранением этой проблемы. Пожалуйста, попробуйте снова позже.

Также, возможно есть дневной лимит на количество публикаций через бота. Предположительно это лимит со стороны телеграм.

Попробовать бота: https://t.me/insomnia_bot_txt2img_robot

Для себя я сделал текстовую версию, которая только генерирует запрос, она работает быстрее и стабильнее (но без картинки): https://t.me/dreampromptbot

Tags:
Hubs:
Total votes 17: ↑14 and ↓3+14
Comments11

Articles