feat(config): 为表情包识别添加独立的VLM模型配置

为表情包识别功能(emoji_vlm)引入了专门的模型任务配置,使其与通用的视觉语言模型(VLM)配置分离。这提高了配置的灵活性和模块化程度。

- 在 `api_ada_configs.py` 中新增 `emoji_vlm` 任务配置。
- 更新 `emoji_manager.py` 以使用新的 `emoji_vlm` 配置。
- 在 `model_config_template.toml` 中添加了相应的配置模板。
This commit is contained in:
minecraft1024a
2025-08-16 22:15:08 +08:00
committed by Windpicker-owo
parent 793c6e3817
commit 176a6b9c2e
3 changed files with 18 additions and 7 deletions

View File

@@ -389,7 +389,7 @@ class EmojiManager:
self._scan_task = None self._scan_task = None
self.vlm = LLMRequest(model_set=model_config.model_task_config.vlm, request_type="emoji") self.vlm = LLMRequest(model_set=model_config.model_task_config.emoji_vlm, request_type="emoji")
self.llm_emotion_judge = LLMRequest( self.llm_emotion_judge = LLMRequest(
model_set=model_config.model_task_config.utils, request_type="emoji" model_set=model_config.model_task_config.utils, request_type="emoji"
) # 更高的温度更少的token后续可以根据情绪来调整温度 ) # 更高的温度更少的token后续可以根据情绪来调整温度
@@ -946,7 +946,7 @@ class EmojiManager:
# from src.common.database.database_model_compat import Images # from src.common.database.database_model_compat import Images
stmt = select(Images).where((Images.emoji_hash == image_hash) & (Images.type == "emoji")) stmt = select(Images).where((Images.emoji_hash == image_hash) & (Images.type == "emoji"))
existing_image = session.execute(stmt).scalar_one_or_none() existing_image = session.query(Images).filter((Images.emoji_hash == image_hash) & (Images.type == "emoji")).one_or_none()
if existing_image and existing_image.description: if existing_image and existing_image.description:
existing_description = existing_image.description existing_description = existing_image.description
logger.info(f"[复用描述] 找到已有详细描述: {existing_description[:50]}...") logger.info(f"[复用描述] 找到已有详细描述: {existing_description[:50]}...")

View File

@@ -148,6 +148,12 @@ class ModelTaskConfig(ConfigBase):
)) ))
"""视频分析模型配置""" """视频分析模型配置"""
emoji_vlm: TaskConfig = field(default_factory=lambda: TaskConfig(
model_list=["qwen2.5-vl-72b"],
max_tokens=800
))
"""表情包识别模型配置"""
def get_task(self, task_name: str) -> TaskConfig: def get_task(self, task_name: str) -> TaskConfig:
"""获取指定任务的配置""" """获取指定任务的配置"""
if hasattr(self, task_name): if hasattr(self, task_name):

View File

@@ -1,5 +1,5 @@
[inner] [inner]
version = "1.2.2" version = "1.2.3"
# 配置文件版本号迭代规则同bot_config.toml # 配置文件版本号迭代规则同bot_config.toml
@@ -144,6 +144,11 @@ max_tokens = 800
model_list = ["qwen2.5-vl-72b"] model_list = ["qwen2.5-vl-72b"]
max_tokens = 800 max_tokens = 800
[model_task_config.emoji_vlm] # 专用表情包识别模型
model_list = ["qwen2.5-vl-72b"]
max_tokens = 800
[model_task_config.utils_video] # 专用视频分析模型 [model_task_config.utils_video] # 专用视频分析模型
model_list = ["qwen2.5-vl-72b"] model_list = ["qwen2.5-vl-72b"]
temperature = 0.3 temperature = 0.3