AI-Grant-Writer-Tool
lewisExternal/AI-Grant-Writer-Tool加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
每年到了科研基金申报季,无数科研人员都要面对同样的困境:查阅数十篇文献、整理海量背景资料、反复推敲每一句话的措辞——等到终于写完初稿,往往已经是第三个深夜。而更令人沮丧的是,即便投入了大量时间,最终的申请书质量仍然受限于个人的写作经验和领域视野。
AI Grant Writer Tool 正是为了解决这个痛点而诞生的。它将微软 AutoGen 多智能体框架与检索增强生成(RAG)技术相结合,专门为科研资助申请场景打造了一套 AI 写作辅助系统。用户在系统中提交自己的研究背景材料,系统会自动从这些材料中检索相关信息,结合外部知识,生成结构完整、论证有力的申请书草稿。
项目的核心技术栈建立在 Microsoft AutoGen(原名 PyAutoGen,已迁移至 ag2)之上。AutoGen 提供了一个多智能体对话框架,允许开发者定义多个具有不同角色的 AI Agent,让它们协同完成复杂任务。
在 AI Grant Writer Tool 中,系统预设了三类 Agent:
这种"多角色审查 + 协作写作"的模式,比单一 AI 一次性生成全文的方案质量更高,因为每个环节都有专门的 Agent 负责把关。
系统使用 PostgreSQL + pgvector 作为向量数据库。当用户上传研究背景文档后,系统会使用 sentence-transformers 将文本切分并转换为向量,存入 pgvector 数据库。在生成申请书时,系统会先从用户的材料库中检索最相关的段落,作为上下文提供给 LLM。
这样做的好处是:AI 生成的内容不是凭空捏造,而是严格基于用户提供的真实研究资料,既保证了相关性,也避免了幻觉(hallucination)问题。
项目使用 LangChain 作为应用编排层,管理从文档加载、文本分块、向量存储到 Agent 调用的完整流程。LangChain 的模块化设计让更换底座模型(如从 GPT-4 切换到 Claude)变得非常容易。
| 组件 | 技术选型 | 作用 |
|---|---|---|
| 多智能体框架 | Microsoft AutoGen (ag2) | Agent 协作与对话管理 |
| 向量数据库 | PostgreSQL / pgvector | 文档语义检索 |
| 应用编排 | LangChain 0.2.5 | RAG 流程编排 |
| 后端框架 | FastAPI | REST API 服务 |
| 前端界面 | Streamlit | 交互式 Web UI |
| 容器化 | Docker Compose | 一键部署 |
项目提供了完整的 docker-compose.yaml,包含三个服务:FastAPI 后端、Streamlit 前端和 pgvector 数据库。部署步骤非常清晰:
# 1. 配置 OpenAI API Key
vi config/.env
# 填入 OPENAI_API_KEY=sk-xxx
# 2. 一键启动
docker compose up --build
# 3. 访问 Streamlit 界面
# http://localhost:8501/
整个启动过程约 5-10 分钟(取决于网络拉取 Docker 镜像的速度)。不过这里有一个必须满足的前提条件:你需要一个有效的 OpenAI API Key。系统本身不包含任何模型,所有 LLM 调用都依赖 OpenAI 的付费 API。如果你的研究机构对数据安全有严格要求,可能需要额外配置 API 代理或切换到本地模型。
硬件方面,系统不依赖 GPU,CPU 多核 + 8GB 内存即可流畅运行,存储需求约 10GB。
适合用户:
需要注意的是:
API 成本问题:虽然项目本身免费开源,但 OpenAI API 按 token 计费。一份完整的申请书生成可能消耗数十元的 API 费用,对于预算有限的课题组来说是一笔不小的开支。
内容质量问题:AI 生成的申请书能否获得资助机构的认可,目前没有公开的评估数据或用户反馈。申请书写作本质上是一项高度专业化的工作,AI 的介入能提高效率,但核心创新点的凝练和论证逻辑的打磨仍然需要人类专家的把控。
尽管存在局限,这个项目代表了一个有价值的探索方向:利用多智能体协作来模拟专业团队写作流程,而非简单地将提示词丢给单一 LLM。随着更强模型的出现以及本地化部署成本的下降,这类工具的实际价值将持续提升。
项目从 2024 年初开发至今已更新至使用 ag2(AutoGen v2)版本,保持了良好的技术跟进。
# 克隆项目
git clone https://github.com/lewisExternal/AI-Grant-Writer-Tool.git
cd AI-Grant-Writer-Tool
# 编辑配置文件
cp config/.env.example config/.env
# 填入你的 OpenAI API Key
# 启动服务
docker compose up --build
# 访问 http://localhost:8501
⚠️ 使用前请确保 Docker Desktop 已启动,并拥有有效的 OpenAI API Key。