chore(translate): 降频 2秒/次 + 改 spark 为 wss WebSocket 鉴权(智谱/zhipu=第一)

This commit is contained in:
Mavis
2026-06-11 09:34:01 +08:00
parent 4b8d776aac
commit 6293f82a3a
3 changed files with 147 additions and 69 deletions

View File

@@ -70,19 +70,28 @@ class Settings(BaseSettings):
tencent_tmt_quota_buffer: float = 0.05
tencent_tmt_max_chars_per_req: int = 4500
# ===== 星火 Spark(优先翻译;Lite/免费)=====
# 留空 = 不启用星火(直接走腾讯 TMT)
spark_api_password: str = ""
spark_base_url: str = "https://spark-api-open.xf-yun.com/v1"
spark_model: str = "lite"
spark_interval_sec: float = 1.0
# ===== 智谱 GLM(第二序位翻译;GLM-4-Flash 免费)=====
# 留空 = 不启用智谱(spark 不可用时直接降级到 tencent)
# ===== 智谱 GLM(OpenAI 兼容,翻译主通道)=====
# 用法:智谱开放平台 GLM-4 系列,通过 OpenAI 协议调用
# 留空 api_key = 不启用该 provider
zhipu_api_key: str = ""
zhipu_base_url: str = "https://open.bigmodel.cn/api/paas/v4"
zhipu_model: str = "glm-4-flash"
zhipu_interval_sec: float = 1.0
zhipu_chat_model: str = "glm-4-flash"
zhipu_model: str = "glm-4-flash" # 兼容旧字段名
# 2 秒/次(用户要求 6/11,降低频率避免触发限流)
zhipu_interval_sec: float = 2.0
# ===== 讯飞星火(WebSocket,翻译二级通道)=====
# 用法:讯飞星火 v1.1 Spark Lite,WebSocket 鉴权需要 APPID + APIKey + APISecret
# 留空任意一个 = 不启用该 provider
# (历史实现用的是 OpenAI 兼容 + APIPassword,已切换为 WebSocket 鉴权,字段名换)
spark_appid: str = ""
spark_api_key: str = "" # WebSocket 鉴权用的 APIKey
spark_api_secret: str = "" # WebSocket 鉴权用的 APISecret
spark_domain: str = "lite" # v1.1 Spark Lite
# 兼容旧字段名(留空,只在没填 WebSocket 字段时起提示作用)
spark_api_password: str = ""
# 2 秒/次(用户要求 6/11,降低频率避免触发限流)
spark_interval_sec: float = 2.0
@field_validator("tencent_tmt_quota_buffer")
@classmethod
@@ -102,8 +111,8 @@ class Settings(BaseSettings):
tencent_maas_api_key: str = ""
tencent_maas_base_url: str = "https://maas-api.hivoice.cn/v1"
tencent_maas_model: str = "u2"
# 每篇调用间隔(秒),与 LLM 客户端解耦
tencent_maas_interval_sec: float = 1.0
# 2 秒/次(与智谱/星火统一节流)
tencent_maas_interval_sec: float = 2.0
# ===== 抓取 =====
fetch_global_qps: int = 4