Dify应用实战(5) - 使用模版

火山方舟向量数据库大模型
本文适用对象:中级水平


目标:利用Jinja模版排版格式内容














上一节Dify应用实战课,让大家知道如何通过TTS将内容进行语音生成。






往期课程电梯:


[Dify应用实战(1) - 知识库检索](https://mp.weixin.qq.com/s?__biz=MzAxNjQxMTQ3NA==&mid=2452385024&idx=1&sn=301fe9d7e9c9720b0f9ca1a3afe9d4f6&scene=21#wechat_redirect)


[Dify应用实战(2) - 联网工具](https://mp.weixin.qq.com/s?__biz=MzAxNjQxMTQ3NA==&mid=2452385066&idx=1&sn=31e4341615d5ecca7fb3996452bebb73&scene=21#wechat_redirect)


[Dify应用实战(3) - 代码处理](https://mp.weixin.qq.com/s?__biz=MzAxNjQxMTQ3NA==&mid=2452385086&idx=1&sn=8bfa760a94c1cf1671187adc48161660&scene=21#wechat_redirect)


[Dify应用实战(4) - 生成语音](https://mp.weixin.qq.com/s?__biz=MzAxNjQxMTQ3NA==&mid=2452385099&idx=1&sn=20bd1fb7bbeeb3c31510d423be527564&scene=21#wechat_redirect)






除了语音生成,我们还有几种形态的生成,需要继续完成。今天教大家使用Jinja模版,将内容进行格式输出。


学习完成,你将掌握生成内容时,可以用固定的模版,填入动态变化的内容,来生成文案内容等。

picture.image

01.

动手做一做

基于上上一节课的流程,在"代码执行"节点之后,新增一个"模版转换"的节点。

picture.image

添加之后,连接"代码执行"节点和新增节点,再连接新增节点和结束节点(这里先移除语音输出处理,后面会加回来,要多路生成不同的内容)。新增参数(一定要先连接)"模版转换"的输入,选择"代码执行"Object。这里注意,需要将"代码执行"节点也做一些调整。

picture.image

输出的时候,要按字典而非之前的字符串输出。输出变量也选对象输出。


新增节点修改参数,输入模版内容,不变的内容和动态内容分开,动态内容的值需要有双大括号转义。

picture.image

点击"发布",保存。提示"操作成功"。就可以进行测试了。测试如下:

picture.image

结果输出是一个按模版填入动态获取内容的整段文案结果。

02.

补充说明

今天的任务,也非常简单,但为什么是中级水平呢?原因是,这里的Jinja模版的使用,也需要一定的编程经验。


Jinja原本是Python的模板引擎,最初是为Flask框架开发的,功能非常强大,可以动态生成网页,XML,CSV或者Markdown文本。






所以,在实际项目中,利用模板转换的功能,将中间数据,通过模板渲染成需要的格式,才能体现它真正的威力,千万不要被本文例子中的简单写法迷惑,觉得它过于简单哦。







下面例子展示了循环,判断等处理能力。
  
<ul>  
    {% for item in items %}  
        {% if item.cash %}  
          <p>小计金额:{{ item.total }}</p>  
        {% else %}  
          <p>无需付费。</p>  
        {% endif %}  
    {% endfor %}  
</ul>

总结

今天在上次的工作流基础上,进一步增加利用模板进行数据的转换处理,可以定制以固定格式呈现的内容,并插入动态值,生成完整的内容。

如果你对AI的发展感兴趣,欢迎一键三连。有任何问题可以扫码添加好友,我们共同探讨。

picture.image

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论