Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PaperCopilot · 论文副驾驶

面向论文检索、知识库问答与证据约束写作的 RAG + 多智能体项目。当前 /chat 主链路已并入多智能体编排(planner → retrieval → writing → review),编排异常时回退到原 Agent,保证可用性。

快速入口

  • 第一次看项目START_HERE.md
  • 开发者文档导航docs/README.md
  • 论文写作子域入口app/paper_api/app/paper_routes.py 兼容)、paper_writer/workflow/facade.pyPaperPipeline
  • A2A 网关入口app/a2a_routes.py

运行

1) 主工程(服务端 + 客户端)

python -m venv bert_env
# Windows
bert_env\Scripts\activate
# Linux/macOS
source bert_env/bin/activate

pip install -r requirements.txt
python init_user.py
python server.py

客户端(可选):

python main.py

索引生命周期

  • 服务启动现在只会检查并加载已有索引,不再自动全量重建。
  • 如果看到“索引为空”或“索引损坏”,请显式执行:
python scripts/rebuild_index.py --force
  • 上传/删除论文仍会做增量索引,但不会触发隐式全库重建。

2) 论文写作工作流(证据约束 · 多智能体 A2A)

定位:证据约束型科研写作辅助系统 + 自治型多 Agent 协作(Manager 策略 / 消息总线 / 动态子任务),非「全自动替代作者」。

# 自治协作(默认 PAPER_AUTONOMOUS_MODE=true)
curl -X POST http://localhost:8000/paper/v3/autonomous/run \
  -H "Authorization: Bearer <token>" \
  -d '{"topic": "contrastive learning 在低资源 NER 中的应用", "target_venue": "acl"}'

# 固定流水线(关闭自治:PAPER_AUTONOMOUS_MODE=false)
curl -X POST http://localhost:8000/paper/auto ...

# 黑板 / Manager 计划 / Agent 消息
curl http://localhost:8000/paper/{paper_id}/blackboard
curl http://localhost:8000/paper/{paper_id}/manager/plan
curl http://localhost:8000/paper/{paper_id}/messages

当前目录主干

PaperCopilot/
├── server.py                 # FastAPI HTTP 入口(鉴权、限流;Chat 编排在 app/runtime/chat_service.py)
├── main.py                   # 可选 Kivy 客户端
├── app/
│   ├── runtime/              # ChatService、Workflow/Fallback/Delegation Runtime
│   ├── tooling/              # ToolExecutor 统一工具出口
│   ├── safety/               # SafetyGuard
│   ├── memory_layer/         # UnifiedMemoryFacade
│   ├── consolidation_trigger.py  # 记忆固化触发(轮数 + Token)
│   └── ...
├── paper_writer/
│   ├── orchestration/        # PaperOrchestrator(A2A dispatch)
│   ├── autonomous/           # 自治循环、黑板、Manager
│   ├── workflow/             # PaperPipeline 门面
│   ├── runtime/              # DelegationRuntime
│   ├── core/                 # draft_store(json | db)
│   ├── agents/
│   ├── a2a/
│   └── ...
├── docs/                     # 架构、演进、评测、基础设施文档
├── scripts/                  # 索引、评测、导入等脚本
├── tests/                    # 测试
└── 面试准备/                 # 面试表达与项目说明材料

相关文档

  • docs/README.md:文档导航
  • docs/mcp.md:MCP MySQL 接入
  • app/ragas_eval/README.md:RAGAS 评估
  • docs/从RAG到Agent演进规划.md:演进规划
  • docs/论文写作多智能体架构设计.md:论文写作多 Agent 架构

数据边界

  • data/:业务上传或主知识库文档
  • data/papers/:生产中希望被检索的论文
  • data/benchmarks/qasper/:QASPER 离线 benchmark 资产,不进入生产知识库
  • eval_dataset.json / eval_dataset_qasper.json:评测标签,不参与入库

QASPER 生成与评测示例:

python scripts/import_qasper_to_index.py --limit 100
python scripts/evaluate_qasper_retrieval.py --dataset eval_dataset_qasper.json --retriever-mode bm25 --ks 1 3 5 10

仅供学习和研究使用。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages