推送公众号接口调整

This commit is contained in:
chengxl
2025-05-22 16:35:15 +08:00
parent d0f4f65444
commit 4aa3ff1750

View File

@@ -32,7 +32,7 @@ class Aiarticle extends Base
/**OPENAI相关配置----------end**/ /**OPENAI相关配置----------end**/
//数据表必填字段[ai_article] //数据表必填字段[ai_article]
protected $aAiFileds = ['article_id','title_english','title_chinese','journal_issn','covered','digest','research_result','content','highlights','discussion','prospect','research_background',]; protected $aAiFileds = ['article_id','title_english','title_chinese','journal_issn','covered','digest','research_result','content','highlights','discussion','prospect','research_background','discussion_results','research_method'];
//期刊接口地址 //期刊接口地址
protected $sJournalUrl = 'http://journalapi.tmrjournals.com/public/index.php';//'http://zmzm.journal.dev.com'; // 'http://zmzm.journal.dev.com'; // 'http://journalapi.tmrjournals.com/public/index.php';//'http://zmzm.journal.dev.com'; // protected $sJournalUrl = 'http://journalapi.tmrjournals.com/public/index.php';//'http://zmzm.journal.dev.com'; // 'http://zmzm.journal.dev.com'; // 'http://journalapi.tmrjournals.com/public/index.php';//'http://zmzm.journal.dev.com'; //
@@ -41,31 +41,19 @@ class Aiarticle extends Base
//投稿系统 //投稿系统
protected $sSubmissionUrl = 'https://submission.tmrjournals.com/'; protected $sSubmissionUrl = 'https://submission.tmrjournals.com/';
protected $aOpenAiAsk = [ protected $aOpenAiAsk = [
1 => '"将以下内容翻译为中文,仅返回翻译结果,不要解释:\n {#content#}"', 1 => '"将以下内容翻译为中文,仅返回翻译结果,不要解释:\n {#content#}"',
2 => ' 2 => '
**核心要求** **核心要求**
1 内容涵盖哪些学科及方法请罗列 1 内容涵盖哪些学科及方法请罗列
2 结构化摘要生成【四要素模版】 2 学术规范翻译并提炼摘要更强调逻辑性、科学术语准确性和表达的严谨性并且不需要分点展示字数小于200字以便更方便读者阅读
3 研究背景提炼【三段式结构】 3 研究背景提炼,大于500字
发病率+当前治疗缺口如5年OS<20% 4 针对文章简单总结讨论和结果, 大于450字
引用2-3篇高被引论文的矛盾结论如Nature vs Cell观点分歧 5 简单总结文章的研究方法, 大于300字
基于团队前期工作如预实验发现X调控Y 6 针对稿件内容进行展望撰写
4 针对稿件内容进行结论撰写
与TOP3高被引文献的对比用"与A研究的X结论不同..."句式) 机制解释的3级证据链基因敲除→通路抑制→表型逆转 临床转化的可行性路径基于RECIST标准的ORR提升研究局限性分方法学/样本量/随访维度)
5 针对稿件内容进行展望撰写
现有方法的可扩展性(如空间组学升级计划)
6 按点总结归纳研究结果并做简要阐述【3点以上】
7 总结归纳亮点【3点以上】 7 总结归纳亮点【3点以上】
8 禁用清单 8 你是一名资深医学翻译专家,请将标题翻译成中文【内容需自然流畅、口语化、连贯性、学术性】
直接复制讨论部分的原文
未达到统计学显著性的趋势描述
稿件内未提及的内容一定不要总结归纳出来
"可能""或许"等不确定性词汇
单纯古籍原文翻译(需结合现代数据解读)
未经验证的因果断言(如"证明XX药治愈癌症"
9 请将标题翻译成中文
{#title_chinese#} {#title_chinese#}
10 请将稿件内容翻译成中文 9.你是一名资深医学翻译专家,请将文章内容翻译成中文【内容需自然流畅、口语化、连贯性、学术性】
{#content#} {#content#}
**稿件关键信息** **稿件关键信息**
- 稿件简介:{#abstract#} - 稿件简介:{#abstract#}
@@ -73,7 +61,7 @@ class Aiarticle extends Base
**输出格式** **输出格式**
中文格式[英文简写忽略首字母大写] 中文格式[英文简写忽略首字母大写]
格式内容 格式内容
```json{ "title_chinese": "", "content": "", "covered": "【总字数<=100】", "digest": "【总字数<=500】", "research_background": "", "research_result": "", "highlights": "", "prospect": "", "discussion": ""}' ```json{"covered": "【总字数<=100】", "digest": "【总字数<=500】", "research_background": "【总字数>200】", "discussion_results": "【总字数>450】","research_method" => "【总字数>300】", "prospect": "", "highlights": "", "title_chinese": "", "content": "", }'
]; ];
//文章图片icon地址 //文章图片icon地址
@@ -115,7 +103,8 @@ class Aiarticle extends Base
$data = [ $data = [
'model' => $model, 'model' => $model,
'messages' => $messages, 'messages' => $messages,
'temperature' => 0.7 'temperature' => 0,
'top_p' => 1,
]; ];
$oCurl = curl_init(); $oCurl = curl_init();
@@ -168,7 +157,7 @@ class Aiarticle extends Base
] ]
]; ];
//请求接口 //请求接口
$sModel = $aParam['api_model'] ?? 'gpt-4o'; $sModel = empty($aParam['api_model']) ? 'gpt-4o' : $aParam['api_model'];
$result = $this->curlOpenAI($messages,$sModel); $result = $this->curlOpenAI($messages,$sModel);
if($result == FALSE){ if($result == FALSE){
return json_encode(array('status' => 2,'msg' => 'Interface request failed'.$this->sError)); return json_encode(array('status' => 2,'msg' => 'Interface request failed'.$this->sError));
@@ -1116,7 +1105,7 @@ class Aiarticle extends Base
//数据处理-标题 //数据处理-标题
$sTitle = empty($aAiArticle['title']) ? '' : $aAiArticle['title']; $sTitle = empty($aAiArticle['title']) ? '' : $aAiArticle['title'];
$sTitle = mb_convert_encoding($sTitle, 'UTF-8', 'auto'); $sTitle = mb_convert_encoding($sTitle, 'UTF-8', 'auto');
$aAiArticle['title'] = $this->truncateByBytes($sTitle, 64); $aAiArticle['title'] = $this->truncateByBytes($sTitle);
//数据处理-摘要 //数据处理-摘要
$sDigest = empty($aAiArticle['digest']) ? '' : $aAiArticle['digest']; $sDigest = empty($aAiArticle['digest']) ? '' : $aAiArticle['digest'];
$sDigest = mb_convert_encoding($sDigest, 'UTF-8', 'auto'); $sDigest = mb_convert_encoding($sDigest, 'UTF-8', 'auto');
@@ -1165,24 +1154,12 @@ class Aiarticle extends Base
* 字符串处理 * 字符串处理
* @param article_id 文章ID * @param article_id 文章ID
*/ */
private function truncateByBytes($str, $maxBytes) { private function truncateByBytes($str, $maxLength = 64) {
$len = 0; $totalChars = mb_strlen($str, 'UTF-8');
$result = ''; if($totalChars >= $maxLength){
$i = 0; return mb_substr($str,0,$maxLength);
while ($i < mb_strlen($str, 'UTF-8')) {
$char = mb_substr($str, $i, 1, 'UTF-8');
$charBytes = strlen($char); // UTF-8 下实际字节数
if ($len + $charBytes > $maxBytes) {
break;
}
$result .= $char;
$len += $charBytes;
$i++;
} }
return $result; return $str;
} }
/** /**
@@ -1533,4 +1510,5 @@ class Aiarticle extends Base
$oMaterial = new Material; $oMaterial = new Material;
return $oMaterial->uploadMaterial($aUpload); return $oMaterial->uploadMaterial($aUpload);
} }
} }