Как подключить ChatGPT от OpenAI к чат-боту
В SendPulse вы можете подключить модель GPT от OpenAI к вашему чат-боту, чтобы давать пользователям еще более продвинутые, автоматизированные ответы и помогать им решать различные дополнительные задачи.
Рассмотрим, как создать аккаунт в OpenAI, подключить его к вашему чат-боту, какие бывают модели и как можно натренировать ответы бота под ваши задачи.
Знакомство с OpenAI
GPT (Generative Pre-trained Transformer) — это крупномасштабная нейронная сеть от компании OpenAI, которую можно использовать для генерации текста и кода.
Основные модели могут реализовывать различные задачи: анализировать тексты разной сложности и выдавать ответы, оптимизировать текст под SEO или SMM задачи, категоризировать текст в таблицы, помогать с мозговым штурмом, редактировать и переводить тексты, работать с кодом и математическими задачами, поддерживать диалог на любые или заданные темы.
Больше о задачах и возможностях использования GPT моделей читайте в нашем блоге: GPT в чат-ботах: возможности для бизнеса и экспертов в 2023 году.
Для настройки GPT под ваши задачи через бот, нужно выбрать модель и добавить указания — к примеру, вы можете добавить тон ответов, ограничить список вопросов или тем, дать дополнительную информацию или пример, в каком виде желаете получать ответ.
Создайте аккаунт
Перейдите на страницу OpenAI > Products > Documentation и создайте аккаунт. Для этого нажмите Sign-up в правом верхнем углу страницы, введите email адрес и нажмите Continue или продолжите с аккаунтом в Google или Microsoft.
Если вводили адрес, в следующем окне введите пароль. Вам на почту придет подтверждающее письмо. Нажмите в письме на кнопку Verify и после перехода на страницу, введите данные о себе: имя и название организации.
Введите номер, на который придет подтверждающее SMS. Введите код и войдите в аккаунт.
При вводе номера обратите внимание, что OpenAI доступен не во всех странах. Вы можете ознакомиться со списком поддерживаемых стран по ссылке Supported countries and territories.
Скопируйте API ключ
После авторизации в аккаунте, в правом верхнем углу нажмите значок настроек (Settings).
В левой панели перейдите в раздел Your profile, а затем во вкладку User API keys.
Вы можете создавать различные API key для проектов в аккаунте OpenAI. Это сделано для удобного управления командой и сохранности данных, а владелец аккаунта может генерировать ключи во всех проектах. Вам не обязательно создавать отдельные проекты – все данные будут сохранены в автоматически созданном Default project. Больше о возможностях создания проектов читайте в документации OpenAI.
Нажмите View project secret Key.
Нажмите Create new secret key.
В модальном окне выберите владельца и настройте параметры ключа.
You |
Этот ключ API привязан к вашему пользователю и может делать запросы в выбранный проект. Если вы будете удалены из организации или проекта, этот ключ будет отключен. Введите имя ключа, выберите проект и доступы (permissions). Для корректной работы советуем предоставлять полный доступ. Узнайте больше в статьях OpenAI. |
Service account |
К вашему проекту будет добавлен новый участник бота (учетная запись сервиса) и создан ключ API. Подходит, если вы используете разные сервисы OpenAI. Введите ID сервиса и выберите объект. |
Нажмите Create secret key и скопируйте его в следующем окне.
Вы должны сохранить ключ на своем устройстве, поскольку во время повторного входа вы не сможете скопировать ключ. Если вы потеряете его, вам нужно будет создать новый ключ.
Подключение интеграции
Вставьте API ключ
Выберите бота и перейдите в Настройки бота во вкладку Интеграции. Напротив OpenAI нажмите Подключить.
Выберите способ подключения:
Использовать токен с настроек аккаунта (Use the token from the account settings) | Если вы используете один аккаунт OpenAI в различных сервисах SendPulse, включая все боты, вы можете добавить токен в общие настройки аккаунта.
Чтобы добавить токен, перейдите в Настройки аккаунта» во вкладку API. В секции Интеграции > OpenAI & ChatGPT нажмите Подключить. Вставьте ключ и нажмите Сохранить. После этого вы сможете выбрать опцию Использовать токен с настроек аккаунта и подключить OpenAI для вашего бота. |
Использовать отдельный токен для этого бота (Use a separate token for this bot) | Если вам нужно использовать отдельный аккаунт OpenAI для текущего бота, выберите эту опцию и в следующем поле вставьте скопированный ключ. |
Выберите модель
Выберите, какую модель AI использовать для генерации ответов.
ChatGPT (gpt-3.5-turbo) | Модель, обученная на разговорных данных и оптимизированная для чатов. Способна генерировать человекоподобные ответы на запросы и персонализировать ответы с учетом темы и предыдущих диалогов с пользователем. |
ChatGPT (gpt-3.5-turbo-16k) | Модель с аналогичными возможностями gpt-3.5-turbo, но учитывает в 4 раза большее количество символов/токенов в контексте. |
ChatGPT (gpt-3.5-turbo-16k-instruct) | |
Пользовательская fine-tuned модель |
Базовая модель, которую можно обучить на своих данных (fine-tuning) с помощью инструментов от OpenAI, чтобы получить собственную модель. При подключении к чат-боту SendPulse необходимо указать уникальное название созданной вами модели в библиотеке OpenAI. |
Пользовательская fine-tuned модель (Instruct) | |
GPT-4 |
Модель, разработанная для облегчения многоэтапных разговоров. Модель также полезна для одноэтапных задач без диалога. Доступна только для пользователей, получивших доступ к ней с OpenAI. |
GPT-4 Turbo (gpt-4-1106-preview) |
Модели GPT-4 Turbo быстры, обладают информацией обо всех событиях до апреля 2023 года и могут обрабатывать большие массивы текста. |
GPT-4 gpt-4-32k |
Это та же модель, что и просто GPT-4, но с большим контекстным окном. |
Быстрая модель семейства GPT-4 с наибольшим количеством токенов, которую можно использовать для прямых запросов к API OpenAI и проводить анализ изображений (в шаблонах SendPulse вы найдете подходящую цепочку). Также более эффективна для работы с неанглийскими текстами. OpenAI рекомендует использовать именно ее среди других моделей GPT-4. |
Вы можете посмотреть примеры использования модели в разделе Examples и OpenAI Cookbook, а также поэкспериментировать в Playground.
Добавьте инструкцию для бота
Модели GPT могут выполнять различные задачи — от сложного анализа текста до генерации ответа на неограниченный список тем. Чтобы ограничить область ответов бота, придать тональность разговора, персонифицировать вашего бота под определенного персонажа или человека, а также добавить информацию о своей компании, вам нужно добавить указания для бота.
При создании подсказки учитывайте следующие рекомендации:
- Добавьте максимальное количество контекста и условий для ответа в каждом сценарии. Перечислите все предварительные условия взаимодействия с ботом: укажите, какие пользователи и на каком этапе решения своих задач будут обращаться, какие подробности необходимо учесть в ответах, а какие темы избегать.
Давайте модели задание сгенерировать несколько результатов, чтобы иметь возможность сравнить и указать ей наиболее подходящий. - Дайте понять, чего вы хотите, с помощью примеров. К примеру, если вам нужно, чтобы модель ранжировала список элементов в алфавитном порядке или классифицировала абзац по настроению, перечислите примеры запросов и ожидаемый формат результата или какого эффекта хотите добиться. Если вам нужно, чтобы бот на вопросы отвечал определенным образом — приведите пример вопроса и ответа.
- Предоставляйте качественные и максимально точные данные. Проверьте свои примеры — модель обычно достаточно умна, чтобы опознать основные орфографические ошибки, но она также может предположить, что это сделано намеренно, и это может повлиять на ответ. Если вам нужно, чтобы модель отвечала на определенном языке — укажите этот язык прямо. Так же рекомендуется использовать слова вместо цифр. Помните, что AI понимает все указания буквально.
- Персонифицируйте модель. Чтобы модель могла войти в образ определенного человека или персонажа, опишите, чем он занимается, какими качествами обладает, в каком тоне или с каким лексиконом будет общаться, а также другие аспекты жизни виртуального помощника.
- Тестируйте полученный результат и обновляйте инструкцию. После настройки подсказок обязательно протестируйте полученный результат, просматривайте диалоги с пользователями и при необходимости корректируйте указания бота, добавляя или убирая детали. Тренируйте модель, пока не добьетесь желаемых результатов.
Читайте подробнее: раздел Prompt design» и Prompt Optimization. Также обратите внимание, что у OpenAI есть правила модерации ответов — читайте подробнее в разделах Usage policies и Moderation».
Вы можете протестировать различные модели под разные инструкции бота на странице Prompt Compare.
Вы также можете найти вдохновение для контекстных подсказок в следующих примерах: 160 ChatGPT Prompts You Can’t Miss To Try Out In 2023 — или поучаствовать в написании подсказок в репозитории на GitHub: Awesome ChatGPT Prompts.
В поле Инструкция для бота добавьте указания в свободной форме следуя рекомендациям.
Обратите внимание, что у моделей есть разные лимиты по количеству символов, которые можно ввести. Читайте подробнее в таблице о лимитах.
AI анализирует текст на всех языках и может отвечать на языке, который вы указали, но лучше всего он взаимодействует с английским. Если вы не указываете язык, по умолчанию будет отвечать на английском.
Если возникнут вопросы по нахождению лучшего описания для инструкции бота или по возможным сценариям реализации, вы можете обратиться в открытое сообщество OpenAI.
Добавьте количество токенов
Токен – часть слова, используемая для обработки природного языка. Для английского текста 1 токен это примерно 4 символа или 0,75 слова. Для других языков и более точного расчета вы можете воспользоваться калькулятором от OpenAI.
В поле Максимальное количество соответствующих токенов (Maximum number of tokens in response) укажите число:
Максимальное количество символов в поле Инструкция для бота* | Максимальное количество токенов в ответе подписчику* | |
ChatGPT (gpt-3.5-turbo) | до 4096 | до 2048 |
ChatGPT (gpt-3.5-turbo-16k) | до 16348 | до 8174 |
ChatGPT (gpt-3.5-turbo-16k-instruct) | ||
Custom fine-tuned model | до 2048 | до 1024 |
Custom fine-tuned model (Instruct) | ||
GPT-4 | до 8192 | до 4096 |
GPT-4 Turbo (gpt-4-1106-preview) | до 256000 | до 128000 |
GPT-4 gpt-4-32k | до 65536 | до 32768 |
GPT-4o | до 256000 | до 128000 |
* При каждом запросе учитывается количество токенов из: поля "Инструкция для бота"; последних сообщений в диалоге с ботом; текущий запрос, который пользователь введет боту; текущего ответа, который бот выдаст пользователю.
Если в поле Инструкция для бота вы укажете максимально допустимое количество токенов, то может оказаться, что суммарное количество данных в токенах будет выше лимита ОpenАИ. В результате запрос завершится ошибкой и ваш подписчик не получит ответа.
В таком случае вы можете посмотреть ошибку в вашем аккаунте SendPulse в правом верхнем углу в виде всплывающего тоста: OpenAI: This model's maximum context length is 4097 tokens, however you requested 4131 tokens (2083 in your prompt; 2048 for the completion). Please reduce your prompt; or completion length
. Чтобы исправить ее, вам нужно будет уменьшить количество символов в поле Инструкция для бота или количество ответных токенов.
При первой регистрации, OpenAI дает $18 долларов на 3 месяца. Из этой суммы будет сниматься плата за использование токенов.
Тарифы за токены различаются, зависимо от используемой модели. К примеру, модель gpt-3.5-turbo-16k
стоит в два раза дороже модели gpt-3.5-turbo
, поскольку она использует больше контекста. Читайте подробнее про токены в статье What are tokens and how to count them и про тарифы в разделе Pricing.
Чтобы посмотреть, сколько токенов у вас осталось, перейдите в ваш аккаунт в OpenAI во вкладку Usage.
Чтобы просмотреть историю использования токенов, прокрутите страницу ниже до секции Daily usage breakdown (UTC). Вы можете посмотреть всю историю или отобразить результаты за определенную дату или сотрудника.
Установите температуру
Укажите показатель температуры от 0 до 2.
Температура – это параметр, влияющий на абстрактность ответов. Например, если задавать один и тот же вопрос, то исходные данные будут разные в соответствии с выбранной температурой — абстрактные или более точные. Более высокие значения ближе к 2, например,1,3, сделают ответы более случайными. Низшие значения ближе к 0, например, 0.2, сделают их более исчерпывающими, но одинаковыми по смыслу.
Нажмите Сохранить и можете переходить к тестированию бота.
Установите ограничение срабатываний бота для подписчика
Вы можете ограничить избыточные запросы к боту ChatGPT. Это полезно в случаях, когда отдельные подписчики используют большое количество платных запросов.
Для этого в поле Ограничение срабатывания бота AI на один контакт (Limiting AI bot triggering to one contact) установите количество запросов в течение интервала в днях, часах или минутах.
По умолчанию установлено на 100 запросов на одного подписчика ежедневно.
Особенности использования
При подключении интеграции с OpenAI в чат-боте отключается цепочка Стандартный ответ. Поэтому вам нужно дополнительно позаботиться о том, чтобы пользователь знал, что бот может ему ответить. К примеру, добавьте информацию о правилах общения с ботом в приветственной или триггерной цепочке, которую добавите в меню.
При использовании OpenAI в чат-ботах обратите внимание, что AI использует внутреннюю библиотеку информации — он обрабатывает запрос клиента и выдает результат прямо в диалоге с клиентом.
У AI нет долгой памяти: при обработке запроса учитываются только три последние сообщения от пользователя. Рекомендуем просматривать диалоги с клиентами в чатах, чтобы корректировать указания для бота.
AI не интегрируется с дополнительными приложениями и не обрабатывает данные клиента в аудитории бота. Для этих функций добавьте меню или создайте команды для запуска цепочек, где добавите блоки Запрос API, User input и Действие.
Также вы можете подключить бот к группе в Telegram, тогда вам будут доступны следующие возможности: бот будет отвечать в случае упоминаний (через @
) или запуска команд (/command
), для ключевых слов, а также запросов к OpenAI, если включена такая интеграция.
Для работы бот должен иметь права администратора, включая права добавления других администраторов.
Читайте подробнее: Как создавать посты в Telegram канале и группе через чат-бот SendPulse.
Примеры использования
Рассмотрим различные примеры, которые могут быть применимы к боту. Вы можете посмотреть больше примеров на странице Examples.
Q&A под бизнес
К примеру, у вас бот для компании и вы хотите обучить бота самостоятельно развивать диалог и генерировать ответы на вопросы по вашим товарам и работе магазина.
Для этого примера использовалась модель СhatGPT с количеством токенов 2048. В поле Инструкция для бота добавили информацию о компании — чем она занимается и контактные данные. Бот уже на основе полученных данных сможет развивать диалог.
Текст примера: You are a bot assistant to the "Paper and pencil" company. Our company sells stationery and office supplies. A lot of items are in stock, but it is better to clarify by phone: (856) 267-5442.Store address: 4472 Central Avenue, Newark. Working hours: 9:00 AM – 7 PM.
Use the following text to answer questions about product availability and price: "Let us check and get back to you."
Use the following text to answer questions not related to office supplies: "Sorry, I have no information about it."
Для второго примера собрали базу часто задаваемых вопросов и ответов, чтобы сделать ответы более точечными и рассказать больше детальной информации об услугах.
Для этого примера использовалась модель Curie с количеством токенов 1024. В поле Инструкция для бота добавили основные вопросы и ответы на них. Пользователю необязательно спрашивать точно такие же вопросы, но AI будет знать о вашем бизнесе больше, чтобы отвечать естественным языком.
Текст примера: Бот анализирует и предоставляет информацию только из предложенного списка.
Вопрос: Что такое мультиссылка?
Ответ. Мультиссылка — это одностраничный сайт, который может помочь вам продвигать свой бренд в социальных сетях. Зарегистрируйтесь в SendPulse и создайте страницу мультиссылку с помощью конструктора лендингов. Подробнее: https://sendpulse.com/en/features/landing-page-builder
Вопрос: Какие элементы можно добавить в конструктор?
Ответ: Текст, Обложка, Галерея, Кнопка, Форма подписки, Платежи. Подробнее: https://sendpulse.com/knowledge-base/landing-page/builder/create-landing-page#adding-elements
Q&A под энциклопедию
К примеру, у вас бот имеет развлекательно-информационный характер. Ему не нужно отвечать на специфические вопросы, а просто выдавать факты по истории или естествознанию, или любой другой темы из интернета.
Для примера использовалась модель с количеством токенов 700. В поле Инструкция для бота добавили информацию только на каком языке отвечать и как зовут бота. Без указания, что бот может отвечать, бот будет отвечать о различных фактах.
Текст примера: Бота зовут Марл и он отвечает про различные факты.
Решение жизненных вопросов
К примеру, если у вас бот помощи, пользователь может описать свою ситуацию, а потом спросить совета, что ему делать в этом случае.
Для примера использовалась модель с количеством токенов 700. В поле Инструкция для бота добавлялась информация только для жизненно важных вопросов; если определенная ситуация случилась, нужно обратиться по следующему адресу.
Текст примера: Бот помогает людям справиться с критическими ситуациями. Он сопереживает людям и отвечает с заботой. В особо критических случаях, таких как смерть, самоубийство, острое отравление и прочее просит позвонить по телефону +380501010200.
Решение задач
К примеру, если у вас бот для помощи школьникам, пользователь может добавить свою задачу и указать, что нужно решить.
Для примера использовалась модель с количеством токенов 700. В поле Инструкция для бота добавили ограничение не отвечать на вопросы, которые не касаются математических задач.
Текст примера: Бот отвечает только на вопросы по математическим задачам. В остальных случаях бот говорит, что это не в его компетенциях.
Оптимизация текста
К примеру, если у вас сервис по услугам SMM или SEO, бот поможет выбрать ключевые слова или оптимизировать и исправить введенный текст.
Для примера использовалась модель с количеством токенов 1024. В поле Инструкция для бота добавили информацию, что боту нужно будет оптимизировать текст и искать ключевые слова. Если пользователь не введет команду, то бот напомнит, как с ним работать.
Текст примера: Бот работает SEO специалистом. Он умеет находить ключевые слова и предлагать связанные темы.
Расшифровка кода
К примеру, если у вас сервис по обучению программированию, бот поможет расшифровать куски кода или ошибки и рассказать, за что отвечает определенный элемент или функция. Также вы можете на естественном языке попросить сгенерировать код.
Для примера использовалась модель с количеством токенов 2048. В поле Инструкция для бота добавили информацию, что боту нужно будет расшифровывать код и давать пояснения по частям кода. Также добавили тональность боту, чтобы он отвечал в саркастичной манере и очень простыми словами.
Текст примера: Бот помогает расшифровать Python понятными словами, которые поймет и школьник. Также может описывать функции и создавать простые приложения. Если пользователи спрашивают о чем-то, не связанном с кодом, бот напоминает им, что помогает только с кодированием. Бот отвечает немного саркастично.
Генерация текста
К примеру, если у вас креативное маркетинговое агентство, вы можете предложить услугу по подбору текста для рекламной кампании или придумать название марки и так далее.
Для примера использовалась модель с количеством токенов 1024. В поле Инструкция для бота добавили информацию, что его зовут определенным образом, он работает в маркетинговой фирме и помогает клиентам составлять рекламные слоганы и писать планы.
Текст примера: Бот работает в маркетинговой фирме и помогает клиентам составлять рекмные слоганы с описанием возможностей.
Обновлено: 17.07.2024
или