promptflow [Feature Request] JSON parsing of node output

ca1c2owp  于 3个月前  发布在  其他
关注(0)|答案(4)|浏览(46)

您的功能请求是否与问题相关?请描述。

我们正在尝试将LLM输出的JSON字符串用作jinja2模板中下游节点的数据。我们已经尝试使用内置和附加的jinja "过滤器"机制,如下所示,但它似乎在PromptFlow中不可用或不受支持
{% set data = tables|from_json %} <-- 报错

描述您希望实现的解决方案

似乎有一种想法,即节点的输入和输出的强类型化可能在未来得到支持?我们无法确定如何将JSON字符串自动解析为对象或在jinja模板中进行解析。

描述您考虑过的替代方案

我们可以在流程中创建一个单独的节点来手动将字符串解析为JSON对象。我们将使用这个解决方法,但自动功能会更好

e5njpo68

e5njpo681#

https://jinja.palletsprojects.com/en/2.11.x/templates/#list-of-builtin-filters
@johnsinco from_json似乎不是一个内置过滤器,你有什么建议?

  1. 添加一个pf内置过滤器;
  2. 用强类型提示节点并加载数据?
vfhzx4xs

vfhzx4xs2#

似乎有一种想法,最终节点输入将被强烈地类型化,如VSC UI中建议的那样。如果这是计划好的,并且其中一个类型可以是某种类型的JSON对象,那就太理想了。否则,使用第三方jinja过滤器的方法,如Ansible提供的load_json过滤器,也将使这种情况对我们来说容易得多。

qfe3c7zg

qfe3c7zg3#

你好,@johnsinco,感谢你的反馈!
目前我们还没有计划添加强类型值到提示中。
关于load_json过滤器,我们会讨论这个功能。
如果我们有结论,我们会保持这个项目开放并更新计划。
请现在使用另一个节点作为解决方法,对此造成的不便表示抱歉。

vd2z7a6w

vd2z7a6w4#

你好,我们发送这个友好的提醒是因为我们在30天内没有收到你的回复。我们需要更多关于这个问题的信息来帮助解决它。请务必给我们提供你的反馈。如果我们在7天内没有收到你的回复,问题将自动关闭。谢谢!

相关问题