[changes] AI review and correction of code

This commit is contained in:
lanceyq
2026-03-06 14:35:16 +08:00
parent fc240849cf
commit d069809001
4 changed files with 13 additions and 8 deletions

View File

@@ -96,7 +96,7 @@ class SemanticPruner:
self._is_builtin_scene = SceneConfigRegistry.is_scene_supported(self.config.pruning_scene)
# 自定义场景的本体类型列表(用于注入提示词)
self._ontology_classes = config.ontology_classes or []
self._ontology_classes = getattr(self.config, "ontology_classes", None) or []
if self._is_builtin_scene:
self._log(f"[剪枝-初始化] 场景={self.config.pruning_scene} 使用内置专门配置")

View File

@@ -43,11 +43,12 @@
{# 自定义场景:使用场景名称 + 本体类型列表构建说明 #}
{% if ontology_classes and ontology_classes | length > 0 %}
{% if language == 'en' %}
{% set instruction = 'Custom scene "' ~ pruning_scene ~ '": The dialogue is related to this scene if it involves any of the following entity types: ' ~ ontology_classes | join(', ') ~ '.' %}
{% set custom_types_str = ontology_classes | join(', ') %}
{% set instruction = 'Custom scene "' ~ pruning_scene ~ '": The dialogue is related to this scene if it involves any of the following entity types: ' ~ custom_types_str ~ '.' %}
{% else %}
{% set instruction = '自定义场景「' ~ pruning_scene ~ '」:对话涉及以下任意实体类型时视为相关:' ~ ontology_classes | join('、') ~ '。' %}
{% set custom_types_str = ontology_classes | join('、') %}
{% set instruction = '自定义场景「' ~ pruning_scene ~ '」:对话涉及以下任意实体类型时视为相关:' ~ custom_types_str ~ '。' %}
{% endif %}
{% set custom_types_str = ontology_classes | join('、') %}
{% else %}
{# 无本体类型时退化为通用说明 #}
{% if language == 'en' %}

View File

@@ -107,8 +107,11 @@ def _validate_config_id(config_id, db: Session = None):
)
# 专门场景的内置 key 列表(与 SceneConfigRegistry 保持一致)
_BUILTIN_PRUNING_SCENES = {"education", "online_service", "outbound"}
# 专门场景的内置 key 集合,直接从 SceneConfigRegistry 派生,避免重复维护
# 使用懒加载函数避免模块级循环导入
def _get_builtin_pruning_scenes() -> set:
from app.core.memory.storage_services.extraction_engine.data_preprocessing.scene_config import SceneConfigRegistry
return set(SceneConfigRegistry.get_all_scenes())
def _load_ontology_classes(db: Session, scene_id, pruning_scene: Optional[str]) -> Optional[list]:
@@ -125,7 +128,7 @@ def _load_ontology_classes(db: Session, scene_id, pruning_scene: Optional[str])
if not scene_id:
return None
# 内置场景走 SceneConfigRegistry不需要注入类型列表
if pruning_scene in _BUILTIN_PRUNING_SCENES:
if pruning_scene in _get_builtin_pruning_scenes():
return None
try:
from app.repositories.ontology_class_repository import OntologyClassRepository

View File

@@ -178,7 +178,8 @@ class DataConfigService: # 数据配置服务类PostgreSQL
from app.models.ontology_scene import OntologyScene
scene = self.db.query(OntologyScene).filter_by(scene_id=scene_id).first()
return scene.scene_name if scene else None
except Exception:
except Exception as e:
logger.warning(f"_resolve_pruning_scene_from_scene_id failed for scene_id={scene_id}: {e}", exc_info=True)
return None
# --- Delete ---