Надійний

Як створити власного ШІ-чатбота за допомогою API ChatGPT

5 хв
Від Shilpa Lama
Оновлено Nikita Valshonok

Створення власного чат-бота на основі ШІ може здаватися складним завданням, якщо ваші навички програмування не на найвищому рівні. Але не хвилюйтеся; API ChatGPT від OpenAI пропонує зручний шлях.

API OpenAI надає доступ до своєї мовної моделі. Таким чином, ви можете створити чат-бота, який не просто видає механічні відповіді, а створює враження справжньої розмови. У цьому посібнику ми розглянемо один з найпростіших способів створення власного чат-бота ChatGPT за допомогою API OpenAI.

Перед тим, як створити свого ШІ-чатбота з ChatGPT

Перед тим, як створити свого чат-бота на основі ШІ, варто звернути увагу на кілька моментів. Незалежно від того, чи використовуєте ви Windows, macOS, Linux або ChromeOS, процедура створення чат-бота на основі ШІ є більш-менш однаковою. 

Ми продемонструємо процес на комп’ютері з Windows, розбиваючи кожен крок на зрозумілі інструкції та ілюстративні приклади. Тож, навіть якщо ваші знання комп’ютера лише трохи перевищують рівень “вимкнути та ввімкнути знову”, ви знайдете це відносно простим для розробки власного чат-бота на основі ШІ. 

І нарешті, не хвилюйтеся про вимоги до апаратного забезпечення; немає потреби в потужному процесорі або графічному процесорі. Хмарний API OpenAI обробляє всі інтенсивні обчислення.

Як створити власний чат-бот за допомогою ChatGPT API

Перед тим, як зануритися у створення чат-бота на основі ChatGPT, вам знадобляться деякі основні інструменти для налаштування середовища. На перший погляд, список включає Python, Pip, бібліотеки OpenAI та Gradio, ключ API OpenAI та редактор коду, можливо, щось на зразок Notepad++. Почнемо.

Встановлення Python

Для початку, вам потрібно встановити Python на свій комп’ютер, бажано вибрати одну з його останніх версій. Перейдіть до розділу завантажень на офіційному вебсайті Python, щоб завантажити 32- або 64-бітний інсталятор для Windows, залежно від версії Windows, встановленої на вашому комп’ютері.

Після завантаження інсталятора запустіть його, щоб розпочати налаштування. Швидка порада: під час встановлення виберіть опцію “Add Python XX to PATH”, де “XX” означає версію, яку ви встановлюєте. Це допоможе вашій системі легко знаходити Python. Після цього натисніть “Install Now”.

завантаження на Windows

Щоб перевірити, чи Python працює на вашій системі, виконайте наступне:

  • Відкрийте меню “Пуск” і знайдіть “Командний рядок” або “CMD”.
  • Коли з’явиться термінал, введіть “python –version” і натисніть Enter.

Якщо Python було встановлено правильно, термінал відобразить версію Python, яку ви встановили, як показано на скріншоті нижче.

встановлений Python

Оновлення Pip

Pip — це менеджер пакетів Python, необхідний для встановлення та управління бібліотеками та залежностями Python. Підтримка його в актуальному стані забезпечує вам доступ до останніх функцій та виправлень, що є важливим при налаштуванні бібліотек для вашого чат-бота на основі ШІ.

Щоб перевірити поточну версію Pip:

  • Запустіть командний рядок (для Windows) або термінал (для macOS/Linux).
  • Введіть команду: pip –version, щоб побачити поточну версію.

Щоб отримати останню версію Pip, виконайте команду: python -m pip install –upgrade pip

На комп’ютері, який ми використовуємо, вже встановлена остання версія pip, тому ми отримали наступне повідомлення: “Requirement already satisfied.”

Однак, якщо оновлення доступне, pip автоматично завантажить і встановить його. Після завершення процесу, перевірте версію Pip за допомогою команди pip –version, щоб переконатися, що оновлення було успішним.

командний рядок

Налаштування віртуального середовища

