环境:dify 14.2 docker版本;

模型:glm-4-flash

工具:marpteam/marp-cli,md_pdf

一、实现思路

用户仅需输入一个标题,随后通过搜索引擎查找与之相关的素材。接着,利用大模型对标题和素材进行深入分析与整理,并以 Marp 格式进行输出。通过自定义接口服务 md_pdf,将 Marp 格式的内容保存为 Markdown 文件。在该接口中调用 marp-cli 工具,将 Markdown 文件转换为 PPT 格式进行展示,同时返回预览链接和下载链接,大功告成!

二、准备工作
  1. marp-cli工具,一个用于将 Marp 和 Marpit 框架的 Markdown 文件转换为静态 HTML/CSS、PDF、PowerPoint 文档以及图片等格式,通过docker安装,端口指定为8084。

    docker run -d -v /home/output:/vda1/data/marp -e LANG=$LANG -e PORT=8084 -p 8084:8084 marpteam/marp-cli --server ./

  2. 自定义接口服务 md_pdf,端口为5001,用于接收marp格式内容,保存为markdown文件,并返回预览和下载链接。

    from flask import Flask, request
    import time
    
    
    app = Flask(__name__)
    
    @app.route('/upload', methods=['POST'])
    
    def upload_markdown():
        content=request.get_data(as_text=True)
        file_name=str(int(time.time()))+".md"
        with open(f"/vda1/data/marp/{file_name}",'w',encoding='utf-8') as f:
            f.write(content)
        return f'😄 PPT已生成成功!\n 预览链接:http:/192.168.3.86:8084/{file_name} \n 下载链接:http:/192.168.3.86:8084/{file_name}?pptx'
        
    if __name__=='__main__':
        app.run(host='0.0.0.0',port=5001)

三、配置工作流

图片

  1. 开始增加文本输入,用于接收用户输入的标题;

  2. 通过免费的Bing搜索,搜索标题相关素材和内容;

  3. 通过大模型,对标题和bing搜索结果进行整合和分析,输出marp格式内容;

  4. 通过http工具,请求准备好的md_ppt接口;

  5. 返回生成的ppt的下载链接和预览链接;

四、效果展示

输入“大语言模型”,生成PPT后返回下载链接和预览链接:

图片

点击预览:

图片

图片

图片

图片

图片

图片

图片

关注公众号【红岸解码室】回复 “一句话生成ppt” 获取DSL工作流文件!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