Руководство
  • Плагин ChatGPT для CRM "Руководитель"
Powered by GitBook
On this page

Плагин ChatGPT для CRM "Руководитель"

Last updated 10 months ago

Установка

  1. Установите плагин в папку plugins/ (у вас должен появиться путь plugins/ChatGPT).

  2. Перейдите в папку /config/server.php, в файле добавьте плагин. У вас должно получиться так:

define('AVAILABLE_PLUGINS', 'ext,ChatGPT');
  1. Проверьте корректность отображения плагина в CRM.

Создайте таблицу в БД вашей CRM. Нажмите на кнопку "Создать таблицу" и программа автоматически это сделает.

В итоге должно получится так:

Настройка

Перед использованием плагина его нужно настроить: получить API ключ, создать ассистента, если ChatGPT не доступен в вашем регионе, настроить прокси-сервер.

  1. После создания проекта, перейдите на вкладку API keys и создайте ключ. Запишите его в секретное место

  1. Перейдите на вкладку "assistants" и создайте его. Вы также можете написать для него инструкции по его поведению. Установите ползунок в положение "on" для разрешения искать ответы в ваших файлах. Так же нам необходимо скопировать имя ассистента.

  1. Для обучения ассистента нам понадобится узнать ID адрес его хранилища файлов. Сделать это можно следующим образом:

Переходим во вкладку storage

Далее vector stores и создаем его

После создания, нам нужно привязать нашего ассистента и скопировать ID VECTOR STORE

  1. При успешных действиях у нас должна быть информация по API ключу, ID ассистента, ID VECTOR STORE.

  2. Получите ключ плагина.

  3. Настройка плагина. Заполните поля во кладке настройка плагина в вашей CRM. Вводим только настройки, поля в "Обучении модели" оставляем не заполненными

  1. Проверяем результат: если номер ассистента оставить незаполненным, программа будет использовать общую модель ChatGPT-4; в случае, если номер ассистента присутствует, программа будет обращаться к вашему ассистенту.

Обучение

Для примера я создал сущность "Табель рабочих" и добавил туда записи

Далее переходим в раздел Настройки -> Обучение модели. Заполняем поля: Наименование файла (который передастся в vector store), Номер сущности в нашей CRM системе (по умолчанию данные выбираются из всей таблицы сущности; если требуются определенные поля, зайдите в plugins/ChatGPT/classes/EntityHandler.php и настройте нужный параметр запроса).

// Some code
public function getEntityData($entity_number)
{
    $table_name = "app_entity_" . (int)$entity_number;
    $query = "SELECT * FROM $table_name"; // Укажите какие данные нужно выбирать из таблицы сущности 
    $result = db_query($query);
    $data = [];

    if ($result) {
        while ($row = mysqli_fetch_assoc($result)) {
            $data[] = $row;
        }
        return $data;
    } else {
        throw new Exception("Не удалось получить данные из таблицы $table_name");
    }
}

Отправляем данные

Проверяем результат. Видим что обучение ассистента прошло и он выдает ответы основываясь на данных в сущности "Табель рабочих"

Настройка доступа групп пользователей

Зайдите в файл plugins/ChatGPT/menu.php и укажите какие группы будет иметь доступ к разделу меню.

// Some code
<?php

$submenu = array();
//Укажите группы доступа к меню чата
if (in_array($app_user['group_id'], [0, 4])) {
    $submenu[] = array(
        'title' => 'ChatGPT',
        'url' => url_for('ChatGPT/page_chatgpt/gpt'),
        'class' => 'fa-comments'
    );
}
//Укажите группы доступа к настройкам чата
if ($app_user['group_id'] == 0) {
    // Администратор
    $submenu[] = array(
        'title' => 'Настройки',
        'url' => url_for('ChatGPT/page_chatgpt/settings'),
        'class' => 'fa-cogs'
    );
}

if (!empty($submenu)) {
    $app_plugin_menu['menu'][] = array(
        'title' => 'OpenAI',
        'url' => url_for(''),
        'class' => 'fa-rocket',
        'submenu' => $submenu
    );
}

В данных настройках мы видим, что администратор имеет доступ ко всем вкладкам меню, а группа доступа 4 имеет доступ только к чату.

Так же в файле plugins/ChatGPT/modules/page_chatgpt/module_top.php укажите доступ к страницам.

// Some code
<?php

//Укажите группы доступа к плагину
if (!in_array($app_user['group_id'], [0, 4])) {
    redirect_to('dashboard/access_forbidden');
}

Зарегистрируйтесь на сайте (если еще нет учетной записи) и создайте новый проект

Если на вашей территории ChatGPT не доступен, воспользуйтесь при регистрации VPN. Для дальнейшего использования плагина вам также понадобится прокси-сервер. (я использовал этот ресурс IPv4 )

Плагин настроен и готов к работе. По вопросам настройки плагина обращайтесь в телеграм

https://platform.openai.com/playground
https://panel.proxyline.net/
https://t.me/vertlm