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