- Compatibilité XF
- 2.2.x
- Description courte
- Améliorez votre expérience de chat avec cette extension, offrant des fonctions helpers et définissant une clé API pour une intégration fluide. Récupérez les messages des discussions, préparez le contenu du bot et supprimez les guillemets efficacement.
Ce add-on fournit des fonctions helpers pour travailler avec ChatGPT.
Il permet de définir une clé API pour les add-ons qui travaillent avec ChatGPT et d'éviter la charge de dépendances dupliquées.
Guide de l'utilisateur du développeur
PHP:
$apiKey = \XF::options()->bsChatGptApiKey;
PHP:
/** \Orhanerday\OpenAi\OpenAi $api */
$api = \XF::app()->container('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 – Charge le contexte pour le bot depuis le sujet. Les citations du bot sont transformées en ses messages pour un contexte correct.
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
)
PHP:
public function wrapMessage(string $content, string $role = 'user'): array
/*
returns [
'content' => $preparedContent,
'role' => $role
]
*/
rechercheQuotes – Analyse les citations dans le texte et les met à un format pratique.
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)
]
]
*/
PHP:
public function removeQuotes(
string $text,
int $userId = null,
int $postId = null,
string $postType = 'post'
): string