• Your Files, Your Rules – Upgrade Today! Exciting news! With our new ownership, you’re no longer limited—upload files from here to any website without getting Banned. 🚀 Why wait? Upgrade your account now
021 - ChatGPT Framework

Free 021 - ChatGPT Framework 2.1.1

Integrate OpenAI's state-of-the-art language model into your XenForo 2 forum with the ChatGPT Framework add-on.​

This add-on provides a comprehensive framework for integrating the ChatGPT API into your forum, allowing you to enhance your users' experience with cutting-edge language processing technology. With ChatGPT, you can generate human-like responses to user queries, automatically moderate content, and more.

The ChatGPT Framework add-on offers a range of features to help you customize and optimize your ChatGPT integration, including:
  • Built-in message repository: Allows to load messages for ChatGPT from different places in the forum, such as threads or conversations. Also provides functions to prepare them.
  • Error handling: Handle API errors and exceptions gracefully.
  • Configurable response generation: Choose how responses are generated based on your preferences and use case.

Getting started​

Get the OpenAI API key​

Before using the ChatGPT API Framework, you'll need to obtain an API key from OpenAI. You can get your API key by registering at OpenAI.

Initialize the OpenAI API​

The ChatGPT API Framework provides a convenient way to initialize the OpenAI API. To get started, you can use the following code:

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

This code initializes the OpenAI API and assigns it to the $api variable.

Get a reply from ChatGPT​

To get a reply from ChatGPT, you can use the Response::getReply() function provided by the ChatGPT API Framework. Here's an example code snippet:
Code:
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,
])
);
This code initializes an array of messages to send to ChatGPT and uses the chat() function to get a response. The response is returned as the $reply variable.

Get a reply from ChatGPT with logging errors​

The method attempts to get a reply from OpenAI's Chat API using the provided parameters, and logs any errors that occur during the process. It returns a reply if successful, or a default error message if not.
Code:
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,
])
);

Message Repository \BS\ChatGPTBots\Repository\Message

The ChatGPT API Framework provides a message repository to manage messages for your bots. The repository has several useful functions, including:

fetchMessagesFromThread()​

Loads the context for the bot from the topic. Bot quotes are transformed into his messages for the correct context.
PHP:
public function fetchMessagesFromThread(
Thread $thread,
int $stopPosition = null,
?User $assistant = null,
bool $transformAssistantQuotesToMessages = true,
int $startPosition = null,
bool $removeQuotesFromAssistantMessages = true
)

fetchMessagesFromConversation()​

This function loads the context for a bot from a conversation. Bot quotes are transformed into his messages for the correct context.

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()​

Generates a message array, preparing content for the bot (removes unnecessary BB codes).

PHP:
public function wrapMessage(string $content, string $role = 'user'): array

prepareContent()​

Prepare message content for the bot (removes unnecessary BB codes).

PHP:
public function prepareContent(string $content, bool $stripQuotes = true): string

getQuotes()​

Parses quotes from the text, bringing it to a convenient form.

PHP:
public function getQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): array

removeQuotes()​

Remove quotes from the text. Can be remove quotes for specific posts or users.

PHP:
public function removeQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): string
  • Options.webp
    Options.webp
    10.2 KB · Views: 114
Author
XFdownloadStore
Downloads
3
Views
310
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from XFdownloadStore

Latest updates

  1. 2.1.1

    Fix: Backward compatibility
  2. 2.0.1

    Fix: Sanitizing of usernames in messages
  3. 1.6.0

    Support for
  4. 1.5.1

    When streaming the bot's response, characters such as "0" could be missed
  5. 1.5.0

    Message repo: Ability to fetch comments from profile post
Similar resources Most view View more
Back
Top