Як підключити 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
Виберіть бота і перейдіть до Налаштування бота (Bot settings) у вкладку Інтеграції (Integrations). Навпроти OpenAI натисніть Підключити (Enable).
Виберіть спосіб підключення:
Використовувати токен з налаштувань облікового запису (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-4o |
Найшвидша модель сімейства GPT-4 з найбільшою кількістю токенів, яку можна використовувати для прямих запитів до API OpenAI та проводити аналіз зображень (в шаблонах SendPulse ви знайдете відповідний ланцюжок). Також найбільш ефективна для роботи з неанглійськими текстами. ОпенАІ рекомендує використовувати саме її серед інших моделей 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.
У полі Інструкція для бота (Bot instruction) додайте вказівки у вільній формі, дотримуючись рекомендацій.
Зверніть увагу, що у моделей є різні ліміти за кількістю символів, які ви можете ввести. Читайте докладніше в таблиці про ліміти.
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) | ||
Користувальницька fine-tuned модель | до 2048 | до 1024 |
Користувальницька fine-tuned модель (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 3.5 Instruct
та Fine-tuned Instruct
.
Чим більшу кількість повідомлень вкажете, тим вищою буде ціна запиту.
Встановіть обмеження спрацювань бота для підписника
Ви можете обмежити надмірні запити до бота ChatGPT. Це корисно у випадках, коли окремі підписники використовують велику кількість платних запитів.
Для цього в полі Обмеження спрацювання бота AI на один контакт (Limiting AI bot triggering to one contact) встановіть кількість запитів протягом інтервалу у днях, годинах або хвилинах.
За замовчуванням встановлено на 100 запитів на одного підписника щоденно.
Після того, як заповнили поля, натисніть Зберегти (Save) і можна переходити до тестування бота.
Читайте також: Як налаштувати голосове розпізнавання повідомлень в чат-ботах та Як додати генерацію зображень у чат-боті за допомогою інструментів OpenAI.
Особливості використання
При підключенні інтеграції з OpenAI у чат-боті відключається ланцюжок Стандартна відповідь. Тому потрібно додатково подбати про те, щоб користувач знав, що бот може йому відповісти. Наприклад, додайте інформацію про правила спілкування з ботом у вітальному або тригерному ланцюжку, який додайте в меню.
При використанні OpenAI у чат-ботах зверніть увагу, що AI використовує внутрішню бібліотеку інформації – він обробляє запит клієнта та видає результат у діалозі з клієнтом.
AI не має довгої пам'яті: при обробці запиту враховуються лише три останні повідомлення від користувача. Рекомендуємо переглядати діалоги з клієнтами в чатах, щоб коригувати вказівки для робота.
AI не інтегрується з додатковими програмами та не обробляє дані клієнта в аудиторії робота. Для цих функцій додайте меню або створіть команди для запуску тригерних ланцюжків, де ви додасте блоки Запит API, User input та Дія.
Також ви можете підключити бот до групи в Telegram, тоді вам будуть доступні такі можливості: бот буде відповідати у разі згадувань (через @
) чи запуску команд (/command
), для ключових слів, а також запитів до OpenAI, якщо увімкнена така інтеграція.
Для спрацювання бот повинен мати права адміністратора, включно з правами додавання інших адміністраторів.
Читайте детальніше: Як створювати пости в Telegram каналі та групі за допомогою чат-бота SendPulse.
Приклади використання
Розглянемо різні приклади, які можна застосовувати до бота. Ви можете переглянути більше прикладів на сторінці Examples.
Наприклад, у вас бот для компанії та ви хочете навчити робота самостійно розвивати діалог і генерувати відповіді на питання по ваших товарах і роботі магазину.
Для першого прикладу у поле Інструкція для бота додали інформацію про компанію — чим вона займається і контактні дані. Бот уже на основі отриманих даних зможе розвивати діалог.
Текст прикладу: 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."
Для другого прикладу зібрали базу запитань і відповідей, які часто ставляться, щоб зробити відповіді більш точковими і розповісти більше детальної інформації про послуги.
В другому прикладі у полі Інструкція для бота додали основні запитання та відповіді на них. Користувачеві не обов'язково запитувати точно такі ж питання, але AI знатиме про ваш бізнес більше, щоб відповідати природною мовою.
Текст прикладу: The bot analyzes and provides information only from the given Q&A list.
Question: What is a bio link page?
Answer: A bio link page is a one-page site that can help you promote your brand on social media. Create a SendPulse account and build a bio link page using the landing page builder. Read more: https://sendpulse.com/en/features/landing-page-builder
Question: What elements can be added to my bio link page?
Answer: Text, Cover, Gallery, Button, Subscription form, Payments. Read more: https://sendpulse.com/knowledge-base/landing-page/builder/create-landing-page#adding-elements
Оновлено: 14.11.2024
або