- 缓存热点批量流程(有采集缓存不触发 Google) - 简报不足直接从采集缓存生成(轻量补齐) - 三图合成(模特/印花/底图)+ 底图压缩 <2MB - 热点去重→风格去重自动切换 + 不适合类目 review 兜底 - 透明背景(background=transparent)+ 提示词清洗(敏感词/背景描述) - 任务前 basemap 校验 + 模板国家校验 + 模特任务级分配
31 lines
960 B
Python
31 lines
960 B
Python
"""LLM 后端注册表(可插拔入口)。
|
||
|
||
config.yaml 的 llm_screen.provider 选择后端;OpenAI 兼容厂商(openai/deepseek/qwen/moonshot)
|
||
统一映射到 openai_compat 实现。
|
||
"""
|
||
from typing import Dict
|
||
|
||
from .base import LLMBackend
|
||
from .mock_backend import MockBackend
|
||
from .openai_compat_backend import OpenAICompatBackend, DEFAULT_SYSTEM_PROMPT
|
||
|
||
LLM_BACKENDS: Dict[str, type] = {
|
||
"mock": MockBackend,
|
||
"openai_compat": OpenAICompatBackend,
|
||
}
|
||
# 厂商别名 -> openai_compat(它们都走 OpenAI 兼容协议)
|
||
_ALIASES: Dict[str, str] = {
|
||
"openai": "openai_compat",
|
||
"deepseek": "openai_compat",
|
||
"qwen": "openai_compat",
|
||
"moonshot": "openai_compat",
|
||
}
|
||
|
||
|
||
def get_backend(name: str) -> LLMBackend:
|
||
key = _ALIASES.get(name, name)
|
||
cls = LLM_BACKENDS.get(key)
|
||
if cls is None:
|
||
raise ValueError(f"未知 LLM 后端: {name},可用: {list(LLM_BACKENDS)} (+别名 {list(_ALIASES)})")
|
||
return cls()
|