瀏覽代碼

fix(langgraph): 修正知识库同步删除前缀与镜像版本, dan 知识库入库 MEDIUMTEXT

- knowledge_sync: _delete_by_prefix 前缀由 microbiome_/dan_knowledge_ 修正为
  microbiome/dan_knowledge, 修复旧块永删不掉导致 ChromaDB 膨胀的问题
- docker-compose: langgraph-svc 镜像 v8 -> v9 (重新构建, 含修正代码)
- schema.sql: dan_knowledge_base.content TEXT -> MEDIUMTEXT (支持长知识内容)
- 同步验证: article 543 / microbiome 25586 / dan_knowledge 1886 块全部入库
Xiaogang Liao 4 天之前
父節點
當前提交
0cf2682055

+ 1 - 1
cfc-backend/src/main/resources/schema.sql

@@ -5360,7 +5360,7 @@ CREATE TABLE IF NOT EXISTS product_dimension_config (
 CREATE TABLE IF NOT EXISTS dan_knowledge_base (
     id BIGINT PRIMARY KEY AUTO_INCREMENT,
     title VARCHAR(200) NOT NULL COMMENT '知识标题',
-    content TEXT NOT NULL COMMENT '知识内容',
+    content MEDIUMTEXT NOT NULL COMMENT '知识内容',
     sort INT DEFAULT 0 COMMENT '排序',
     status TINYINT(1) DEFAULT 1 COMMENT '状态: 0禁用 1启用',
     remark VARCHAR(500) COMMENT '备注',

+ 2 - 2
cfc-langgraph/app/tasks/knowledge_sync.py

@@ -109,13 +109,13 @@ async def sync_knowledge_base():
     logger.info("文章增量: %d 篇 -> %d 块", len(articles), len(article_chunks))
 
     microbiome = await loader.java.get_microbiome_articles()
-    _delete_by_prefix(vectorstore, "microbiome_")
+    _delete_by_prefix(vectorstore, "microbiome")
     microbiome_chunks = _build_chunks(splitter, microbiome, "microbiome")
     stats["microbiome"] = len(microbiome_chunks)
     logger.info("菌群知识库: %d 篇 -> %d 块", len(microbiome), len(microbiome_chunks))
 
     dan_kb = await loader.java.get_dan_knowledge_base()
-    _delete_by_prefix(vectorstore, "dan_knowledge_")
+    _delete_by_prefix(vectorstore, "dan_knowledge")
     dan_chunks = _build_chunks(splitter, dan_kb, "dan_knowledge")
     stats["dan_knowledge"] = len(dan_chunks)
     logger.info("知识库(dan): %d 篇 -> %d 块", len(dan_kb), len(dan_chunks))

+ 1 - 1
cfc-langgraph/docker-compose.yml

@@ -21,7 +21,7 @@ services:
       retries: 3
 
   langgraph-svc:
-    image: cfc-langgraph-langgraph-svc:v8
+    image: cfc-langgraph-langgraph-svc:v9
     build:
       context: .
       dockerfile: Dockerfile