内容库ai改写
This commit is contained in:
@@ -993,7 +993,17 @@ class ContentLibraryController extends Controller
|
|||||||
if ($excludeMatch) {
|
if ($excludeMatch) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 如果启用了AI处理
|
||||||
|
if (!empty($library['aiEnabled']) && !empty($content)) {
|
||||||
|
$contentAi = $this->aiRewrite($library,$content);
|
||||||
|
if (!empty($content)){
|
||||||
|
$moment['contentAi'] = $contentAi;
|
||||||
|
}else{
|
||||||
|
$moment['contentAi'] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 保存到内容库的content_item表
|
// 保存到内容库的content_item表
|
||||||
$this->saveMomentToContentItem($moment, $library['id'], $friend, $nickname);
|
$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)) {
|
if (empty($collectedData)) {
|
||||||
return [
|
return [
|
||||||
@@ -1174,6 +1181,18 @@ class ContentLibraryController extends Controller
|
|||||||
continue;
|
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);
|
$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)) {
|
if (empty($collectedData)) {
|
||||||
return [
|
return [
|
||||||
'status' => 'warning',
|
'status' => 'warning',
|
||||||
@@ -1480,6 +1494,7 @@ class ContentLibraryController extends Controller
|
|||||||
$item->friendId = $friend['id'];
|
$item->friendId = $friend['id'];
|
||||||
$item->createMomentTime = $moment['createTime'] ?? 0;
|
$item->createMomentTime = $moment['createTime'] ?? 0;
|
||||||
$item->content = $moment['content'] ?? '';
|
$item->content = $moment['content'] ?? '';
|
||||||
|
$item->contentAi = $moment['contentAi'] ?? '';
|
||||||
$item->coverImage = $coverImage;
|
$item->coverImage = $coverImage;
|
||||||
$item->contentType = $contentType; // 设置内容类型
|
$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' => '',
|
'poiAddress' => '',
|
||||||
'poiName' => '',
|
'poiName' => '',
|
||||||
'publicMode' => '',
|
'publicMode' => '',
|
||||||
'text' => $contentLibrary['content'],
|
'text' => !empty($contentLibrary['contentAi']) ? $contentLibrary['contentAi'] : $contentLibrary['content'],
|
||||||
'timingTime' => date('Y-m-d H:i:s', $sendTime),
|
'timingTime' => date('Y-m-d H:i:s', $sendTime),
|
||||||
'beginTime' => 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),
|
'endTime' => date('Y-m-d H:i:s', $sendTime + 600),
|
||||||
|
|||||||
Reference in New Issue
Block a user