入DSL模板到讓AI自動(dòng)分析CSV的完整路徑)
手把手跑通Dify工作流從導(dǎo)入DSL模板到讓AI自動(dòng)分析CSV的完整路徑【免費(fèi)下載鏈接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程自用、學(xué)習(xí)兩相宜。 Sharing some Dify workflows.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow你有沒(méi)有過(guò)這種時(shí)刻一份幾百行的CSV躺在桌面上你想讓它輸出各品類總營(yíng)收用Excel點(diǎn)十分鐘扔給聊天AI又只回來(lái)一段無(wú)法直接使用的文字描述。Awesome-Dify-Workflow 收集了30多個(gè)可直接導(dǎo)入的 Dify 工作流 DSLYAML 描述文件涵蓋數(shù)據(jù)分析、翻譯、圖表渲染等場(chǎng)景基本免費(fèi)可用——導(dǎo)入一個(gè)文件你就擁有一條完整跑通的自動(dòng)化流程不用從零拖節(jié)點(diǎn)。 4步讓第一個(gè)Dify工作流跑起來(lái)先下載倉(cāng)庫(kù)模板都在 DSL 文件夾里git clone https://link.gitcode.com/i/1839502e4b67a4da2cd7621efb46c30a再進(jìn)入 Dify 創(chuàng)建空白應(yīng)用把應(yīng)用類型設(shè)為「工作流」。進(jìn)入編排頁(yè)后點(diǎn)擊左上角菜單里的「導(dǎo)入 DSL 文件」選擇 runLLMCode.yml開(kāi)始、代碼、LLM、HTTP、結(jié)束共 7 個(gè)節(jié)點(diǎn)會(huì)一次性還原成下圖這樣的畫布你不需要手工連線。導(dǎo)入完成后點(diǎn)開(kāi)每個(gè) LLM 節(jié)點(diǎn)把模型換成你賬號(hào)里已添加的模型。模板里默認(rèn)記錄的是這個(gè)配置模型名對(duì)不上就會(huì)報(bào)錯(cuò)model: name: deepseek-coder # 換成你賬號(hào)里已添加的模型 provider: deepseek completion_params: temperature: 0.7最后點(diǎn)擊右上角「運(yùn)行」進(jìn)入試運(yùn)行上傳一份 CSV 并填寫一句分析需求看到結(jié)束節(jié)點(diǎn)返回 markdown 結(jié)果就算跑通了。 實(shí)戰(zhàn)上傳CSV后AI寫代碼、沙箱執(zhí)行、返回分析結(jié)果上面導(dǎo)入的 runLLMCode.yml 值得把內(nèi)部結(jié)構(gòu)拆開(kāi)看一遍它是輸入→處理→輸出鏈路最典型的例子。輸入是兩樣?xùn)|西開(kāi)始節(jié)點(diǎn)接收一個(gè) CSV 文件和一段文字需求比如統(tǒng)計(jì)各品類的總營(yíng)收按降序排列。中間鏈路按順序執(zhí)行了 5 步定位文件第一個(gè)代碼節(jié)點(diǎn)根據(jù)文件大小在沙箱的/upload_files目錄里找到你剛上傳的 CSV輸出它的完整路徑。讀取樣本「讀取csv」節(jié)點(diǎn)用 pandas 讀出前 5 行和總行數(shù)、列名拼成一段數(shù)據(jù)預(yù)覽后面喂給 LLM 當(dāng)參考。讓LLM寫代碼LLM 節(jié)點(diǎn)收到你的需求和數(shù)據(jù)預(yù)覽系統(tǒng)提示詞把它的角色限定為習(xí)慣用 pandas 寫代碼的數(shù)據(jù)處理專家并要求直接輸出代碼、結(jié)果用 markdown 表達(dá)。抽出純代碼下一個(gè)代碼節(jié)點(diǎn)用正則從 LLM 回復(fù)里提取 python 代碼塊——因?yàn)?Dify 的代碼節(jié)點(diǎn)無(wú)法直接引用 LLM 輸出的代碼所以模板借 HTTP 請(qǐng)求繞過(guò)去執(zhí)行。沙箱執(zhí)行HTTP 節(jié)點(diǎn)把代碼 POST 到 Dify 內(nèi)置的 sandbox 容器運(yùn)行再取出stdout作為最終結(jié)果。最后一段請(qǐng)求體長(zhǎng)這樣body: {code:{{#提取LLM中都代碼.code#}},language:python3} headers: X-Api-Key:dify-sandbox url: http://sandbox:8194/v1/sandbox/run這個(gè)設(shè)計(jì)的取舍值得記住LLM 只負(fù)責(zé)想真正干活的是本地 Python 環(huán)境CSV 再大也不多燒 token。輸出就是結(jié)束節(jié)點(diǎn)直接返回的一段 markdown可以直接粘進(jìn)表格或文檔。 跑通之后值得試的3個(gè)方向讓結(jié)果長(zhǎng)出圖表導(dǎo)入 matplotlib.yml它把繪圖結(jié)果轉(zhuǎn)成 base64 再回復(fù)渲染適合把分析結(jié)果升級(jí)成趨勢(shì)圖。修復(fù)大模型吐出的壞JSONjson-repair.yml 專門處理模型輸出少引號(hào)、多括號(hào)的情況做 API 對(duì)接時(shí)很實(shí)用。多輪對(duì)話式AgentAgent工具調(diào)用.yml 展示 Dify 1.0 的 Agent 節(jié)點(diǎn)如何按意圖調(diào)用不同工具注意它需要 Dify 1.0 以上版本導(dǎo)入。? 新人最常撞上的5個(gè)坑本地部署后HTTP節(jié)點(diǎn)返回空原因HTTP 請(qǐng)求指向的是本地 sandbox 容器它沒(méi)啟動(dòng)或容器名不是sandbox時(shí)就連不通。 解法確認(rèn) docker 容器列表里有 sandbox或用 README 里提到的 dify-sandbox-py 替換。節(jié)點(diǎn)間傳長(zhǎng)內(nèi)容報(bào)長(zhǎng)度超限原因.env里CODE_MAX_STRING_LENGTH和TEMPLATE_TRANSFORM_MAX_LENGTH默認(rèn)偏小。 解法改成 1000000重啟容器# 編輯 .env 后執(zhí)行 docker compose down docker compose up -dsandbox里import pandas報(bào)錯(cuò)原因Docker 部署的 sandbox 只帶基礎(chǔ)依賴第三方庫(kù)默認(rèn)沒(méi)裝。 解法編輯/docker/volumes/sandbox/dependencies/python-requirements.txt加入依賴重啟 sandbox 容器。裝了matplotlib卻報(bào)operation not permitted原因官方 sandbox 的文件系統(tǒng)權(quán)限限制裝上也跑不了繪圖代碼。 解法直接用 dify-sandbox-py 替換 sandbox 鏡像作者已驗(yàn)證 matplotlib 可用。導(dǎo)入DSL后節(jié)點(diǎn)提示模型不存在原因DSL 只記錄模型名稱你賬號(hào)里沒(méi)有同名模型。 解法逐個(gè) LLM 節(jié)點(diǎn)重新選擇模型即可其他配置無(wú)需改動(dòng)。? 跑完一遍后的自查清單所有節(jié)點(diǎn)執(zhí)行后都顯示成功綠色狀態(tài)結(jié)束節(jié)點(diǎn)返回的是完整 markdown而不是報(bào)錯(cuò)文本LLM 輸出的代碼被完整提取且 sandbox 的 stdout 非空換一份 CSV 重跑結(jié)果隨數(shù)據(jù)變化下一步就去做這一件事打開(kāi) DSL 文件夾里的 runLLMCode.yml在 Dify 里導(dǎo)入它上傳一份你自己的 CSV輸入一句分析需求點(diǎn)擊「試運(yùn)行」?!久赓M(fèi)下載鏈接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程自用、學(xué)習(xí)兩相宜。 Sharing some Dify workflows.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考