Addon 2x [021] ChatGPT Framework - Thêm Framework ChatGPT cho XenForo 2 1.3.0

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,828
Được Like
12,687
[021] ChatGPT Framework - Thêm Framework ChatGPT cho XenForo 2 1.3.0

Tích hợp mô hình ngôn ngữ tiên tiến nhất của OpenAI vào diễn đàn XenForo 2 của bạn với add-on ChatGPT Framework.

Add-on này cung cấp một Framework toàn diện để tích hợp API ChatGPT vào diễn đàn của bạn, cho phép bạn nâng cao trải nghiệm của người dùng bằng công nghệ xử lý ngôn ngữ tiên tiến. Với ChatGPT, bạn có thể tạo phản hồi giống như con người đối với truy vấn của người dùng, tự động kiểm duyệt nội dung, v.v.

Add-on ChatGPT Framework cung cấp một loạt tính năng giúp bạn tùy chỉnh và tối ưu hóa tích hợp ChatGPT của mình, bao gồm:
  • Kho lưu trữ tin nhắn tích hợp: Cho phép tải tin nhắn cho ChatGPT từ những nơi khác nhau trong diễn đàn, chẳng hạn như chủ đề hoặc cuộc trò chuyện. Cũng cung cấp các chức năng để chuẩn bị chúng.
  • Xử lý lỗi: Xử lý các lỗi và ngoại lệ API một cách duyên dáng.
  • Tạo phản hồi có thể định cấu hình: Chọn cách tạo phản hồi dựa trên tùy chọn và trường hợp sử dụng của bạn.

Hướng dẫn sử dụng dành cho nhà phát triển

Nhận khóa API OpenAI​

Trước khi sử dụng ChatGPT API Framework, bạn cần lấy key API từ OpenAI. Bạn có thể lấy key API của mình bằng cách đăng ký tại OpenAI .

Khởi tạo API OpenAI​

ChatGPT API Framework cung cấp một cách thuận tiện để khởi tạo API OpenAI. Để bắt đầu, bạn có thể sử dụng đoạn code sau:

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

Code này khởi tạo API OpenAI và gán nó cho biến $api.

Nhận phản hồi từ ChatGPT​

Để nhận câu trả lời từ ChatGPT, bạn có thể sử dụng hàm Response::getReply() do ChatGPT API Framework cung cấp. Đây là một đoạn code ví dụ:
Mã:
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,
    ])
);

Code này khởi tạo một mảng tin nhắn để gửi tới ChatGPT và sử dụng chức năng chat() này để nhận phản hồi. Phản hồi được trả về dưới dạng biến $reply.

Nhận phản hồi từ ChatGPT về nhật ký ghi lỗi​

Phương pháp này cố gắng nhận phản hồi từ API trò chuyện của OpenAI bằng cách sử dụng các tham số được cung cấp và ghi lại mọi lỗi xảy ra trong quá trình này. Nó trả về một câu trả lời nếu thành công, hoặc một thông báo lỗi mặc định nếu không.
Mã:
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,
    ])
);

Kho lưu trữ tin nhắn \BS\ChatGPTBots\Repository\Message

ChatGPT API Framework cung cấp kho lưu trữ tin nhắn để quản lý tin nhắn cho bot của bạn. Kho lưu trữ có một số chức năng hữu ích, bao gồm:

fetchMessagesFromThread()​

Tải ngữ cảnh cho bot từ chủ đề. Các câu trích dẫn của bot được chuyển thành tin nhắn của nó cho đúng ngữ cảnh.
PHP:
public function fetchMessagesFromThread(
    Thread $thread,
    int $stopPosition = null,
    ?User $assistant = null,
    bool $transformAssistantQuotesToMessages = true,
    int $startPosition = null,
    bool $removeQuotesFromAssistantMessages = true
)

fetchMessagesFromConversation()​

Hàm này tải ngữ cảnh cho bot từ một cuộc trò chuyện. Các câu trích dẫn của bot được chuyển thành tin nhắn của nó cho đúng ngữ cảnh.
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()​

Tạo một mảng thông báo, chuẩn bị nội dung cho bot (loại bỏ các BBcode không cần thiết).
PHP:
public function wrapMessage(string $content, string $role = 'user'): array

prepareContent()​

Soạn nội dung tin nhắn cho bot (loại bỏ BB code không cần thiết).
PHP:
public function prepareContent(string $content, bool $stripQuotes = true): string

getQuotes()​

Phân tích các trích dẫn từ văn bản, đưa nó đến một hình thức thuận tiện.
PHP:
public function getQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): array

removeQuotes()​

Xóa dấu ngoặc kép khỏi văn bản. Có thể xóa dấu ngoặc kép cho bài viết hoặc người dùng cụ thể.
Mã:
public function removeQuotes(string $text, int $userId = null, int $postId = null, string $postType = 'post'): string

Options.png

Chúc các bạn thành công.


Nguồn: xenforo.com​
 

Đính kèm

  • BS-ChatGPTFramework-1.3.0 .zip
    122.7 KB · Lượt xem: 15

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mr. Tuấn

Mobile/Zalo: 0988 488 096

Telegram: bluekpro

Email: [email protected]

Nhà Tài Trợ

Mút Xốp Không Gian
pallet Thịnh Phát
Top Bottom