Налаштування віртуального середовища є розумним кроком перед встановленням бібліотек. Це забезпечує, що залежності вашого проєкту не конфліктують з основним налаштуванням Python. Це необов’язковий крок, але настійно рекомендується.

Щоб розпочати роботу з virtualenv:

  • Встановіть його за допомогою команди: pip install virtualenv
  • Далі перейдіть до каталогу вашого проєкту та ініціюйте віртуальне середовище за допомогою: virtualenv venv
  • Активуйте віртуальне середовище за допомогою наступної команди: .\venv\Scripts\activate

Після активації віртуального середовища ви помітите невелику зміну. Ваш командний рядок або термінал тепер відображатиме назву віртуального середовища (у цьому випадку “venv”) як префікс. Це вказує на те, що ви зараз працюєте у спеціальній зоні “venv”.

Завдяки цим крокам ви успішно ізолювали свій проєкт, забезпечуючи більш плавний процес розробки.

Встановлення бібліотек Gradio та OpenAI

Наступним кроком є встановлення бібліотек OpenAI та Gradio. OpenAI є вашим шлюзом до великої мовної моделі, яку ви будете використовувати для живлення вашого чат-бота. Тим часом Gradio є зручною бібліотекою з відкритим кодом для Python, яка ідеально підходить для створення інтерфейсів машинного навчання. Ось як ви можете їх отримати за допомогою pip:

  • Встановіть бібліотеку Gradio за допомогою наступної команди: pip install gradio
pip install gradio
  • Встановіть бібліотеку OpenAI за допомогою наступної команди: pip install openai
pip install gradio 2 openai

Після виконання цих команд Pip завантажить необхідні бібліотеки з Python Package Index (PyPI) і акуратно налаштує їх у вашому середовищі Python. Ви тепер лише за кілька кроків від створення власного ШІ чат-бота.

Встановлення редактора коду

Тепер, коли ви налаштували необхідне програмне середовище, настав час обрати редактор коду. Існує безліч варіантів, але важливо вибрати той, який відповідає вашим потребам і мовам, на яких ви пишете код.

Visual Studio Code (VS Code) є гарним варіантом, який відповідає всім вашим вимогам. Це безкоштовний, багатофункціональний редактор коду, і ви можете завантажити його з офіційного порталу Visual Studio.

Після завантаження запустіть інсталятор і дайте йому провести вас через процес налаштування. І на випадок, якщо вам не сподобається VS Code, інші варіанти, які варто розглянути, включають Notepad++, Sublime Text, PyCharm та Atom, серед інших.

Отримайте свій ключ API від OpenAI

Тепер вам знадобиться API-ключ від OpenAI. Для тих, хто не в курсі, цей ключ є вашим пропуском за лаштунки, що відкриває можливості ChatGPT безпосередньо у вашому інтерфейсі чат-бота.

  • Почніть з відвідування вебсайту OpenAI: https://www.OpenAI.com/. Маєте обліковий запис OpenAI? Чудово, увійдіть. Якщо ні, не хвилюйтеся! Просто зареєструйтеся, заповнивши необхідні дані.
  • Після входу, погляньте у верхній правий кут і знайдіть свій профільний значок. Натисніть на нього. З випадаючого меню виберіть “Переглянути API-ключі”.
  • Тут натисніть на “Створити новий секретний ключ”. Коли він буде згенерований, швидко скопіюйте цей API-ключ. Зверніть увагу: це одноразова можливість перегляду. Розумно зберегти його негайно.

Ваш API-ключ OpenAI тепер готовий і чекає. Охороняйте його, як найціннішу інформацію. Це ваш приватний ключ, призначений виключно для вас, і він не для загального доступу. Якщо ви коли-небудь відчуєте потребу, ви можете відмовитися від старих ключів і створити нові (вам дозволено мати до п’яти таких).

Створіть свого чатбота на базі ChatGPT завдяки цьому коду

Настав момент істини! Ми будемо використовувати найкращу модель OpenAI, GPT 3.5 turbo, яка є двигуном ChatGPT-3.5.

