From 39f040a0515f405b689dace19c64f9d2f01a9a6f Mon Sep 17 00:00:00 2001 From: chengxl Date: Sat, 16 Aug 2025 14:59:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common/OpenAi.php | 50 ++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/application/common/OpenAi.php b/application/common/OpenAi.php index a80e87c..f5940a8 100644 --- a/application/common/OpenAi.php +++ b/application/common/OpenAi.php @@ -79,19 +79,19 @@ class OpenAi ], 'ai_ethics' => [ 'ethics_assessment' => "结合标题和摘要判断是否需要伦理号?[返回是/否]", - 'ethics_explanation' => "[结合标题和摘要解释说明是否需要伦理号]", + 'ethics_explanation' => "[结合标题和摘要解释说明是否需要伦理号][返回格式字符串]", ], 'ethics' => [ 'ethics_assessment' => "结合标题和摘要以及内容分析是否需要伦理号或存在明显伦理问题[返回是/否]", - 'ethics_explanation' => "逐个回答以下问题【1.[解释说明是否需要伦理号]2.[分析内容是否存在伦理号缺失]3.[是否存在明显伦理问题]】", + 'ethics_explanation' => "逐个回答以下问题【1.[解释说明是否需要伦理号]2.[分析内容是否存在伦理号缺失]3.[是否存在明显伦理问题]】[返回格式字符串]", ], 'ai_registration' => [ 'registration_assessment' => "结合标题和摘要判断是否需要临床注册号和知情同意书?[返回是/否]", - 'registration_explanation' => "[结合标题和摘要解释说明是否需要临床注册号和知情同意书]", + 'registration_explanation' => "[结合标题和摘要解释说明是否需要临床注册号和知情同意书][返回格式字符串]", ], 'registration' => [ 'registration_assessment' => "结合标题摘要内容分析是否需要临床注册号和知情同意书[返回是/否]", - 'registration_explanation' => "逐个回答以下问题【1.[解释说明是否需要临床注册号和知情同意书]2.[分析内容是否存在临床注册号和知情同意书]】", + 'registration_explanation' => "逐个回答以下问题【1.[解释说明是否需要临床注册号和知情同意书]2.[分析内容是否存在临床注册号和知情同意书]】[返回格式字符串]", ], 'academic' => [ 'academic_assessment' => "是/否", @@ -102,11 +102,11 @@ class OpenAi 'contradiction_explanation' => "解释说明", ], 'fund_number' => [ - 'fund_number' => "1.[内容是否有基金号]2.[解释说明]" + 'fund_number' => "1.[内容是否有基金号]2.[解释说明][返回格式字符串]" ], 'attribute' => [ 'attribute_assessment' => "内容是否有科学性和创新性[包括但不限于科学性(结论是否科学、参考文献是否新颖等);创新性(结论与当前研究水平相比是否有明显突破、参考文献的时间)][返回是/否]", - 'attribute_explanation' => "1.科学性[结论是否科学、参考文献是否新颖等]2.创新性[结论与当前研究水平相比是否有明显突破、参考文献的时间]", + 'attribute_explanation' => "1.科学性[结论是否科学、参考文献是否新颖等]2.创新性[结论与当前研究水平相比是否有明显突破、参考文献的时间][返回格式字符串]", ], 'hotspot' => [ 'hotspot' => "[逐个判断领域是否为热点领域并解释说明[返回格式:领域[解释说明],多个;分隔]]" @@ -941,6 +941,20 @@ class OpenAi return json_encode(['status' => 2, 'msg' => 'Please select an Journal']); } + //字段名 + $sFieldsName = empty($aParam['field_name']) ? '' : $aParam['field_name']; + if(empty($sFieldsName)){ + return json_encode(['status' => 3, 'msg' => 'Field is empty']); + } + + //查询文章审核内容 + $oAireview = new \app\common\Aireview; + $aAireview = $oAireview->get($aParam); + $aAireview = empty($aAireview['data']) ? [] : $aAireview['data']; + if(!empty($aAiReview['is_finish']) && $aAiReview['is_finish'] == 1){ + return json_encode(array('status' => 1,'msg' => 'AI has been reviewed:'.$sFieldsName)); + } + //提问信息 $aMessage = empty($aParam['messages']) ? [] : $aParam['messages']; if (empty($aMessage)) { @@ -948,11 +962,6 @@ class OpenAi } //问题等级 $sQuestionLevel = empty($aParam['question_level']) ? '' : $aParam['question_level']; - //字段名 - $sFieldsName = empty($aParam['field_name']) ? '' : $aParam['field_name']; - if(empty($sFieldsName)){ - return json_encode(['status' => 3, 'msg' => 'Field is empty']); - } //判断是否执行过 $sRedisKey = 'queue_job:review_progress:'.$iArticleId.'_'.$iJournalId; @@ -1104,6 +1113,20 @@ class OpenAi return json_encode(['status' => 2, 'msg' => 'Please select an Journal']); } + //字段名 + $sFieldsName = empty($aParam['queue_fields']) ? '' : $aParam['queue_fields']; + if(empty($sFieldsName)){ + return json_encode(['status' => 3, 'msg' => 'Field is empty']); + } + + //查询文章审核内容 + $oAireview = new \app\common\Aireview; + $aAireview = $oAireview->get($aParam); + $aAireview = empty($aAireview['data']) ? [] : $aAireview['data']; + if(!empty($aAiReview['is_finish']) && $aAiReview['is_finish'] == 1){ + return json_encode(array('status' => 1,'msg' => 'AI has been reviewed:'.$sFieldsName)); + } + //提问信息 $aMessage = empty($aParam['messages']) ? [] : $aParam['messages']; if (empty($aMessage)) { @@ -1111,11 +1134,6 @@ class OpenAi } //问题等级 $sQuestionLevel = empty($aParam['question_level']) ? '' : $aParam['question_level']; - //字段名 - $sFieldsName = empty($aParam['queue_fields']) ? '' : $aParam['queue_fields']; - if(empty($sFieldsName)){ - return json_encode(['status' => 3, 'msg' => 'Field is empty']); - } //请求OPENAI $aParam['temperature'] = '0.1';