imClumsyPanda 1 год назад
Родитель
Сommit
cfc10ee2e5
1 измененных файлов с 12 добавлено и 3 удалено
  1. 12 3
      pdf2zh/translator.py

+ 12 - 3
pdf2zh/translator.py

@@ -306,13 +306,22 @@ class XinferenceTranslator(BaseTranslator):
             try:
                 xf_model = self.client.get_model(model)
                 xf_prompt = self.prompt(text, self.prompttext)
-                xf_prompt = [{"role": "user", "content": xf_prompt[0]["content"]+"\n"+xf_prompt[1]["content"]}]
+                xf_prompt = [
+                    {
+                        "role": "user",
+                        "content": xf_prompt[0]["content"]
+                                   + "\n"
+                                   + xf_prompt[1]["content"],
+                    }
+                ]
                 response = xf_model.chat(
                     generate_config=self.options,
                     messages=xf_prompt,
                 )
 
-                response = response["choices"][0]["message"]["content"].replace("<end_of_turn>", "")
+                response = response["choices"][0]["message"]["content"].replace(
+                    "<end_of_turn>", ""
+                )
                 if len(response) > maxlen:
                     raise Exception("Response too long")
                 return response.strip()
@@ -346,7 +355,7 @@ class OpenAITranslator(BaseTranslator):
             model = self.envs["OPENAI_MODEL"]
         super().__init__(lang_in, lang_out, model)
         self.options = {"temperature": 0}  # 随机采样可能会打断公式标记
-        self.client = openai.OpenAI(base_url=base_url, api_key=api_key)
+        self.client = openai.OpenAI(base_url=base_url or self.envs["OPENAI_BASE_URL"], api_key=api_key or self.envs["OPENAI_API_KEY"])
         self.prompttext = prompt
         self.add_cache_impact_parameters("temperature", self.options["temperature"])
         if prompt: