|
|
@@ -216,24 +216,31 @@ class OpenAITranslator(BaseTranslator):
|
|
|
messages=self.prompt(text),
|
|
|
)
|
|
|
return response.choices[0].message.content.strip()
|
|
|
-
|
|
|
+
|
|
|
|
|
|
class AzureOpenAITranslator(BaseTranslator):
|
|
|
name = "azure-openai"
|
|
|
envs = {
|
|
|
- "AZURE_OPENAI_BASE_URL": None, # e.g. "https://xxx.openai.azure.com"
|
|
|
+ "AZURE_OPENAI_BASE_URL": None, # e.g. "https://xxx.openai.azure.com"
|
|
|
"AZURE_OPENAI_API_KEY": None,
|
|
|
- "AZURE_OPENAI_MODEL": "gpt-4o-mini"
|
|
|
+ "AZURE_OPENAI_MODEL": "gpt-4o-mini",
|
|
|
}
|
|
|
|
|
|
def __init__(self, service, lang_out, lang_in, model, base_url=None, api_key=None):
|
|
|
- base_url = os.getenv("AZURE_OPENAI_BASE_URL", self.envs["AZURE_OPENAI_BASE_URL"])
|
|
|
+ base_url = os.getenv(
|
|
|
+ "AZURE_OPENAI_BASE_URL", self.envs["AZURE_OPENAI_BASE_URL"]
|
|
|
+ )
|
|
|
api_version = os.getenv("AZURE_OPENAI_API_VERSION", "2024-06-01")
|
|
|
if not model:
|
|
|
model = os.getenv("AZURE_OPENAI_MODEL", self.envs["AZURE_OPENAI_MODEL"])
|
|
|
super().__init__(service, lang_out, lang_in, model)
|
|
|
- self.options = {"temperature": 0}
|
|
|
- self.client = openai.AzureOpenAI(azure_endpoint=base_url, azure_deployment=model, api_version=api_version, api_key=api_key)
|
|
|
+ self.options = {"temperature": 0}
|
|
|
+ self.client = openai.AzureOpenAI(
|
|
|
+ azure_endpoint=base_url,
|
|
|
+ azure_deployment=model,
|
|
|
+ api_version=api_version,
|
|
|
+ api_key=api_key,
|
|
|
+ )
|
|
|
|
|
|
def translate(self, text) -> str:
|
|
|
response = self.client.chat.completions.create(
|
|
|
@@ -241,7 +248,7 @@ class AzureOpenAITranslator(BaseTranslator):
|
|
|
**self.options,
|
|
|
messages=self.prompt(text),
|
|
|
)
|
|
|
- return response.choices[0].message.content.strip()
|
|
|
+ return response.choices[0].message.content.strip()
|
|
|
|
|
|
|
|
|
class ZhipuTranslator(OpenAITranslator):
|