前后端增加system_proxy_enable选项
This commit is contained in:
@@ -249,7 +249,8 @@ class Agent:
|
|||||||
|
|
||||||
self.retry = config.retry
|
self.retry = config.retry
|
||||||
|
|
||||||
self.system_proxy_enable=config.system_proxy_enable
|
self.system_proxy_enable = config.system_proxy_enable
|
||||||
|
|
||||||
def _add_thinking_mode(self, data: dict):
|
def _add_thinking_mode(self, data: dict):
|
||||||
if self.domain not in self._think_factory:
|
if self.domain not in self._think_factory:
|
||||||
return
|
return
|
||||||
@@ -445,7 +446,7 @@ class Agent:
|
|||||||
)
|
)
|
||||||
total = len(prompts)
|
total = len(prompts)
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
f"base-url:{self.baseurl},model-id:{self.model_id},concurrent:{max_concurrent},temperature:{self.temperature}"
|
f"base-url:{self.baseurl},model-id:{self.model_id},concurrent:{max_concurrent},temperature:{self.temperature},system_proxy:{self.system_proxy_enable}"
|
||||||
)
|
)
|
||||||
self.logger.info(f"预计发送{total}个请求,并发请求数:{max_concurrent}")
|
self.logger.info(f"预计发送{total}个请求,并发请求数:{max_concurrent}")
|
||||||
self.total_error_counter.max_errors_count = (
|
self.total_error_counter.max_errors_count = (
|
||||||
@@ -500,7 +501,7 @@ class Agent:
|
|||||||
|
|
||||||
# 新增:打印token使用统计
|
# 新增:打印token使用统计
|
||||||
token_stats = self.token_counter.get_stats()
|
token_stats = self.token_counter.get_stats()
|
||||||
if token_stats['input_tokens'] < 0:
|
if token_stats["input_tokens"] < 0:
|
||||||
self.logger.info("Token统计失败")
|
self.logger.info("Token统计失败")
|
||||||
else:
|
else:
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
@@ -687,7 +688,7 @@ class Agent:
|
|||||||
error_result_handler: ErrorResultHandlerType = None,
|
error_result_handler: ErrorResultHandlerType = None,
|
||||||
) -> list[Any]:
|
) -> list[Any]:
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
f"base-url:{self.baseurl},model-id:{self.model_id},concurrent:{self.max_concurrent},temperature:{self.temperature}"
|
f"base-url:{self.baseurl},model-id:{self.model_id},concurrent:{self.max_concurrent},temperature:{self.temperature},system_proxy:{self.system_proxy_enable}"
|
||||||
)
|
)
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
f"预计发送{len(prompts)}个请求,并发请求数:{self.max_concurrent}"
|
f"预计发送{len(prompts)}个请求,并发请求数:{self.max_concurrent}"
|
||||||
@@ -737,7 +738,7 @@ class Agent:
|
|||||||
|
|
||||||
# 新增:打印token使用统计
|
# 新增:打印token使用统计
|
||||||
token_stats = self.token_counter.get_stats()
|
token_stats = self.token_counter.get_stats()
|
||||||
if token_stats['input_tokens'] < 0:
|
if token_stats["input_tokens"] < 0:
|
||||||
self.logger.info("Token统计失败")
|
self.logger.info("Token统计失败")
|
||||||
else:
|
else:
|
||||||
self.logger.info(
|
self.logger.info(
|
||||||
|
|||||||
1340
docutranslate/app.py
1340
docutranslate/app.py
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -12,9 +12,13 @@ from docutranslate.translator.base import Translator, TranslatorConfig
|
|||||||
|
|
||||||
@dataclass(kw_only=True)
|
@dataclass(kw_only=True)
|
||||||
class AiTranslatorConfig(TranslatorConfig, AgentConfig):
|
class AiTranslatorConfig(TranslatorConfig, AgentConfig):
|
||||||
base_url: str | None = field(default=None,
|
base_url: str | None = field(
|
||||||
metadata={"description": "OpenAI兼容地址,当skip_translate为False时为必填项"})
|
default=None,
|
||||||
model_id: str | None = field(default=None, metadata={"description": "当skip_translate为False时为必填项"})
|
metadata={"description": "OpenAI兼容地址,当skip_translate为False时为必填项"},
|
||||||
|
)
|
||||||
|
model_id: str | None = field(
|
||||||
|
default=None, metadata={"description": "当skip_translate为False时为必填项"}
|
||||||
|
)
|
||||||
to_lang: str = "简体中文"
|
to_lang: str = "简体中文"
|
||||||
custom_prompt: str | None = None
|
custom_prompt: str | None = None
|
||||||
chunk_size: int = 3000
|
chunk_size: int = 3000
|
||||||
@@ -24,7 +28,7 @@ class AiTranslatorConfig(TranslatorConfig, AgentConfig):
|
|||||||
skip_translate: bool = False # 当skip_translate为False时base_url、model_id为必填项
|
skip_translate: bool = False # 当skip_translate为False时base_url、model_id为必填项
|
||||||
|
|
||||||
|
|
||||||
T = TypeVar('T', bound=Document)
|
T = TypeVar("T", bound=Document)
|
||||||
|
|
||||||
|
|
||||||
class AiTranslator(Translator[T]):
|
class AiTranslator(Translator[T]):
|
||||||
@@ -37,8 +41,12 @@ class AiTranslator(Translator[T]):
|
|||||||
self.skip_translate = config.skip_translate
|
self.skip_translate = config.skip_translate
|
||||||
self.glossary_agent = None
|
self.glossary_agent = None
|
||||||
self.glossary_dict_gen = None
|
self.glossary_dict_gen = None
|
||||||
if not self.skip_translate and (config.base_url is None or config.api_key is None or config.model_id is None):
|
if not self.skip_translate and (
|
||||||
raise ValueError("skip_translate不为false时,base_url、api_key、model_id为必填项")
|
config.base_url is None or config.api_key is None or config.model_id is None
|
||||||
|
):
|
||||||
|
raise ValueError(
|
||||||
|
"skip_translate不为false时,base_url、api_key、model_id为必填项"
|
||||||
|
)
|
||||||
|
|
||||||
if config.glossary_generate_enable:
|
if config.glossary_generate_enable:
|
||||||
if config.glossary_agent_config:
|
if config.glossary_agent_config:
|
||||||
@@ -54,14 +62,13 @@ class AiTranslator(Translator[T]):
|
|||||||
concurrent=config.concurrent,
|
concurrent=config.concurrent,
|
||||||
timeout=config.timeout,
|
timeout=config.timeout,
|
||||||
logger=self.logger,
|
logger=self.logger,
|
||||||
retry=config.retry
|
retry=config.retry,
|
||||||
|
system_proxy_enable=config.system_proxy_enable,
|
||||||
)
|
)
|
||||||
self.glossary_agent = GlossaryAgent(glossary_agent_config)
|
self.glossary_agent = GlossaryAgent(glossary_agent_config)
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def translate(self, document: T) -> Document:
|
def translate(self, document: T) -> Document: ...
|
||||||
...
|
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
async def translate_async(self, document: T) -> Document:
|
async def translate_async(self, document: T) -> Document: ...
|
||||||
...
|
|
||||||
|
|||||||
@@ -12,3 +12,6 @@ def get_httpx_proxies():
|
|||||||
if http_proxy:
|
if http_proxy:
|
||||||
proxies["http://"] = http_proxy
|
proxies["http://"] = http_proxy
|
||||||
return proxies
|
return proxies
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print(get_httpx_proxies())
|
||||||
Reference in New Issue
Block a user