소스 검색

Merge pull request #2218 from visuddhinanda/laravel

add --origin 参数
visuddhinanda 1 년 전
부모
커밋
47ac797e76
4개의 변경된 파일54개의 추가작업 그리고 24개의 파일을 삭제
  1. 2 0
      app/Console/Commands/MqExportArticle.php
  2. 15 7
      app/Http/Controllers/AiTranslateController.php
  3. 21 1
      config/mint.php
  4. 16 16
      public/pali_title/pali_serieses.csv

+ 2 - 0
app/Console/Commands/MqExportArticle.php

@@ -48,6 +48,8 @@ class MqExportArticle extends Command
                         'id'=>$message->id,
                         '--format'=>$message->format,
                         'query_id'=>$message->queryId,
+                        '--origin'=>$message->origin,
+                        '--translation'=>$message->translation,
                     ];
             if(isset($message->token) && is_string($message->token)){
                 $data['--token'] = $message->token;

+ 15 - 7
app/Http/Controllers/AiTranslateController.php

@@ -31,13 +31,21 @@ class AiTranslateController extends Controller
         return $this->fetch(strip_tags($request->get('origin')));
     }
 
-    private function fetch($origin){
-        $url = 'https://api.moonshot.cn/v1/chat/completions';
+    private function fetch($origin,$engin='kimi',$prompt_pre='',$prompt_suf='请翻译上述巴利文。'){
+        $api = config('mint.ai.accounts');
+        $selected = array_filter($api,function($value) use($engin){
+            return $value['name']===$engin;
+        });
+        if(!is_array($selected) || count($selected)===0){
+            return $this->error('no engin name',200,200);
+        }
+
+        $url = $selected[0]['api_url'];
         $param = [
-                "model" => "moonshot-v1-8k",
+                "model" => $selected[0]['model'],
                 "messages" => [
-                    ["role" => "system","content" => "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"],
-                    ["role" => "user","content" => $origin."\n请翻译上述巴利文。"],
+                    ["role" => "system","content" => "你是翻译人工智能助手,bhikkhu 为专有名词,不可翻译成其他语言。"],
+                    ["role" => "user","content" => "{$prompt_pre}{$origin}\n{$prompt_suf}"],
                 ],
                 "temperature" => 0.3,
         ];
@@ -58,7 +66,7 @@ class AiTranslateController extends Controller
      * @param  string  $id
      * @return \Illuminate\Http\Response
      */
-    public function show($id)
+    public function show(Request $request,$id)
     {
         //
         $para = explode('-',$id);
@@ -67,7 +75,7 @@ class AiTranslateController extends Controller
                         ->where('paragraph',$para[1])
                         ->value('text');
             if(!empty($content)){
-                return $this->fetch($content);
+                return $this->fetch($content,$request->get('engin',config('mint.ai.default')));
             }else{
                 return $this->error('no content',200,200);
             }

+ 21 - 1
config/mint.php

@@ -97,5 +97,25 @@ return [
 	'email' => [
 		'ScheduleEmailOutputTo' => env('SCHEDULE_EMAIL_OUTPUTTO', 'kosalla1987@126.com'),
 		'ScheduleEmailOutputOnFailure' => env('SCHEDULE_EMAIL_OUTPUTONFAILURE', 'kosalla1987@126.com'),
-	]
+    ],
+
+    'ai' => [
+        'default' => 'kimi',
+        'accounts' => [
+            [
+                'name' => 'kimi',
+                'summary' => 'Moonshot AI 月之暗面',
+                'api_url' => 'https://api.moonshot.cn/v1/chat/completions',
+                'model' => ['moonshot-v1-8k'],
+                'token' => 'sk-kwjHIMh3PoWwUwQyKdT3KHvNe8Es19SUiujGrxtH09uDQCui',
+            ],
+            [
+                'name' => 'volcengine',
+                'summary' => '字节跳动AI引擎',
+                'api_url' => 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
+                'model' => ['Doubao-lite-4k','Doubao-pro-4k'],
+                'token' => '647a23fe-60cd-4c07-b2a4-b11b57109f79',
+            ],
+        ],
+    ]
 ];

+ 16 - 16
public/pali_title/pali_serieses.csv

@@ -213,17 +213,17 @@ id,book,paragraph,title
 212,179,872,abhidhammāvatāra-abhinavaṭīkā
 213,180,2,abhidhammamātikāpāḷi
 214,180,1221,mohavicchedanī
-215,181,3,ekakanipāta-ṭīkā
-216,182,3,dukanipāta-ṭīkā
-217,182,324,tikanipāta-ṭīkā
-218,182,1023,catukkanipāta-ṭīkā
-219,183,3,pañcakanipāta-ṭīkā
-220,183,470,chakkanipāta-ṭīkā
-221,183,793,sattakanipāta-ṭīkā
-222,184,3,aṭṭhakanipāta-ṭīkā
+215,181,3,aṅguttaranikāya-ṭīkā
+216,182,3,aṅguttaranikāya-ṭīkā
+217,182,324,aṅguttaranikāya-ṭīkā
+218,182,1023,aṅguttaranikāya-ṭīkā
+219,183,3,aṅguttaranikāya-ṭīkā
+220,183,470,aṅguttaranikāya-ṭīkā
+221,183,793,aṅguttaranikāya-ṭīkā
+222,184,3,aṅguttaranikāya-ṭīkā
 223,184,278,navakanipāta-ṭīkā
-224,184,466,dasakanipāta-ṭīkā
-225,184,776,ekādasakanipāta-ṭīkā
+224,184,466,aṅguttaranikāya-ṭīkā
+225,184,776,aṅguttaranikāya-ṭīkā
 226,185,3,līnatthappakāsanā
 227,186,3,līnatthappakāsanā
 228,187,3,līnatthappakāsanā
@@ -273,10 +273,10 @@ id,book,paragraph,title
 272,211,3,vinayālaṅkāra-ṭīkā
 273,212,2,kaṅkhāvitaraṇī
 274,212,671,kaṅkhāvitaraṇī
-275,213,3,vinayapitaka
-276,214,3,vinayapitaka
-277,215,3,vinayapitaka
-278,216,3,vinayapitaka
-279,217,3,vinayapitaka
+275,213,3,vinayapiaka
+276,214,3,vinayapiaka
+277,215,3,vinayapiaka
+278,216,3,vinayapiaka
+279,217,3,vinayapiaka
 280,139,925,samantapāsādikā
-281,214,2162,(VN)Bhikkhunīvibhaṅgo
+281,214,2162,vinayapiṭaka