Skip to content

Repository files navigation

KnowledgeFlow

Test Python

5 个 AI Agent 协作,将专家经验与技术主题自动转化为结构化的企业知识文章。

输入: "为新人撰写RAG系统入门指南"  →  输出: 12000字的知识文章,含案例类比与可运行代码

快速开始

git clone https://github.com/daydreamer0213/KnowledgeFlow.git
cd KnowledgeFlow
pip install -r requirements.txt
cp .env.example .env   # 编辑,填入 DEEPSEEK_API_KEY
streamlit run main.py

浏览器打开 http://localhost:8501,输入你的知识主题,按提示确认每一步。

管线

用户输入 → 需求对齐 → 知识树构建 → 主题规划 → Writer×N (并行) → Reviewer×N (并行)
             HITL ✓      HITL ✓       HITL ✓                    ↓
                                                            accept / retry

5 个 Agent

Agent 模型 职责
需求对齐 Pro 多轮对话收集知识领域、受众水平、内容目标
知识树构建 Flash 梳理知识领域,按认知顺序列出单一概念知识点
主题规划 Flash 将知识点归组为知识主题(≤5-7主题),每主题3个点
撰写 Pro ×N并行 逐主题撰写:场景切入 → 案例类比 → 原理 → 代码示例 → 应用思考
审查 Flash ×N并行 三级质量门:空内容拦截 → 清单审查 → 结构检查

功能

  • 人在回路 — 4 个审批节点,用户可以确认/修改中间产物
  • 并行生产 — LangGraph Send() fan-out,6 个主题同时撰写而非逐主题串行
  • 三级审查 — Tier1 免费拦截空内容/超短内容;Tier2 跨主题结构审查;Tier3 逐主题内容审查;minor 不阻断
  • 增量重试 — 只重写有问题的主题,复用审查结果
  • 受众分层 — 入门受众 2400字/主题×5主题,进阶受众 2800字/主题×6主题,专家受众 3200字/主题×7主题

命令

# 安装
pip install -r requirements.txt

# 开发测试(从项目根目录执行,python -m pytest 会自动把当前目录加入 PYTHONPATH)
pip install -r requirements-ci.txt    # 带上 pytest
python -m pytest tests/ -v            # 336 tests, ~2s

# 跳过集成测试
python -m pytest tests/ -m "not integration" -v

# 无头管线测试(全自动,不启动 UI)
python run_headless.py --timeout 600

# 启动
streamlit run main.py

样例输出

下面是一份由 KnowledgeFlow 真实跑通全流程后生成的 RAG 入门指南(输入:“我想学RAG,我是初学者,学到能够通过AI应用开发面试的程度”)。

  • 生成耗时:约 180 秒
  • 主题数:5 个
  • 文章字数:约 11,900 字
  • 审查结果:通过(3 个 minor 问题,未阻断)

大语言模型有两大短板:知识截止日和幻觉。知识截止日意味着模型训练完成后,世界仍在变化,它却一无所知。RAG(检索增强生成)同时解决这两个问题——不给模型"裸答",先帮它查资料再作答。

📄 查看完整生成文章 📊 查看流程摘要(JSON)

项目结构

KnowledgeFlow/
├── main.py              # Streamlit 入口
├── run_headless.py      # 无头测试脚本
├── src/
│   ├── agents/
│   │   ├── nodes.py     # 11 个 Agent/流程节点
│   │   └── prompts.py   # 系统提示词
│   ├── graph/
│   │   ├── builder.py   # LangGraph 图 + 路由
│   │   ├── state.py     # KnowledgeFlowState
│   │   └── session.py   # Streamlit ↔ LangGraph
│   ├── config.py        # 深度规则、工具限制
│   ├── schemas.py       # Pydantic 数据契约
│   ├── llm_utils.py     # LLM 调用、JSON 提取
│   ├── monitor.py       # Token 追踪 + JSONL 日志
│   ├── tools/           # Web 搜索、向量检索
│   ├── rag/             # ChromaDB + BGE + BM25
│   └── ui/              # Streamlit 组件
├── tests/               # 336 tests, ~2s
├── docs/design.md       # 设计文档
├── examples/            # 真实运行样例输出
├── data/                # ChromaDB + SQLite (gitignored)
└── outputs/             # 生成知识文章 (gitignored)

设计

详见 docs/design.md.

About

基于 LangGraph 的多 Agent 知识内容生成工作流:需求对齐、知识规划、并行撰写与质量审查

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages