使用 Dify 创建自然语言生成 Word 文档的应用(详细指南)
一、开发核心 API
1.1 API 功能规划
我们将开发两个核心 API:
- Markdown 转 Word API:将用户提供的 Markdown 格式文本转换为 Word 文档
- 文档下载 API:提供转换后 Word 文档的临时下载地址
1.2 环境准备
安装依赖库
pip install flask Spire.Doc
- Flask:用于构建 Web 服务框架
- Spire.Doc:专业文档处理库(支持 Markdown 转 Word 格式)
项目目录结构
项目根目录/
├── app.py # 主程序文件
├── temp/ # 临时文件存储
├── output/ # 转换结果存储
└── cache/ # 缓存文件存储
1.3 核心代码解析(app.py
)
1.3.1 初始化配置
# 启用反向代理支持
app.wsgi_app = ProxyFix(app.wsgi_app)
# 日志配置
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(), # 控制台输出
logging.FileHandler('app.log') # 文件记录
]
)
1.3.2 关键功能模块
- 限流机制(防止服务器过载)
def rate_limit(f):
@wraps(f)
def decorated_function(*args, **kwargs):
# 每分钟最多 60 次请求
if time.time() - REQUEST_LIMIT['last_reset'] > 60:
REQUEST_LIMIT['count'] = 0
if REQUEST_LIMIT['count'] >= 60:
return jsonify(error='Too many requests'), 429
REQUEST_LIMIT['count'] += 1
return f(*args, **kwargs)
- 缓存机制(提高重复内容转换效率)
def check_cache(content