The group of settings has been renamed in accordance with the name of the add-on
New methodremoveMessageDuplicates
in message repo
New methodfetchMessagesFromConversation
in message repo
Now\BS\ChatGPTBots\Response::getReplyWithLogErrors
accept$throwExceptions
argument to throw exceptions on error instead of returning default reply
Now theprepareContent
method in message also converts mentions into hits
\BS\ChatGPTBots\Response
class featuresgetReplyWithLogErrors(OpenAi $api, array $params): string
– Receives a response and parse it to reply from the OpenAI API, logging the failure and adding the necessary information to the log.
Usage example
PHP:$reply = Response::getReplyWithLogErrors($api, [ 'model' => 'gpt-3.5-turbo', 'messages' => [], 'temperature' => 1.0, 'frequency_penalty' => 0, 'presence_penalty' => 0, ]);
Fixed
\BS\ChatGPTBots\Repository\Message::fetchMessagesFromThread
– the startPosition and stopPosition arguments were ignored if they were 0
Other changes
The add-on has been renamed to [021] ChatGPT Framework.
Message repository
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, // 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
– Generates a message array, preparing content for the bot (removes unnecessary BB codes).
PHP:public function wrapMessage(string $content, string $role = 'user'): array /* returns [ 'content' => $preparedContent, 'role' => $role ] */
prepareContent
– Prepare message content for the bot (removes unnecessary BB codes).
getQuotes
– Parses quotes from the text, bringing it to a convenient form.
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
– 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