You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询GetStream聚合格式中支持的Jinja2模板特性子集

GetStream聚合Feed模板支持的Jinja2特性子集

我之前也踩过这个坑,查了官方的隐性说明加上自己测试了不少案例,给你整理一下实际能用的Jinja2特性:

支持的特性

变量插值

最基础的变量替换完全没问题,比如直接用{{ actor }}、{{ verb }}这类获取事件里的字段。

可用过滤器

  • 类型转换:lower(字符串转小写)、upper(字符串转大写)、int(转整数)、float(转浮点数)
  • 字符串基础处理:trim(去除首尾空格)、capitalize(首字母大写)
  • 列表操作:first(取列表首个元素)、last(取列表最后一个元素)

明确不支持的特性

  • 字符串操作类过滤器:replace、length(就是你碰到报错的这两个,实际测试确实无法运行)
  • 复杂字符串/列表过滤器:join、split、slice等都不支持
  • 控制流语句:if判断、for循环这类模板逻辑完全不能用
  • 自定义过滤器:无法添加自己定义的过滤规则

替代方案

因为GetStream裁剪Jinja2主要是为了聚合Feed的性能和安全,所以如果需要实现replace、length这类功能,建议在发送事件到Feed之前提前处理数据:

  • 比如把actor字段提前处理成替换掉:为|的格式,再传入事件
  • 把字段长度作为一个单独的属性(比如actor_length)加到事件里,模板直接用{{ actor_length }}就行

内容的提问来源于stack exchange,提问作者dkeen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:40:11