正在显示
2 个修改的文件
包含
7 行增加
和
32 行删除
| @@ -59,6 +59,12 @@ class Common | @@ -59,6 +59,12 @@ class Common | ||
| 59 | if($info === false){ | 59 | if($info === false){ |
| 60 | response('指令不存在',400); | 60 | response('指令不存在',400); |
| 61 | } | 61 | } |
| 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 | + } | ||
| 67 | + } else { | ||
| 62 | //带原语种翻译 | 68 | //带原语种翻译 |
| 63 | $result = Translate::translateSl($param['keywords'])->json(); | 69 | $result = Translate::translateSl($param['keywords'])->json(); |
| 64 | if (isset($result['texts']['sl']) && isset(Translate::$tls_list[$result['texts']['sl']])) { | 70 | if (isset($result['texts']['sl']) && isset(Translate::$tls_list[$result['texts']['sl']])) { |
| @@ -66,6 +72,7 @@ class Common | @@ -66,6 +72,7 @@ class Common | ||
| 66 | } else { | 72 | } else { |
| 67 | $lang = '中文'; | 73 | $lang = '中文'; |
| 68 | } | 74 | } |
| 75 | + } | ||
| 69 | $str = ',请使用'.$lang.'回答'; | 76 | $str = ',请使用'.$lang.'回答'; |
| 70 | //替换关键字 | 77 | //替换关键字 |
| 71 | $content = str_replace('$keyword$', $param['keywords'], $info['ai']); | 78 | $content = str_replace('$keyword$', $param['keywords'], $info['ai']); |
| @@ -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 | } |
-
请 注册 或 登录 后发表评论