使用 dify 时代码如何管理? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
frankyzf
V2EX    Local LLM

使用 dify 时代码如何管理?

  •  
  •   frankyzf 272 天前 2056 次点击
    这是一个创建于 272 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不知道放在这个节点是不是合适,刚接触 dify,看到代码都在节点里写, 直观感觉不好维护和调试。想问下使用过 dify 的同学,在实际项目中是如何进行代码的管理和调试的? 谢谢

    8 条回复    2025-08-01 17:08:35 +08:00
    GPLer
        1
    GPLer  
       272 天前 via Android   1
    如果需要用到大量代码,这些代码就不应该放到 dify 里,抽出来作为一个服务给 dify 调用更合适。
    dify 无论是代码编写、代码复用、代码调试都没有优势。
    GPLer
        2
    GPLer  
       272 天前 via Android
    dify 目前用下来,代码就做些数据转换比较合适,比如解构 JSON ,修改数据结构。
    frankyzf
        3
    frankyzf  
    OP
       272 天前
    @GPLer 谢谢你的回答。那如果 dify 有多个节点,每个节点其实都有很复杂的逻辑(可能几百行到几千行),如果必须集成 dify 的话,是每个节点需要调用一个 API(服务)才能实现吗?
    akira
        4
    akira  
       272 天前   1
    我们这边现在也有遇到同样的问题。 我们的解决思路是这样
    1. 每个代码节点的代码,在本地都会 有一份独立的文件存储,这样就可以通过常规手段进行代码版本化管理。 另外调试的话,通过 mock 参数来完成。
    2. 部分复杂逻辑的代码节点,我们准备是把 部分代码抽离成 API 接口,在 dify 里面只做简单的调用。
    3. 同时我们也准备上 dify 1.x 版本, 把 插件用起来,应该也能解决这个问题。
    GPLer
        5
    GPLer  
       271 天前 via Android
    @frankyzf 拆成若干个通用服务,dify 只负责组织不负责实现,但不建议每个节点都去调接口,这种情况应该先思考流程编排是否合理。
    lisxour
        6
    lisxour  
       271 天前
    你一个节点都搞几百上千行代码,emmm ,感觉就不适合这么玩,还是自己做成服务吧,代码节点应该是对标云函数之类的功能的,控制在百行内比较合适
    aaronlam
        7
    aaronlam  
       252 天前
    @akira

    想请教一下,谢谢!

    1. 是在本地编写好代码后,再把代码复制到 dify 的代码执行节点里吗?
    ericguo
        8
    ericguo  
       141 天前
    导出 DSL ,然后递交到 git ?一般 Dify 都是搭建小应用,如果是节点里面的大段代码,应该做成插件。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2639 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 09:43 PVG 17:43 LAX 01:43 JFK 04:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86