# Создание бота с ChatGPT

Создаем бота на платформе CleverApp и делаем логическую цепочку в боте, например такую, пример ниже.&#x20;

{% hint style="info" %}
Шаблон этого бота есть на платформе CleverApp, называется "ChatGPT на CleverApp" - <https://app.cleverapp.pro/catalog>
{% endhint %}

<figure><img src="/files/Cxe332gBi6DVtehrYET7" alt=""><figcaption></figcaption></figure>

Далее делаем все по инструкции:

1\. Регистрируемся на сайте <https://platform.openai.com/docs/guides/chat>

Как это сделать в РФ можно легко найти в интернете. Вам обязательно понадобится для этой цели номер телефона другой страны, чтобы воспользоваться СМС-подтверждением.

2\. Перейти на страницу <https://platform.openai.com/docs/quickstart/build-your-application> и сгенерировать ключ.

<figure><img src="/files/bAIGV38jB73IftDCk7Fp" alt=""><figcaption></figcaption></figure>

3. Перейти в списки в своем боте на платформе CleverApp и создать глобальную переменную, в которую сохранить ключ.

<figure><img src="/files/F0EXE7MokVe3HL3pBM2o" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/U9hccviPBvO1TgypwXXc" alt=""><figcaption></figcaption></figure>

4. Настроить в боте первый блок после Старта, он даст выбор направления – что пользователю нужно сгенерировать: текст или картинку. Все кнопки в боте лучше сделать ИНЛАЙН.

<figure><img src="/files/zwVGhVUoQjdnfWYfZ6Gj" alt=""><figcaption></figcaption></figure>

### Работа с текстом

5. Второй блок позволяет отправить запрос пользователя, который обязательно сохранить в переменную, активировав соответствующую функцию в настройках блока.

<figure><img src="/files/ghHiI3GhvvgzOw6usZyZ" alt=""><figcaption><p>Пример переменной</p></figcaption></figure>

6. Переходим к блоку HTTP-запрос и настраиваем таким образом

<figure><img src="/files/OZf8qtBrFVEWICXc1D5X" alt=""><figcaption></figcaption></figure>

а) URL: <https://api.openai.com/v1/completions>

б) Method: POST

Заголовки:

Content-Type = application/json

Authorization = Bearer {{ OPENAIKEY }}

{{ OPENAIKEY }} – Это наша глобальная переменная, куда сохраняли ключ с сайта OpenAI. Указывайте свою переменную, которую создали в списках своего бота.

в) Настройка Body:

\- формат обмена данными выбрать json и вставить код, например, такой:

```
{
    "model": "text-davinci-003",
    "prompt": "{{ $prompt }}",
"max_tokens": 1000,
    "temperature": 0
  }

```

С более подробной информацией об этом Вы можете познакомиться на странице - <https://platform.openai.com/docs/api-reference/completions>

<figure><img src="/files/LkDhcQYJXwkAJvpaOBXV" alt=""><figcaption></figcaption></figure>

г) Настроить время ожидания отклика от ИИ и записать ответ в переменные. При этом текст сохранять обязательно, а количество использованных токенов по желанию.

<figure><img src="/files/0692gA4HmI473vQsk5xn" alt=""><figcaption></figcaption></figure>

7. Настроить блок «Цепочка сообщений», стоящий после блока HTTP-запрос от кнопки «Продолжить». Для вывода ответа от ChatGPT (ответ json) использовать переменные.

<figure><img src="/files/mXlAx3vP8NtoKEUTPGsC" alt=""><figcaption></figcaption></figure>

Для повторения запроса создаем соответствующую кнопку и соединяем ее с первым блоком или блоком «Сценарий» с выбором сценария, в котором работаем.

### Работа с картинкой

Вторая логическая цепочка работает аналогично. Итак, следующий шаг:

8. Сделать запрос на промо (описание будущей картинки) пользователя для генерации картинки и записать его в переменную.

<figure><img src="/files/gnufkFC1gUe7Y9zIxesW" alt=""><figcaption></figcaption></figure>

9. Внимательно оформить блок HTTP-запрос по тому же принципу, что и для текста, но с другими данными (эти данные можно посмотреть по адресу <https://platform.openai.com/docs/api-reference/images/create>

а) URL: <https://api.openai.com/v1/images/generations>

б)  Method POST

Заголовки:

Content-Type = application/json

Authorization=Bearer {{ OPENAIKEY }}

в) Body json

код:

```
{
    "prompt": "{{ $prompt2 }}",
    "n": 2,
    "size": "1024x1024"
  }

```

<figure><img src="/files/LeA5pQFVCL1GSH22q8N2" alt=""><figcaption></figcaption></figure>

г) Так как число картинок указано 2 ("n": 2), то переменных необходимо создать тоже 2.

Соотношение переменных:

data.0.url→ image

data.1.url→ image1

10. Для вывода каждой картинки настроить отдельный блок «Цепочка сообщений».

<figure><img src="/files/MNxUvDxr9Prbs45FN5Z8" alt=""><figcaption></figcaption></figure>

а) В первом блоке прописать нужную переменную и перейти через кнопку «Продолжить» к следующему.

б) Во втором блоке ставим вторую переменную:

<figure><img src="/files/7id91zpJ4epz0hkSCeGG" alt=""><figcaption></figcaption></figure>

11. От кнопок «Нет ответа от сервера» блоков HTTPобязательно поставить текстовый блок с пояснением и отправить в первый блок, чтобы пользователь мог задать вопрос еще раз.

{% hint style="info" %}
Обратите внимание, если время отклика в блоках HTTP указать слишком маленькое, бот работать не будет, т.к. не успеет получить ответ от сервера.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.cleverapp.pro/sozdanie-bota-s-chatgpt.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
