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

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

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

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

f6f0c0e7d31e29877ed4f13d73ce9a50.png

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

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

ab7af91e844e57af1d6bd39bcf131499.png

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

# 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» — если застряли — можно ее нажать и будут сгенерированы различные варианты. Также данный запрос, можно попробовать сократить чтобы он тратил меньше токенов. Но в целом у байтденс — «всё нормально, деньги есть». Также можно выбрать модель, температуру (чем выше — тем выше «креативность») и количество раундов диалога, которые бот будет «помнить». В данном случае контекст предыдущих диалогов нам не нужен

66b31938bc66d43fb2e99867815a731e.png

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

56cd9e0d9a931d21ff237687af7f3eab.png

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

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

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

ce7091cc6c259ffc2fd81113ade207b4.png

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

c8973dc67ab9f2ac9050eb470f4e62f6.jpg

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

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

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

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

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

Insomnia — text 2 image bot

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

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

3021108faf9eae4a01351b72eca88d28.png

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

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

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

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

383154f1a289914e705289a9441be0fa.png

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

c640e5f4cc680927f9a2f678680fa587.png

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

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

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

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

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

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

© Habrahabr.ru