作者 lyh

gx

@@ -59,12 +59,19 @@ class Common @@ -59,12 +59,19 @@ class Common
59 if($info === false){ 59 if($info === false){
60 response('指令不存在',400); 60 response('指令不存在',400);
61 } 61 }
62 - //带原语种翻译  
63 - $result = Translate::translateSl($param['keywords'])->json();  
64 - if (isset($result['texts']['sl']) && isset(Translate::$tls_list[$result['texts']['sl']])) {  
65 - $lang = Translate::$tls_list[$result['texts']['sl']]['text']; 62 + if (strpos($param['keywords'], '{') !== false && strpos($param['keywords'], '}') !== false) {
  63 + $pattern = '/\{([^}]+)\}/'; // 匹配大括号及其内容
  64 + if (preg_match($pattern, $param['keywords'], $matches)) {
  65 + $lang = $matches[1]; // 获取捕获的内容
  66 + }
66 } else { 67 } else {
67 - $lang = '中文'; 68 + //带原语种翻译
  69 + $result = Translate::translateSl($param['keywords'])->json();
  70 + if (isset($result['texts']['sl']) && isset(Translate::$tls_list[$result['texts']['sl']])) {
  71 + $lang = Translate::$tls_list[$result['texts']['sl']]['text'];
  72 + } else {
  73 + $lang = '中文';
  74 + }
68 } 75 }
69 $str = ',请使用'.$lang.'回答'; 76 $str = ',请使用'.$lang.'回答';
70 //替换关键字 77 //替换关键字
@@ -53,36 +53,4 @@ class AiCommandController extends BaseController @@ -53,36 +53,4 @@ class AiCommandController extends BaseController
53 $aiLog = new AiLog(); 53 $aiLog = new AiLog();
54 return $aiLog->add($param); 54 return $aiLog->add($param);
55 } 55 }
56 -  
57 - /**  
58 - * 处理指令中的参数  
59 - * 语种  
60 - * @param $prompt  
61 - * @param $model_config  
62 - * @param $message  
63 - * @return string|string[]  
64 - */  
65 - public static function promptParamDeal($prompt, $model_config, $message)  
66 - {  
67 - if (FALSE === strpos($prompt, '{lang}')) {  
68 - return $prompt;  
69 - }  
70 - // 没有设置或者没有获取到正确的语种信息 则通过接口获取回复语种  
71 - if (empty($model_config['lang']) || empty(Translate::$tls_list[$model_config['lang']])) {  
72 - $string = is_array($message) ? end($message) : $message;  
73 - $result = Translate::translateSl($string)->json();  
74 - if (FALSE == empty($result['texts']['sl']) && FALSE == empty(Translate::$tls_list[$result['texts']['sl']])) {  
75 - $lang = 'use ' . Translate::$tls_list[$result['texts']['sl']]['lang_en'];  
76 - } else {  
77 - $lang = '';  
78 - }  
79 -  
80 - } else {  
81 - $lang = Translate::$tls_list[$model_config['lang']]['lang_en'];  
82 - $lang = 'use ' . $lang;  
83 - }  
84 - // 指令中有需要替换语种的地方  
85 - $prompt = str_replace('{lang}', $lang, $prompt);  
86 - return $prompt;  
87 - }  
88 } 56 }