Skip to content

概述

基于AI的文档生成系统,可以根据用户提供的主题自动生成PPT和Word文档

地址:https://github.com/chongliujia/AI_doc_platform.git

主要功能:

  • 根据主题自动生成文档大纲
  • 支持 PPT 和 Word 文档格式
  • 实时显示生成进度
  • 支持文档下载和预览
  • 使用 Server-Sent Events (SSE) 实现实时进度更新
  • 新增:高级文档创建功能,可自定义页数限制和具体内容

效果展示

创建文档页面

image-20250405120818351

文档生成

image-20250405122606205

生成结果

image-20250405133441884

技术栈

前端:

  • Vue.js
  • Vuex
  • Vue Router
  • Axios

后端:

  • FastAPI
  • Python-docx (Word 文档生成)
  • Python-pptx (PPT 生成)
  • DeepSeek API (AI 内容生成)

项目部署(Windows11)

1. 拉取仓库&环境搭建

python
git clone https://github.com/chongliujia/AI_doc_platform.git

cd AI_doc_platform/backend

创建python虚拟环境

python
conda create --name AI_doc_platform python=3.11

conda activate AI_doc_platform

安装依赖

python
pip install -r requirements.txt

2. 填写API Key

python
cd .. # 进入项目根目录

记事本编辑.env

AI_API_KEY=
AI_API_ENDPOINT=https://api.deepseek.com/v1/chat/completions

3. 启动后端服务

cd backend
uvicorn app.main:app --host 0.0.0.0 --port 8001

打开浏览器,访问http://localhost:8001,看到Welcome to AI Doc Platform API就算启动成功

image-20250405140035166

4. 启动前端

node版本: v18.16.0

python
cd AI_doc_platform/frontend

npm install # 安装依赖

npm run serve -- --port 3000 # 启动

打开浏览器访问http://localhost:3000,启动成功

image-20250405143834348

生成PPT

image-20250405140850676

运行日志:

image-20250405142904158

image-20250405142921579

完成效果:

image-20250405143030440

image-20250405143124909

image-20250405143155905

生成Word

image-20250405143247553

运行日志:

image-20250405143312194

这篇文档一共6万字

image-20250405151430482

使用感受

  • 作为普通用户来讲,能够根据主题生成PPT内容,是一个很省时省力的工具
  • 能够很快生成主要内容,但其缺点在于样式单一,用户拿到文档之后需要再做进一步调整
  • 该项目是大模型的典型应用,将用户输入的主题和额外信息作为提示词,实际难度不大,基于大模型封装了一层
  • 生成一个文档,用时几分钟,比预期要慢一些,并且字数非常多
  • 生成一个PPT+一个Word文档,共消耗51575个token,API请求次数65,花费0.37元

源码分析

该项目使用FastAPI框架,快速搭建一个轻量级服务

封装了DeepSeek客户端,项目的核心部分分为2块:

  1. 内置提示词
  2. 流程控制

1. 内置提示词

根据主题和文档类型(PPT/Word)对应不同的提示词

image-20250405200212840

在生成主要章节这一部分,代码设置了兜底,当大模型没有返回或者异常时,使用默认值:

image-20250405200614087

2. 流程控制

将任务拆分成多个步骤:

image-20250405201132800

不同的文档类型使用不同的生成器

Snipaste_2025-04-05_20-12-43