diff --git a/application/common/OpenAi.php b/application/common/OpenAi.php index c30f183..a80e87c 100644 --- a/application/common/OpenAi.php +++ b/application/common/OpenAi.php @@ -53,8 +53,10 @@ class OpenAi 'other_journal' =>'结合标题:title摘要:abstrart从期刊列表other_journal中根据期刊范围筛选出最符合的期刊【小于等于1个】' ], 'B' => [ - 'ethics' => '分析content', - 'registration' => '分析content', + 'ai_ethics' => '结合标题:title摘要:abstrart分析', + 'ethics' => '结合标题:title摘要:abstrart内容:content分析', + 'ai_registration' => '结合标题:title摘要:abstrart分析', + 'registration' => '标题:title摘要:abstrart内容content分析', 'academic' => '分析content是否存在学术不端问题【包括但不限于:1. 抄袭:是否存在未经引用的重复内容2. 数据作假:数据是否矛盾、不合理或无来源3. 图片伪造:是否提及可疑的图片/图表(如无原始数据支持)】', 'contradiction' => '分析content是否存在前后矛盾或逻辑不一致的问题【包括但不限于1. 性别与疾病不匹配(如女性疾病出现男性患者、男性疾病出现女性患者)2. 数量不一致(如病人数量、动物数量在不同位置描述冲突)3. 种类不一致(如实验动物种类前后描述不同)4. 其他明显的逻辑矛盾(如时间线冲突、因果关系矛盾)】', 'fund_number' => '分析content', @@ -75,13 +77,21 @@ class OpenAi "other_journal_issn" => "期刊issn", 'other_journal_explanation' => '请详细解释说明' ], + 'ai_ethics' => [ + 'ethics_assessment' => "结合标题和摘要判断是否需要伦理号?[返回是/否]", + 'ethics_explanation' => "[结合标题和摘要解释说明是否需要伦理号]", + ], 'ethics' => [ - 'ethics_assessment' => "内容是否存在伦理号缺失或明显伦理问题[返回是/否]", - 'ethics_explanation' => "1.[解释说明是否需要伦理号]2.[分析内容是否存在伦理号缺失或明显伦理问题]", + 'ethics_assessment' => "结合标题和摘要以及内容分析是否需要伦理号或存在明显伦理问题[返回是/否]", + 'ethics_explanation' => "逐个回答以下问题【1.[解释说明是否需要伦理号]2.[分析内容是否存在伦理号缺失]3.[是否存在明显伦理问题]】", + ], + 'ai_registration' => [ + 'registration_assessment' => "结合标题和摘要判断是否需要临床注册号和知情同意书?[返回是/否]", + 'registration_explanation' => "[结合标题和摘要解释说明是否需要临床注册号和知情同意书]", ], 'registration' => [ - 'registration_assessment' => "是否缺失临床注册号和知情同意书[返回是/否]", - 'registration_explanation' => "1.[解释说明是否需要临床注册号和知情同意书]2.[分析内容是否存在临床注册号和知情同意书]", + 'registration_assessment' => "结合标题摘要内容分析是否需要临床注册号和知情同意书[返回是/否]", + 'registration_explanation' => "逐个回答以下问题【1.[解释说明是否需要临床注册号和知情同意书]2.[分析内容是否存在临床注册号和知情同意书]】", ], 'academic' => [ 'academic_assessment' => "是/否", @@ -1237,7 +1247,7 @@ class OpenAi $aQueueParam = ['article_id' => $iArticleId,'question_level' => $sQuestionLevel,'queue_fields' => 'other_journal']; } if($sResult == '是'){ - $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'ethics']; + $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'ai_ethics']; } Queue::push('app\api\job\ArticleReview@fire', $aQueueParam, 'ArticleReview'); } @@ -1245,22 +1255,44 @@ class OpenAi $sKey = $sFieldsName.'_assessment';//是/否 $sResult = empty($aData[$sKey]) ? '否' : $aData[$sKey]; if($sResult == '是'){ - $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'ethics']; + $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'ai_ethics']; Queue::push('app\api\job\ArticleReview@fire', $aQueueParam, 'ArticleReview'); }else{ $aData['is_finish'] = 1; } } + if($sFieldsName == 'ai_ethics'){ + $sKey = 'ethics_assessment';//是/否 + $sResult = empty($aData[$sKey]) ? '否' : $aData[$sKey]; + if($sResult == '是'){ + $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'ethics','explanation' => empty($aData['ethics_explanation']) ? 'AI返回为空' : $aData['ethics_explanation']]; + Queue::push('app\api\job\ArticleReview@fire', $aQueueParam, 'ArticleReview'); + }else{ + $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'ai_registration']; + Queue::push('app\api\job\ArticleReview@fire', $aQueueParam, 'ArticleReview'); + } + } if($sFieldsName == 'ethics'){//伦理问题 $sKey = $sFieldsName.'_assessment';//是/否 $sResult = empty($aData[$sKey]) ? '否' : $aData[$sKey]; if($sResult == '否'){ - $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'registration']; + $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'ai_registration']; Queue::push('app\api\job\ArticleReview@fire', $aQueueParam, 'ArticleReview'); }else{ $aData['is_finish'] = 1; } } + if($sFieldsName == 'ai_registration'){ + $sKey = 'registration_assessment';//是/否 + $sResult = empty($aData[$sKey]) ? '否' : $aData[$sKey]; + if($sResult == '是'){ + $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'registration','explanation' => empty($aData['registration_explanation']) ? 'AI返回为空' : $aData['registration_explanation']]; + Queue::push('app\api\job\ArticleReview@fire', $aQueueParam, 'ArticleReview'); + }else{ + $aQueueParam = ['article_id' => $iArticleId,'question_level' => 'B','queue_fields' => 'academic']; + Queue::push('app\api\job\ArticleReview@fire', $aQueueParam, 'ArticleReview'); + } + } if($sFieldsName == 'registration'){//临床注册号及知情同意书 $sKey = $sFieldsName.'_assessment';//是/否 $sResult = empty($aData[$sKey]) ? '否' : $aData[$sKey];