Phase 4.4: Context-aware entity filtering in Step 1
- OntologyGenerator.generate() now accepts template_filter_rules parameter - When template_id is provided, API loads filter rules from templates.json - Filter rules injected into ontology system prompt: - exclude_self: don't create entity for the business/brand that uploaded data - exclude_types: don't create specific entity types - focus: guide LLM to focus on specific entity categories - API endpoint accepts template_id in form data
This commit is contained in:
@@ -154,9 +154,27 @@ def generate_ontology():
|
||||
simulation_requirement = request.form.get('simulation_requirement', '')
|
||||
project_name = request.form.get('project_name', 'Unnamed Project')
|
||||
additional_context = request.form.get('additional_context', '')
|
||||
template_id = request.form.get('template_id', '')
|
||||
|
||||
logger.debug(f"项目名称: {project_name}")
|
||||
logger.debug(f"模拟需求: {simulation_requirement[:100]}...")
|
||||
if template_id:
|
||||
logger.debug(f"Template: {template_id}")
|
||||
|
||||
# Load template filter rules if template_id provided
|
||||
template_filter_rules = None
|
||||
if template_id:
|
||||
import json as _json
|
||||
_templates_path = os.path.join(os.path.dirname(__file__), '..', 'templates.json')
|
||||
try:
|
||||
with open(_templates_path, 'r', encoding='utf-8') as _f:
|
||||
_templates = _json.load(_f)['templates']
|
||||
for _tmpl in _templates:
|
||||
if _tmpl['id'] == template_id:
|
||||
template_filter_rules = _tmpl.get('entity_filter', {})
|
||||
break
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
if not simulation_requirement:
|
||||
return jsonify({
|
||||
@@ -218,7 +236,8 @@ def generate_ontology():
|
||||
ontology = generator.generate(
|
||||
document_texts=document_texts,
|
||||
simulation_requirement=simulation_requirement,
|
||||
additional_context=additional_context if additional_context else None
|
||||
additional_context=additional_context if additional_context else None,
|
||||
template_filter_rules=template_filter_rules
|
||||
)
|
||||
|
||||
# 保存本体到项目
|
||||
|
||||
Reference in New Issue
Block a user