Files
SI_KG_2026_PlanningLaw/dofile/graphrag_pipeline/PROJECT_STATUS.md
T

4.5 KiB
Raw Blame History

项目实现状态

已完成工作

1. 项目基础架构

  • 使用uv进行项目管理和依赖管理
  • 完整的项目目录结构
  • 配置文件(pyproject.toml, .env.example
  • README和项目文档

2. 文本预处理模块 (src/preprocessing/)

  • TextProcessor: HanLP集成,支持分词、依存句法、句法成分分析
  • DocumentParser: Word文档解析(.docx),支持章节结构识别
  • TextUnit切分功能(参考GraphRAG

3. 本体模型定义 (src/ontology/)

  • 实体类型定义: 9种实体类型(对应论文Table 1)
  • 关系类型定义: 8种关系类型(对应论文Table 2)
  • 三维本体结构: 法规层级—要素类型—关联关系
  • 四要素架构: 目标—原则—要素—管控
  • OntologySchema: 本体模式管理和验证

4. Prompt模板系统 (src/prompts/)

  • PromptTemplate: 统一模板框架,实现五个模块:
    • 任务描述(系统消息+用户消息)
    • 候选目标
    • 任务示例(少样本学习)
    • 任务强调
    • 二次对话
  • NERPromptBuilder: NER任务Prompt构建
  • REPromptBuilder: RE任务Prompt构建

5. LLM客户端封装 (src/utils/llm_client.py)

  • 支持多个LLM提供商:
    • OpenAI (GPT-4o)
    • Anthropic (Claude)
    • 阿里云Qwen
    • 字节跳动Doubao
    • 智谱GLM
  • 统一API接口
  • 异步/同步支持
  • 重试机制(tenacity

6. 知识抽取模块 (src/extraction/)

  • NERExtractor: 使用Qwen-Max进行实体识别,支持两阶段对话验证
  • REExtractor: 多模型并行关系抽取框架
  • TripletEvaluator: LLM-as-a-Judge评估框架
  • EntityRelationClassifier: RAG-based分类框架

7. 知识图谱构建 (src/kg_builder/)

  • GraphIndexer: 索引器框架(参考GraphRAG
    • 文本切分
    • 实体提取
    • 图构建
    • 社区检测(待完善)
    • 摘要生成(待完善)
  • KnowledgeGraph: 图谱结构管理(NetworkX

8. 分析和推理模块 (src/analysis/)

  • LegalStructureExtractor: 法理结构提取(四要素识别、跨法规引用)
  • LegalReasoner: 逻辑推理(路径查询、中心性分析)
  • EvolutionAnalyzer: 演化规律分析框架

9. 查询系统 (src/query/)

  • GlobalSearcher: 全局搜索框架(参考GraphRAG)
  • LocalSearcher: 局部搜索框架
  • DriftSearcher: DRIFT搜索框架

10. 工具脚本

  • scripts/extract.py: 知识抽取示例脚本

待完善功能 ⚠️

高优先级

  1. 三元组评估算法实现 (src/extraction/evaluator.py)

    • 成对排序逻辑
    • 五维度评分(语义准确性、一致性、事实性、准确性、可理解性)
    • 评分聚合和筛选
  2. RAG-based分类实现 (src/extraction/classifier.py)

    • 向量嵌入(使用Text-embedding-3-large
    • 向量数据库(相似度检索)
    • 分类逻辑完善
  3. 知识图谱构建完整实现 (src/kg_builder/indexer.py)

    • 完整的三元组提取流程
    • 社区检测(Leiden算法,需要igraph
    • 社区摘要生成(使用LLM
  4. RE提取器完善 (src/extraction/re.py)

    • 句法信息集成
    • 上下文信息利用
    • 省略成分补全逻辑

中优先级

  1. 查询系统实现 (src/query/)

    • 全局搜索:利用社区摘要
    • 局部搜索:邻居扩展算法
    • DRIFT搜索:社区上下文整合
  2. 演化规律分析 (src/analysis/evolution.py)

    • 时间序列分析
    • 关系演化追踪
    • 网络演化分析

低优先级

  1. 共指消解完善 (src/preprocessing/text_processor.py)
  2. 性能优化和缓存机制
  3. 可视化工具
  4. 单元测试和集成测试

使用说明

环境设置

cd dofile
uv sync
source .venv/bin/activate  # 或 .venv\Scripts\activate (Windows)

配置API密钥

复制.env.example.env,填入相应的API密钥。

运行示例

# 实体识别
uv run python scripts/extract.py --input ../data/1法律/3-中华人民共和国城乡规划法.docx --output ./output/entities.json

参考资源

技术债务

  1. 错误处理和日志记录需要更完善
  2. 需要添加配置文件验证
  3. 异步处理可以进一步优化
  4. 需要添加单元测试
  5. 文档需要补充更多示例