[021] ChatGPT Framework

Плагин [021] ChatGPT Framework v1.5.0

Платформа ботов для ChatGPT API
Совместимость с XenForo
  1. XF 2.0
  2. XF 2.1
  3. XF 2.2
Подробнее
https://xenforo.com/community/resources/021-chatgpt-framework.9075/
Документация
https://devsell.io/resources/021-chatgpt-framework.21/field?field=developer_guide

Интегрируйте современную языковую модель OpenAI в свой форум XenForo 2 с помощью надстройки ChatGPT Framework.​


Это дополнение обеспечивает комплексную основу для интеграции ChatGPT API в ваш форум, позволяя вам улучшить работу ваших пользователей с помощью передовой технологии обработки языка. С помощью ChatGPT вы можете генерировать человеческие ответы на запросы пользователей, автоматически модерировать контент и многое другое.

Надстройка ChatGPT Framework предлагает ряд функций, которые помогут вам настроить и оптимизировать интеграцию ChatGPT, в том числе:
  • Встроенный репозиторий сообщений: позволяет загружать сообщения для ChatGPT из разных мест форума, таких как темы или беседы. Также предоставляет функции для их подготовки.
  • Обработка ошибок: корректно обрабатывайте ошибки и исключения API.
  • Генерация настраиваемых ответов: выберите способ генерации ответов в зависимости от ваших предпочтений и варианта использования.

Настройка​

Укажите ключ API от OpenAI в опциях после установки.

Руководство по использованию для разработчиков
Получите ключ API OpenAI
PHP:
$apiKey = \XF::options()->bsChatGptApiKey;
Получить OpenAI API
PHP:
/** \Orhanerday\OpenAi\OpenAi $api */
$api = \XF::app()->container('chatGPT');
Получить ответ от ChatGPT
PHP:
use BS\ChatGPTBots\Response;

/** \Orhanerday\OpenAi\OpenAi $api */
$api = \XF::app()->container('chatGPT');

$messages = [
['role' => 'user', 'content' => 'Hello!']
];
$reply = Response::getReply(
$api->chat([
'model'             => 'gpt-3.5-turbo',
'messages'          => $messages,
'temperature'       => 1.0,
'max_tokens'        => 420,
'frequency_penalty' => 0,
'presence_penalty'  => 0,
 ])
);
Репозиторий сообщений

fetchMessagesFromThread — загружает контекст для бота из темы. Цитаты бота трансформируются в его сообщения для корректного контекста.
PHP:
public function fetchMessagesFromThread(
Thread $thread,
int $stopPosition = null, // Thread post position to which to load the context
?User $assistant = null, // Bot user to mark his messages in context
bool $transformAssistantQuotesToMessages = true, // If false, bot message quote messages will not be transformed into his messages
int $startPosition = null, // Thread post position from which to load the context
bool $removeQuotesFromAssistantMessages = true // Removes user post quotes from bot posts
)
wrapMessage — Генерирует массив сообщений, подготавливая контент для бота (удаляет ненужные BB-коды).
PHP:
public function wrapMessage(string $content, string $role = 'user'): array
 
/*
returns [
    'content' => $preparedContent,
    'role' => $role
]
*/
prepareContent — Подготавливает содержимое сообщения для бота (удаляет ненужные BB-коды).
getQuotes — Парсит цитаты из текста, приводя их к удобному виду.
PHP:
public function getQuotes(
string $text,
int $userId = null, // filter quotes by user id
int $postId = null, // filter quotes by post id
string $postType = 'post' // post type in quotes
): array
/*
returns [
    [
        'post_id' => int|null,
        'user_id' => int|null,
        'content' => string|null, (quote content)
        'message' => string|null, (reply on quote, text which located below quote)
        'match'   => string (full quote match)
    ]
]
*/
removeQuotes — удалить кавычки из текста. Можно удалить кавычки для конкретных сообщений или пользователей.
PHP:
public function removeQuotes(
string $text,
int $userId = null,
int $postId = null,
string $postType = 'post'
): string



Связанные ресурсы:
[021] ChatGPT Autoresponder
Сверху Снизу