GPT-3.5 turbo є кроком вперед від Davinci і має навчальні дані до вересня 2021 року. Вона не тільки забезпечує більше за ваші гроші, але й швидша за своїх попередників і має ширше контекстне вікно.

Щоб спростити процес, ми використовуємо Gradio для створення елегантного вебінтерфейсу, до якого ви можете отримати доступ як з вашого локального комп’ютера, так і через інтернет. Ось що потрібно зробити:

Запустіть VS Code (або ваш улюблений редактор коду) і скопіюйте-вставте код нижче.

Код:

import openai

import gradio as gr

import os

from datetime import datetime

from collections import defaultdict

# Використання змінної середовища для ключа API

openai.api_key = os.getenv(“OPENAI_API_KEY”)

# Базовий обмежувач швидкості

class RateLimiter:

    def __init__(self, max_requests, time_window):

        self.max_requests = max_requests

        self.time_window = time_window

        self.timestamps = defaultdict(list)

    def is_allowed(self, session_id):

        now = datetime.now()

        if session_id not in self.timestamps:

            self.timestamps[session_id].append(now)

            return True

        timestamps = self.timestamps[session_id]

        # Видалення старих позначок часу

        self.timestamps[session_id] = [t for t in timestamps if (now – t).seconds <= self.time_window]

        if len(self.timestamps[session_id]) < self.max_requests:

            self.timestamps[session_id].append(now)

            return True

        return False

rate_limiter = RateLimiter(max_requests=5, time_window=60)  # Дозволити 5 запитів на хвилину

# Зберігання окремих розмов для різних сесій користувачів

chat_sessions = {}

def chatbot(input, session_id):

    if not input:

        return “Будь ласка, введіть повідомлення.”

    if not rate_limiter.is_allowed(session_id):

        return “Перевищено ліміт запитів. Будь ласка, зачекайте трохи.”

    # Ініціалізація сесії, якщо вона відсутня

    if session_id not in chat_sessions:

        chat_sessions[session_id] = [

            {“role”: “system”, “content”: “Ви є корисним і доброзичливим ШІ Асистентом.”}

        ]

    session_messages = chat_sessions[session_id]

    session_messages.append({“role”: “user”, “content”: input})

    try:

        chat = openai.ChatCompletion.create(

            model=”gpt-3.5-turbo”, messages=session_messages

        )

        reply = chat.choices[0].message.content

        session_messages.append({“role”: “assistant”, “content”: reply})

    except Exception as e:

        reply = f”Помилка: {e}”

        print(f”Помилка для сесії {session_id}: {e}”)  # Базове логування

    return reply

inputs = gr.inputs.Textbox(lines=7, label=”Чат з ШІ”)

outputs = gr.outputs.Textbox(label=”Відповідь”)

gr.Interface(fn=chatbot, inputs=inputs, outputs=outputs, title=”ШІ Чатбот”,

             description=”Запитайте все, що хочете”,

             theme=”compact”, live=False, session=True).launch(share=True)

Отже, тепер збережемо код для подальшого використання. Перейдіть до опції “Файл” у верхньому меню та натисніть “Зберегти як…”. Назвіть свій файл “chatbot.py” і для “Зберегти як тип” виберіть “Усі типи”. Виберіть зручне місце на жорсткому диску для збереження файлу (наприклад, Робочий стіл).

Безпечне підключення коду до вашого API-ключа

Зверніть увагу на “OPENAI_API_KEY” у наведеному вище коді? Саме тут потрібно вказати ваш ключ OpenAI.

З міркувань безпеки важливо не вбудовувати чутливу інформацію, таку як API-ключі, безпосередньо у ваш код. Вбудовування їх робить ваші застосунки вразливими і може призвести до ненавмисного розкриття, якщо код буде коли-небудь поділений або опублікований.

Безпечнішим підходом є використання змінних середовища. Це зовнішні змінні, до яких ваш код може отримати доступ, але які залишаються поза межами кодової бази. Ось як ви можете це реалізувати:

Встановіть змінну середовища:

