Kansai WordPress Meetupで、OpenAIの活用方法やChatWPについて紹介してきました。 #WMKansai 2023/07
Kansai WordPress Meetupでは、OpenAIを利用してサイト運用の効率化を試しているセッションが行われました。OpenAI APIを使用しているコードサンプルも公開されています。また、ChatWPというサービスを利用することで、WordPressの開発者ドキュメントを学習することもできます。このサービスでは、WordPressの組み込み方法に関する質問に詳しい回答が得られます。
広告ここから
広告ここまで
目次
Kansai WordPress Meetupにて、「OpenAIを利用して、サイト運用効率化を試している話」というセッションをやってきました。
資料
<script async class="docswell-embed" src="https://www.docswell.com/assets/libs/docswell-embed/docswell-embed.min.js" data-src="https://www.docswell.com/slide/KNR9QV/embed" data-aspect="0.5625"></script><div class="docswell-link"><a href="https://www.docswell.com/s/hideokamoto/KNR9QV-wpmeetup-202307">OpenAIを利用して サイト運用効率化を試している話 by @hideokamoto</a></div>
OpenAI APIを利用しているコードサンプル
OpenAI APIを呼び出す処理自体は、こんな感じです。
public function create_completions( $content , $lang, $summary_length ) {
$url = 'https://api.openai.com/v1/chat/completions';
$data = array(
'model' => 'gpt-3.5-turbo',
'messages' => array(
array(
'role' => 'system',
'content' => "You're the blog writer good at the summarizing existing posts. Please generate a short summary of the user input text by the following conditions. rule1: The summary should be written in ' . $lang . '. rule2: The summary should less than ' . $summary_length . ' words. rule3: The summary should not include any code example."
),
array(
'role' => 'user',
'content' => $content,
)
)
);
$headers = array(
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . $this->api_key,
);
$response = wp_remote_post($url, array(
'body' => json_encode($data),
'headers' => $headers,
'timeout' => 100
));
if (is_wp_error($response)) {
$error_message = $response->get_error_message();
error_log( print_r( $error_message, true ) );
return '';
}
$json = json_decode( wp_remote_retrieve_body( $response ) , true);
if ( ! $json ) {
return '';
}
if ( ! isset( $json['choices'][0]['message']['content'] ) ) {
return '';
}
return $json['choices'][0]['message']['content'];
}
この前後に、WordPressのフックまわりや記事の更新処理などを入れています。
コミュニティSDKとして、第三者が公開されているPHP SDKを探して入れても良いのですが、WordPressのwp_remote_post
でも十分使えるかなと思います。
それ以上のことを求める時は、おそらくAWSなどにPython( with LangChain )でAPIを作る方向に行く気もしますし・・・
ChatWPで、WordPressについて調べてみよう
ディスカッションタイムに、「あれ、そういえばこんなのあったな・・・」となって紹介したのが、ChatWPです。
DocsBotというサービスを利用して、WordPressの開発者ドキュメントを学習させている・・・ようすのサイトです。
そのため、WordPressの組み込み方法などについて、ある程度まで詳しい回答が得られます。
ちなみに、「メール文章を作成して」のような指示を入れると、それっぽいメールを作ってくれたりします。