modelService = $model; $this->openAIService = $openAI; } public function setModel($id) { $this->model = $this->modelService->getModelById($id); $this->modelToken = AuthController::getUserToken($id); } private function query(string $word) { $search = app(OpenSearchService::class); // 组装搜索参数 $params = [ 'query' => $word, 'pageSize' => $this->pageSize, ]; $result = $search->search($params); return $result; } public function create(string $id) { // 获取术语 $term = app(TermService::class)->get($id); // 全文搜索 $query = $this->query($term->word); $res = json_encode($query, JSON_UNESCAPED_UNICODE); //LLM 生成 $response = $this->openAIService->setApiUrl($this->model['url']) ->setModel($this->model['model']) ->setApiKey($this->model['key']) ->setSystemPrompt($this->sysPrompt) ->setTemperature(0.5) ->setStream(false) ->send("# 文献搜素结果\n\n{$res}\n\n" . "# 巴利术语\n\n{$term->word}\n\n"); $content = $response['choices'][0]['message']['content'] ?? ''; return $content; } public function update() {} }