diff --git a/docs/changelog/update.md b/docs/changelog/update.md index 944c2157..2685de11 100644 --- a/docs/changelog/update.md +++ b/docs/changelog/update.md @@ -4,10 +4,10 @@ ### v2.0 PreRelease 💭 **Features Todo** -- [x] 知识库使用 LightRAG(GraphRAG 轻量版)重构(🌟🌟🌟🌟🌟) -- [x] 集成 MinerU 处理 PDF 文件。(🌟🌟🌟) -- [x] 优化现有向量模型的逻辑,全局配置的向量模型作为新建知识库的默认模型,但是查询的时候,使用对应数据库的向量模型查询(单例模式)(🌟🌟🌟) -- [x] 多类型知识库支持(🌟🌟🌟🌟🌟) +- [x] 知识库使用 LightRAG(GraphRAG 轻量版)重构 +- [x] 集成 MinerU 处理 PDF 文件 +- [x] 优化现有向量模型的逻辑,全局配置的向量模型作为新建知识库的默认模型,但是查询的时候,使用对应数据库的向量模型查询(单例模式) +- [x] 多类型知识库支持 - [x] 设计问答知识库,支持针对问答对的调优 - [x] 添加了批量上传文件的脚本,并优化文件信息 @@ -18,7 +18,7 @@ - [x] 与最新的 LightRAG 版本兼容性存在问题 #233 - [x] 切换知识库之后,检索结果没有刷新 - [x] 文件上传模块 UI的边距、配色有问题 -- [ ] 知识图谱页面的节点数量统计方法 #236 +- [x] 知识图谱页面的节点数量统计方法 #236 - [ ] 当没有手动添加节点的时候,尝试检索,会出现为创建索引的情况 #236 # 💯 More: diff --git a/src/knowledge/graphbase.py b/src/knowledge/graphbase.py index 7f9191d4..6c1fc15f 100644 --- a/src/knowledge/graphbase.py +++ b/src/knowledge/graphbase.py @@ -343,7 +343,7 @@ class GraphDatabase: def query_by_vector(tx, text, threshold): # 首先检查索引是否存在 if not _index_exists(tx, "entityEmbeddings"): - raise Exception("向量索引不存在,请先创建索引") + raise Exception("向量索引不存在,请先创建索引,或当前图谱中未上传任何三元组(知识库中自动构建的,不会在此处展示和检索)。") embedding = self.get_embedding(text) result = tx.run(""" @@ -437,9 +437,11 @@ class GraphDatabase: assert self.driver is not None, "Database is not connected" self.use_database(graph_name) def query(tx): - entity_count = tx.run("MATCH (n) RETURN count(n) AS count").single()["count"] - relationship_count = tx.run("MATCH ()-[r]->() RETURN count(r) AS count").single()["count"] - triples_count = tx.run("MATCH (n)-[r]->(m) RETURN count(n) AS count").single()["count"] + # 只统计包含Entity标签的节点 + entity_count = tx.run("MATCH (n:Entity) RETURN count(n) AS count").single()["count"] + # 只统计包含RELATION标签的关系 + relationship_count = tx.run("MATCH ()-[r:RELATION]->() RETURN count(r) AS count").single()["count"] + triples_count = tx.run("MATCH (n:Entity)-[r:RELATION]->(m:Entity) RETURN count(n) AS count").single()["count"] # 获取所有标签 labels = tx.run("CALL db.labels() YIELD label RETURN collect(label) AS labels").single()["labels"] diff --git a/web/src/views/GraphView.vue b/web/src/views/GraphView.vue index 3e0a0aed..edad39ed 100644 --- a/web/src/views/GraphView.vue +++ b/web/src/views/GraphView.vue @@ -351,7 +351,7 @@ const graphDescription = computed(() => { const modelName = graphInfo.value?.embed_model_name || '未上传文件'; const unindexed = unindexedCount.value > 0 ? `,${unindexedCount.value}个节点未索引` : ''; - return `${dbName} - 共 ${entityCount} 实体,${relationCount} 个关系。向量模型:${modelName}${unindexed}`; + return `${dbName} - 共 ${entityCount} 实体,${relationCount} 个关系(不含知识库创建的图谱)。向量模型:${modelName}${unindexed}`; }); // 为未索引节点添加索引