(
self,
lang_in,
lang_out,
model,
base_url=None,
api_key=None,
envs=None,
prompt=None,
ignore_cache=False,
)
| 407 | CustomPrompt = True |
| 408 | |
| 409 | def __init__( |
| 410 | self, |
| 411 | lang_in, |
| 412 | lang_out, |
| 413 | model, |
| 414 | base_url=None, |
| 415 | api_key=None, |
| 416 | envs=None, |
| 417 | prompt=None, |
| 418 | ignore_cache=False, |
| 419 | ): |
| 420 | self.set_envs(envs) |
| 421 | if not model: |
| 422 | model = self.envs["OPENAI_MODEL"] |
| 423 | super().__init__(lang_in, lang_out, model, ignore_cache) |
| 424 | self.options = {"temperature": 0} # 随机采样可能会打断公式标记 |
| 425 | self.client = openai.OpenAI( |
| 426 | base_url=base_url or self.envs["OPENAI_BASE_URL"], |
| 427 | api_key=api_key or self.envs["OPENAI_API_KEY"], |
| 428 | ) |
| 429 | self.prompttext = prompt |
| 430 | self.add_cache_impact_parameters("temperature", self.options["temperature"]) |
| 431 | self.add_cache_impact_parameters("prompt", self.prompt("", self.prompttext)) |
| 432 | think_filter_regex = r"^<think>.+?\n*(</think>|\n)*(</think>)\n*" |
| 433 | self.add_cache_impact_parameters("think_filter_regex", think_filter_regex) |
| 434 | self.think_filter_regex = re.compile(think_filter_regex, flags=re.DOTALL) |
| 435 | |
| 436 | @retry( |
| 437 | retry=retry_if_exception_type(openai.RateLimitError), |
nothing calls this directly
no test coverage detected