内容库ai改写
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user