此功能主要是使用Ai大模型给文章生成一个简单的摘要,懒人专用。(效果如下):

我选择的大模型是豆包.1.6.极致速度.250715.通过coze平台创建一个智能体。再通过token来实现的。过程中踩了几个坑重点圈一下。
官方的请求参数如下:
curl –location –request POST ‘https://api.coze.cn/v3/chat’ \–header ‘Authorization: Bearer pat_OYDacMzM3WyOWV3Dtj2bHRMymzxP****’ \–header ‘Content-Type: application/json’ \–data-raw ‘{“bot_id”: “73428668*****”,“user_id”: “123123***”,“stream”: false,“auto_save_history”:true,“additional_messages”:[{“role”:”user”,“content”:”早上好”,“content_type”:”text”}]}’
第一个踩的坑,因为是个人版,我始终找不到user _id,账号名,几经辗转,发现这个user_id其实就是空间的id,在智能体的前面就能看的到。

主要的就是通过自己的的token,user_id,bot_id来连接API地址工作的。原理就是通过智能体的对话,让AI输出结果,那么我们可以定义它输出字数限制,还有内容的字数限制。核心逻辑如下,大家可做参考:(如果是密码文章,需要输入密码进入后前端才会显示摘要框。)
// 核心摘要逻辑
function xiaopiblog_coze_custom_excerpt($excerpt) {
global $post;// 基础变量定义
$post_id = isset($post->ID) ? $post->ID : 0;
$coze_settings = get_option(‘xiaopiblog_coze_settings’, []);
$has_token = !empty($coze_settings[‘token’]);// 密码保护判断
if (post_password_required()) {
return ‘<div class=”article-desc”><p>文章受密码保护</p></div>’;
}// 无令牌判断
if (!$has_token) {
return ‘<div class=”article-desc”><p>请在主题设置配置Coze令牌</p></div>’;
}
第二个踩的坑,如果定义这个自动生成,他会全局生成摘要,我有些文章是手动写的摘要,或者是你觉着Ai摘要总结不到位可容易添加手动摘要优先
// 手动摘要优先
$manual_excerpt = isset($post->post_excerpt) ? $post->post_excerpt : ”;
$is_manual = !empty(trim($manual_excerpt)) && !get_post_meta($post_id, ‘_xiaopiblog_coze_excerpt’, true);
if ($is_manual) {
$output = ‘<div class=”article-desc”>’;
$output .= ‘<span class=”article-notice”><i class=”iconfont”></i></span>’;
$output .= ‘<p>’ . wp_kses_post($manual_excerpt) . ‘</p>’;
$output .= ‘</div>’;
return $output;
}
我们可以在后台添加一个手动摘要的按钮,以便于我们更新摘要,手动摘要
// 后台:添加手动更新按钮(纯HTML输出,无复杂逻辑)
function xiaopiblog_coze_add_manual_button() {
global $post;
$coze_settings = get_option(‘xiaopiblog_coze_settings’, []);// 只在文章/页面且有令牌时显示
if (!in_array($post->post_type, [‘post’, ‘page’]) || empty($coze_settings[‘token’])) {
return;
}
?>
<div class=”misc-pub-section coze-manual-excerpt-section”>
<button type=”button” id=”coze-manual-generate” class=”button button-secondary”>
手动更新AI摘要
</button>
<span id=”coze-generate-status” style=”margin-left: 10px; display: none;”></span>
<p class=”description” style=”margin-top: 5px; color: #666; font-size: 12px;”>
点击后将重新生成文章摘要,并自动填充到摘要框
</p>
</div>
<?php
}

值得注意的点还有,我们需要给它输出的内容进行缓存,个人每天的资源点只有500次,如果访问量大,每次都生成的话,很快就消耗完了。
限制小于300字的内容不支持生成摘要啊,抓取内容不宜过长,不然导致访问速度变慢,体验感很差的情况。
最近实在是工作忙,没时间更新,水一篇,哈哈!
评论 (2)
看到不少博客都添加了ai摘要,想想自己要不要也搞个,博客嘛,就是折腾,哈哈
哈哈,是的,折腾下。不知道是不是我给Ai描述的不清楚,总感觉没有自己写的摘要好。