Интегрируйте современную языковую модель OpenAI в свой форум XenForo 2 с помощью надстройки ChatGPT Framework.
Это дополнение обеспечивает комплексную основу для интеграции ChatGPT API в ваш форум, позволяя вам улучшить работу ваших пользователей с помощью передовой технологии обработки языка. С помощью ChatGPT вы можете генерировать человеческие ответы на запросы пользователей, автоматически модерировать контент и многое другое.
Надстройка ChatGPT Framework предлагает ряд функций, которые помогут вам настроить и оптимизировать интеграцию ChatGPT, в том числе:
- Встроенный репозиторий сообщений: позволяет загружать сообщения для ChatGPT из разных мест форума, таких как темы или беседы. Также предоставляет функции для их подготовки.
- Обработка ошибок: корректно обрабатывайте ошибки и исключения API.
- Генерация настраиваемых ответов: выберите способ генерации ответов в зависимости от ваших предпочтений и варианта использования.
Настройка (см. "Руководство для разработчиков"):
- Укажите ключ API от OpenAI в опциях после установки.
1) Получите ключ API OpenAI
- Прежде чем использовать ChatGPT API Framework, вам необходимо получить ключ API от OpenAI. Вы можете получить свой ключ API, зарегистрировавшись на OpenAI здесь
2) Инициализировать API OpenAI
- Платформа API ChatGPT предоставляет удобный способ инициализации API OpenAI. Для начала вы можете использовать следующий код:
PHP:
/** \Orhanerday\OpenAi\OpenAi $api */
$api = \XF::app()->container('chatGPT');
Этот код инициализирует API OpenAI и присваивает его переменной $api.
3) Получить ответ от ChatGPT
- Чтобы получить ответ от ChatGPT, вы можете использовать функцию Response::getReply(), предоставляемую ChatGPT API Framework. Вот пример фрагмента кода:
PHP:
use BS\ChatGPTBots\Response;
$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,
])
);
Этот код инициализирует массив сообщений для отправки в ChatGPT и использует функцию chat() для получения ответа. Ответ возвращается как $reply переменная.
4) Получите ответ от ChatGPT с ошибками регистрации
- Метод пытается получить ответ от API чата OpenAI, используя предоставленные параметры, и регистрирует любые ошибки, возникающие в процессе. Он возвращает ответ в случае успеха или сообщение об ошибке по умолчанию, если нет.
PHP:
use BS\ChatGPTBots\Response;
$messages = [
['role' => 'user', 'content' => 'Hello!']
];
$reply = Response::getReplyWithLogErrors(
$api->chat([
'model' => 'gpt-3.5-turbo',
'messages' => $messages,
'temperature' => 1.0,
'max_tokens' => 420,
'frequency_penalty' => 0,
'presence_penalty' => 0,
])
);
5) Хранилище сообщений \BS\ChatGPTBots\Repository\Message
- Платформа API ChatGPT предоставляет репозиторий сообщений для управления сообщениями для ваших ботов. Репозиторий имеет несколько полезных функций, в том числе:
fetchMessagesFromThread()
- Загружает контекст для бота из темы. Цитаты бота трансформируются в его сообщения для корректного контекста.
PHP:
public function fetchMessagesFromThread(
Thread $thread,
int $stopPosition = null,
?User $assistant = null,
bool $transformAssistantQuotesToMessages = true,
int $startPosition = null,
bool $removeQuotesFromAssistantMessages = true
)
fetchMessagesFromConversation()
- Эта функция загружает контекст для бота из разговора. Цитаты бота трансформируются в его сообщения для корректного контекста.
PHP:
public function fetchMessagesFromConversation(
ConversationMaster $conversation,
?ConversationMessage $beforeMessage = null,
?User $assistant = null,
int $limit = 0,
bool $reverseLoad = false,
bool $transformAssistantQuotesToMessages = true,
bool $removeQuotesFromAssistantMessages = true
)
wrapMessage()
- Формирует массив сообщений, подготавливая контент для бота (удаляет ненужные BB-коды).
PHP:
public function wrapMessage(string $content, string $role = 'user'): array
prepareContent()
- Подготовьте содержание сообщения для бота (удалит ненужные BB-коды).
PHP:
public function prepareContent(string $content, bool $stripQuotes = true): string
getQuotes()
- Разбирает цитаты из текста, приводя их к удобному виду.
PHP:
public function getQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): array
removeQuotes()
- Удалите кавычки из текста. Можно удалить кавычки для конкретных сообщений или пользователей.
PHP:
public function removeQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): string
- Прежде чем использовать ChatGPT API Framework, вам необходимо получить ключ API от OpenAI. Вы можете получить свой ключ API, зарегистрировавшись на OpenAI здесь
2) Инициализировать API OpenAI
- Платформа API ChatGPT предоставляет удобный способ инициализации API OpenAI. Для начала вы можете использовать следующий код:
PHP:
/** \Orhanerday\OpenAi\OpenAi $api */
$api = \XF::app()->container('chatGPT');
Этот код инициализирует API OpenAI и присваивает его переменной $api.
3) Получить ответ от ChatGPT
- Чтобы получить ответ от ChatGPT, вы можете использовать функцию Response::getReply(), предоставляемую ChatGPT API Framework. Вот пример фрагмента кода:
PHP:
use BS\ChatGPTBots\Response;
$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,
])
);
Этот код инициализирует массив сообщений для отправки в ChatGPT и использует функцию chat() для получения ответа. Ответ возвращается как $reply переменная.
4) Получите ответ от ChatGPT с ошибками регистрации
- Метод пытается получить ответ от API чата OpenAI, используя предоставленные параметры, и регистрирует любые ошибки, возникающие в процессе. Он возвращает ответ в случае успеха или сообщение об ошибке по умолчанию, если нет.
PHP:
use BS\ChatGPTBots\Response;
$messages = [
['role' => 'user', 'content' => 'Hello!']
];
$reply = Response::getReplyWithLogErrors(
$api->chat([
'model' => 'gpt-3.5-turbo',
'messages' => $messages,
'temperature' => 1.0,
'max_tokens' => 420,
'frequency_penalty' => 0,
'presence_penalty' => 0,
])
);
5) Хранилище сообщений \BS\ChatGPTBots\Repository\Message
- Платформа API ChatGPT предоставляет репозиторий сообщений для управления сообщениями для ваших ботов. Репозиторий имеет несколько полезных функций, в том числе:
fetchMessagesFromThread()
- Загружает контекст для бота из темы. Цитаты бота трансформируются в его сообщения для корректного контекста.
PHP:
public function fetchMessagesFromThread(
Thread $thread,
int $stopPosition = null,
?User $assistant = null,
bool $transformAssistantQuotesToMessages = true,
int $startPosition = null,
bool $removeQuotesFromAssistantMessages = true
)
fetchMessagesFromConversation()
- Эта функция загружает контекст для бота из разговора. Цитаты бота трансформируются в его сообщения для корректного контекста.
PHP:
public function fetchMessagesFromConversation(
ConversationMaster $conversation,
?ConversationMessage $beforeMessage = null,
?User $assistant = null,
int $limit = 0,
bool $reverseLoad = false,
bool $transformAssistantQuotesToMessages = true,
bool $removeQuotesFromAssistantMessages = true
)
wrapMessage()
- Формирует массив сообщений, подготавливая контент для бота (удаляет ненужные BB-коды).
PHP:
public function wrapMessage(string $content, string $role = 'user'): array
prepareContent()
- Подготовьте содержание сообщения для бота (удалит ненужные BB-коды).
PHP:
public function prepareContent(string $content, bool $stripQuotes = true): string
getQuotes()
- Разбирает цитаты из текста, приводя их к удобному виду.
PHP:
public function getQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): array
removeQuotes()
- Удалите кавычки из текста. Можно удалить кавычки для конкретных сообщений или пользователей.
PHP:
public function removeQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): string
Скачать [021] ChatGPT Framework 1.5.1
Для просмотра содержимого необходимо войти .