AiTranslateController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Http;
  5. use Illuminate\Support\Facades\Log;
  6. class AiTranslateController extends Controller
  7. {
  8. /**
  9. * Display a listing of the resource.
  10. *
  11. * @return \Illuminate\Http\Response
  12. */
  13. public function index()
  14. {
  15. //
  16. $url = 'https://api.moonshot.cn/v1/chat/completions';
  17. $param = [
  18. "model" => "moonshot-v1-8k",
  19. "messages" => [
  20. ["role" => "system","content" => "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"],
  21. ["role" => "user","content" => "你好,我叫李雷,1+1等于多少?"],
  22. ],
  23. "temperature" => 0.3,
  24. ];
  25. $response = Http::withToken('sk-kwjHIMh3PoWwUwQyKdT3KHvNe8Es19SUiujGrxtH09uDQCui')
  26. ->post($url,$param);
  27. if($response->failed()){
  28. $this->error('http request error'.$response->json('message'));
  29. Log::error('http request error', ['data'=>$response->json()]);
  30. return $this->error($response->json(),[],500);
  31. }else{
  32. return $this->ok($response->json());
  33. }
  34. }
  35. /**
  36. * Store a newly created resource in storage.
  37. *
  38. * @param \Illuminate\Http\Request $request
  39. * @return \Illuminate\Http\Response
  40. */
  41. public function store(Request $request)
  42. {
  43. //
  44. $url = 'https://api.moonshot.cn/v1/chat/completions';
  45. $param = [
  46. "model" => "moonshot-v1-8k",
  47. "messages" => [
  48. ["role" => "system","content" => "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。"],
  49. ["role" => "user","content" => strip_tags($request->get('origin'))."\n请翻译上述巴利文。"],
  50. ],
  51. "temperature" => 0.3,
  52. ];
  53. $response = Http::withToken('sk-kwjHIMh3PoWwUwQyKdT3KHvNe8Es19SUiujGrxtH09uDQCui')
  54. ->post($url,$param);
  55. if($response->failed()){
  56. $this->error('http request error'.$response->json('message'));
  57. Log::error('http request error', ['data'=>$response->json()]);
  58. return $this->error($response->json(),[],500);
  59. }else{
  60. return $this->ok($response->json());
  61. }
  62. }
  63. /**
  64. * Display the specified resource.
  65. *
  66. * @param int $id
  67. * @return \Illuminate\Http\Response
  68. */
  69. public function show($id)
  70. {
  71. //
  72. }
  73. /**
  74. * Update the specified resource in storage.
  75. *
  76. * @param \Illuminate\Http\Request $request
  77. * @param int $id
  78. * @return \Illuminate\Http\Response
  79. */
  80. public function update(Request $request, $id)
  81. {
  82. //
  83. }
  84. /**
  85. * Remove the specified resource from storage.
  86. *
  87. * @param int $id
  88. * @return \Illuminate\Http\Response
  89. */
  90. public function destroy($id)
  91. {
  92. //
  93. }
  94. }