Перед тим як зануритися у скрипт, спочатку потрібно встановити змінну середовища, що містить ваш API-ключ.

Це зазвичай відбувається поза вашим Python-скриптом. Для користувачів Windows перейдіть до командного рядка і виконайте наступну команду. Зверніть увагу, що якщо ви закриєте попереднє вікно командного рядка, переконайтеся, що спочатку створили та активували віртуальне середовище знову, використовуючи описані вище кроки.

setx OPENAI_API_KEY “YOUR_ACTUAL_API_KEY_HERE”

Замініть YOUR_ACTUAL_API_KEY_HERE на ваш фактичний API-ключ OpenAI.

Використовуючи функцію os.getenv(), ви можете отримати значення змінної середовища, яку ви встановили раніше. Переконайтеся, що змінна середовища правильно встановлена перед запуском вашого Python-скрипту.

Ваш чатбот на базі ШІ готовий до впровадження

На завершальному етапі введіть ‘python’ у командному рядку, додайте пробіл після нього, а потім вставте шлях до вашого файлу перед натисканням Enter. У моєму випадку шлях — C:\Users\user\chatbot_x.py. Ваш може бути іншим, залежно від каталогу, в якому ви зберегли код.

python c:\Users\user\chatbot_x.py

Можливо, з’являться кілька попереджень, але не хвилюйтеся. Просто прокрутіть вниз, і ось воно — ви побачите як локальну, так і публічну URL-адресу. Скопіюйте цю локальну URL-адресу, вставте її у свій браузер і приготуйтеся бути враженими. Якщо ви хочете похвалитися своїм досягненням перед друзями, зробіть це, поділившись публічною URL-адресою. Зверніть увагу, що ці URL-адреси дійсні лише протягом обмеженого періоду. Крім того, можливо, вам доведеться тримати комп’ютер (і вікно командного рядка) увімкненими, щоб URL-адреси залишалися дійсними.

Скопіюйте та вставте будь-яку з URL-адрес у ваш улюблений браузер, і voilà! Ваш ШІ-чатбот тепер працює. Це, безумовно, не вишуканий інтерфейс, але він виконує свою роботу. Продовжуйте, задавайте свої запитання вашому власноруч створеному ШІ-чатботу.

build AI CHATBOT API

Штучний інтелект не лише для технічно підкованих

Світ ШІ більше не є виключно для технічно підкованих. Можливість продемонструвати, як створити чатбот за допомогою API ChatGPT, є свідченням того, наскільки доступною стала сфера ШІ. З платформами, такими як OpenAI, та зручними інструментами у нашому розпорядженні, межі інновацій розширюються для всіх. Продовжуючи досліджувати та експериментувати, пам’ятайте, що ця ще молода, але процвітаюча індустрія розвивається щодня, пропонуючи нові можливості та виклики.

Часті запитання

Чи можу я використовувати API ChatGPT безкоштовно?

Як створити чатбот OpenAI?

Як створити ШІ-чатбот за допомогою ChatGPT?

Дисклеймер

Відповідно до принципів проєкту Trust Project, ця авторська стаття представляє точку зору автора і не обов'язково відображає погляди BeInCrypto. BeInCrypto залишається прихильником прозорої звітності та дотримання найвищих стандартів журналістики. Читачам рекомендується перевіряти інформацію самостійно і консультуватися з професіоналами, перш ніж приймати рішення на основі цього контенту. Зверніть увагу, що наші Загальні положення та умови, Полiтика конфіденційності та Дисклеймер були оновлені.

shilpa-lama.jpg
Шілпа - висококваліфікована фріланс-журналістка в галузі криптовалют та технологій, яка глибоко захоплюється штучним інтелектом та технологіями, що підтримують свободу, такими як розподілені реєстри та криптовалюти. Вона висвітлює індустрію блокчейну з 2017 року. До свого поточного перебування в технічних медіа, Шілпа надавала свої навички урядовим фінтех-проектам у Бахрейні та провідній некомерційній організації в США, яка підтримує проекти з відкритим вихідним кодом. У своїй поточній...
Прочитати повну біографію