内容库ai改写

This commit is contained in:
wong
2025-07-25 14:49:53 +08:00
parent f56deb1476
commit e5694d9d44
2 changed files with 67 additions and 11 deletions

View File

@@ -993,7 +993,17 @@ class ContentLibraryController extends Controller
if ($excludeMatch) {
continue;
}
// 如果启用了AI处理
if (!empty($library['aiEnabled']) && !empty($content)) {
$contentAi = $this->aiRewrite($library,$content);
if (!empty($content)){
$moment['contentAi'] = $contentAi;
}else{
$moment['contentAi'] = '';
}
}
// 保存到内容库的content_item表
$this->saveMomentToContentItem($moment, $library['id'], $friend, $nickname);
@@ -1012,10 +1022,7 @@ class ContentLibraryController extends Controller
}
}
// 如果启用了AI处理
if ($library['aiEnabled'] == 1 && !empty($library['aiPrompt']) && $totalMomentsCount > 0) {
// 此处实现AI处理逻辑暂未实现
}
if (empty($collectedData)) {
return [
@@ -1174,6 +1181,18 @@ class ContentLibraryController extends Controller
continue;
}
// 如果启用了AI处理
if (!empty($library['aiEnabled']) && !empty($content)) {
$contentAi = $this->aiRewrite($library,$content);
if (!empty($content)){
$moment['contentAi'] = $contentAi;
}else{
$moment['contentAi'] = '';
}
}
// 保存消息到内容库
$this->saveMessageToContentItem($message, $library['id'], $groupInfo);
@@ -1202,11 +1221,6 @@ class ContentLibraryController extends Controller
}
}
// 如果启用了AI处理
if ($library['aiEnabled'] == 1 && !empty($library['aiPrompt']) && $totalMessagesCount > 0) {
// 此处实现AI处理逻辑暂未实现
}
if (empty($collectedData)) {
return [
'status' => 'warning',
@@ -1480,6 +1494,7 @@ class ContentLibraryController extends Controller
$item->friendId = $friend['id'];
$item->createMomentTime = $moment['createTime'] ?? 0;
$item->content = $moment['content'] ?? '';
$item->contentAi = $moment['contentAi'] ?? '';
$item->coverImage = $coverImage;
$item->contentType = $contentType; // 设置内容类型
@@ -1932,6 +1947,47 @@ class ContentLibraryController extends Controller
}
public function aiRewrite($library = [],$content = '')
{
if (empty($library['aiEnabled']) && empty($content)){
return false;
}
// 此处实现AI处理逻辑暂未实现
$utl = Env::get('doubaoAi.api_url', '');
$apiKey = Env::get('doubaoAi.api_key', '');
$model = Env::get('doubaoAi.model', 'doubao-1-5-pro-32k-250115');
if (empty($apiKey)){
return false;
}
if (!empty($library['aiPrompt'])) {
$aiPrompt = $library['aiPrompt'];
}else{
$aiPrompt = '重写这条朋友圈 要求:
1、原本的字数和意思不要修改超过10%
2、出现品牌名或个人名字就去除';
}
$content = $aiPrompt .' ' . $content;
$headerData = ['Authorization:Bearer ' . $apiKey];
$header = setHeader($headerData);
// 发送请求
$params = [
'model' => $model,
'messages' => [
['role' => 'system','content' => '你是人工智能助手.'],
['role' => 'user','content' => $content],
]
];
$result = requestCurl($utl, $params, 'POST', $header,'json');
$result = json_decode($result,true);
if (!empty($result['choices'])){
$contentAI = $result['choices'][0]['message']['content'];
return $contentAI;
}else{
return false;
}
}
}

View File

@@ -173,7 +173,7 @@ class WorkbenchMomentsJob
'poiAddress' => '',
'poiName' => '',
'publicMode' => '',
'text' => $contentLibrary['content'],
'text' => !empty($contentLibrary['contentAi']) ? $contentLibrary['contentAi'] : $contentLibrary['content'],
'timingTime' => date('Y-m-d H:i:s', $sendTime),
'beginTime' => date('Y-m-d H:i:s', $sendTime),
'endTime' => date('Y-m-d H:i:s', $sendTime + 600),