style: auto-format code with ruff (cron)
This commit is contained in:
@@ -385,7 +385,7 @@ class FullTextSearch:
|
||||
# 排序和分页
|
||||
scored_results.sort(key=lambda x: x.score, reverse=True)
|
||||
|
||||
return scored_results[offset: offset + limit]
|
||||
return scored_results[offset : offset + limit]
|
||||
|
||||
def _parse_boolean_query(self, query: str) -> dict:
|
||||
"""
|
||||
@@ -551,13 +551,13 @@ class FullTextSearch:
|
||||
try:
|
||||
if content_type == "transcript":
|
||||
row = conn.execute(
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id, )
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
return row["full_text"] if row else None
|
||||
|
||||
elif content_type == "entity":
|
||||
row = conn.execute(
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id, )
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
if row:
|
||||
return f"{row['name']} {row['definition'] or ''}"
|
||||
@@ -571,7 +571,7 @@ class FullTextSearch:
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.id = ?""",
|
||||
(content_id, ),
|
||||
(content_id,),
|
||||
).fetchone()
|
||||
if row:
|
||||
return f"{row['source_name']} {row['relation_type']} {row['target_name']} {row['evidence'] or ''}"
|
||||
@@ -589,15 +589,15 @@ class FullTextSearch:
|
||||
try:
|
||||
if content_type == "transcript":
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM transcripts WHERE id = ?", (content_id, )
|
||||
"SELECT project_id FROM transcripts WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
elif content_type == "entity":
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entities WHERE id = ?", (content_id, )
|
||||
"SELECT project_id FROM entities WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
elif content_type == "relation":
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entity_relations WHERE id = ?", (content_id, )
|
||||
"SELECT project_id FROM entity_relations WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
else:
|
||||
return None
|
||||
@@ -738,7 +738,7 @@ class FullTextSearch:
|
||||
# 索引转录文本
|
||||
transcripts = conn.execute(
|
||||
"SELECT id, project_id, full_text FROM transcripts WHERE project_id = ?",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
for t in transcripts:
|
||||
@@ -751,7 +751,7 @@ class FullTextSearch:
|
||||
# 索引实体
|
||||
entities = conn.execute(
|
||||
"SELECT id, project_id, name, definition FROM entities WHERE project_id = ?",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
for e in entities:
|
||||
@@ -769,7 +769,7 @@ class FullTextSearch:
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.project_id = ?""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
for r in relations:
|
||||
@@ -1029,13 +1029,13 @@ class SemanticSearch:
|
||||
try:
|
||||
if content_type == "transcript":
|
||||
row = conn.execute(
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id, )
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
result = row["full_text"] if row else None
|
||||
|
||||
elif content_type == "entity":
|
||||
row = conn.execute(
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id, )
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
result = f"{row['name']}: {row['definition']}" if row else None
|
||||
|
||||
@@ -1047,7 +1047,7 @@ class SemanticSearch:
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.id = ?""",
|
||||
(content_id, ),
|
||||
(content_id,),
|
||||
).fetchone()
|
||||
result = (
|
||||
f"{row['source_name']} {row['relation_type']} {row['target_name']}"
|
||||
@@ -1192,7 +1192,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取项目ID
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id, )
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id,)
|
||||
).fetchone()
|
||||
|
||||
if not row:
|
||||
@@ -1203,7 +1203,8 @@ class EntityPathDiscovery:
|
||||
|
||||
# 验证目标实体也在同一项目
|
||||
row = conn.execute(
|
||||
"SELECT 1 FROM entities WHERE id = ? AND project_id = ?", (target_entity_id, project_id)
|
||||
"SELECT 1 FROM entities WHERE id = ? AND project_id = ?",
|
||||
(target_entity_id, project_id),
|
||||
).fetchone()
|
||||
|
||||
if not row:
|
||||
@@ -1267,7 +1268,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取项目ID
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id, )
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id,)
|
||||
).fetchone()
|
||||
|
||||
if not row:
|
||||
@@ -1278,7 +1279,9 @@ class EntityPathDiscovery:
|
||||
|
||||
paths = []
|
||||
|
||||
def dfs(current_id: str, target_id: str, path: list[str], visited: set[str], depth: int) -> None:
|
||||
def dfs(
|
||||
current_id: str, target_id: str, path: list[str], visited: set[str], depth: int
|
||||
) -> None:
|
||||
if depth > max_depth:
|
||||
return
|
||||
|
||||
@@ -1325,7 +1328,7 @@ class EntityPathDiscovery:
|
||||
nodes = []
|
||||
for entity_id in entity_ids:
|
||||
row = conn.execute(
|
||||
"SELECT id, name, type FROM entities WHERE id = ?", (entity_id, )
|
||||
"SELECT id, name, type FROM entities WHERE id = ?", (entity_id,)
|
||||
).fetchone()
|
||||
if row:
|
||||
nodes.append({"id": row["id"], "name": row["name"], "type": row["type"]})
|
||||
@@ -1395,7 +1398,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取项目ID
|
||||
row = conn.execute(
|
||||
"SELECT project_id, name FROM entities WHERE id = ?", (entity_id, )
|
||||
"SELECT project_id, name FROM entities WHERE id = ?", (entity_id,)
|
||||
).fetchone()
|
||||
|
||||
if not row:
|
||||
@@ -1442,7 +1445,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取邻居信息
|
||||
neighbor_info = conn.execute(
|
||||
"SELECT name, type FROM entities WHERE id = ?", (neighbor_id, )
|
||||
"SELECT name, type FROM entities WHERE id = ?", (neighbor_id,)
|
||||
).fetchone()
|
||||
|
||||
if neighbor_info:
|
||||
@@ -1562,7 +1565,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取所有实体
|
||||
entities = conn.execute(
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id, )
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
# 计算每个实体作为桥梁的次数
|
||||
@@ -1688,7 +1691,7 @@ class KnowledgeGapDetection:
|
||||
# 获取项目的属性模板
|
||||
templates = conn.execute(
|
||||
"SELECT id, name, type, is_required FROM attribute_templates WHERE project_id = ?",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
if not templates:
|
||||
@@ -1703,7 +1706,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 检查每个实体的属性完整性
|
||||
entities = conn.execute(
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id, )
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
for entity in entities:
|
||||
@@ -1711,7 +1714,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 获取实体已有的属性
|
||||
existing_attrs = conn.execute(
|
||||
"SELECT template_id FROM entity_attributes WHERE entity_id = ?", (entity_id, )
|
||||
"SELECT template_id FROM entity_attributes WHERE entity_id = ?", (entity_id,)
|
||||
).fetchall()
|
||||
|
||||
existing_template_ids = {a["template_id"] for a in existing_attrs}
|
||||
@@ -1723,7 +1726,7 @@ class KnowledgeGapDetection:
|
||||
missing_names = []
|
||||
for template_id in missing_templates:
|
||||
template = conn.execute(
|
||||
"SELECT name FROM attribute_templates WHERE id = ?", (template_id, )
|
||||
"SELECT name FROM attribute_templates WHERE id = ?", (template_id,)
|
||||
).fetchone()
|
||||
if template:
|
||||
missing_names.append(template["name"])
|
||||
@@ -1756,7 +1759,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 获取所有实体及其关系数量
|
||||
entities = conn.execute(
|
||||
"SELECT id, name, type FROM entities WHERE project_id = ?", (project_id, )
|
||||
"SELECT id, name, type FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
for entity in entities:
|
||||
@@ -1831,7 +1834,7 @@ class KnowledgeGapDetection:
|
||||
AND r1.id IS NULL
|
||||
AND r2.id IS NULL
|
||||
""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
for entity in isolated:
|
||||
@@ -1869,7 +1872,7 @@ class KnowledgeGapDetection:
|
||||
WHERE project_id = ?
|
||||
AND (definition IS NULL OR definition = '')
|
||||
""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
for entity in incomplete:
|
||||
@@ -1897,7 +1900,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 分析转录文本中频繁提及但未提取为实体的词
|
||||
transcripts = conn.execute(
|
||||
"SELECT full_text FROM transcripts WHERE project_id = ?", (project_id, )
|
||||
"SELECT full_text FROM transcripts WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
# 合并所有文本
|
||||
@@ -1905,7 +1908,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 获取现有实体名称
|
||||
existing_entities = conn.execute(
|
||||
"SELECT name FROM entities WHERE project_id = ?", (project_id, )
|
||||
"SELECT name FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
existing_names = {e["name"].lower() for e in existing_entities}
|
||||
@@ -2138,7 +2141,7 @@ class SearchManager:
|
||||
# 索引转录文本
|
||||
transcripts = conn.execute(
|
||||
"SELECT id, project_id, full_text FROM transcripts WHERE project_id = ?",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
for t in transcripts:
|
||||
@@ -2152,7 +2155,7 @@ class SearchManager:
|
||||
# 索引实体
|
||||
entities = conn.execute(
|
||||
"SELECT id, project_id, name, definition FROM entities WHERE project_id = ?",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
for e in entities:
|
||||
@@ -2191,7 +2194,7 @@ class SearchManager:
|
||||
"""SELECT content_type, COUNT(*) as count
|
||||
FROM search_indexes WHERE project_id = ?
|
||||
GROUP BY content_type""",
|
||||
(project_id, ),
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
type_stats = {r["content_type"]: r["count"] for r in rows}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user