微信扫码
添加专属顾问
我要投稿
探索Dify插件开发,打造个性化AI应用。核心内容:1. Dify平台介绍及其插件开发的重要性2. Dify插件开发的前期准备和环境搭建3. 插件项目创建和代码结构详解
在当今迅速发展的人工智能领域,dify 作为开源的大语言模型(LLM)应用开发平台,为开发者提供了丰富的工具和插件支持,使得构建强大的 AI 应用变得更加高效。通过为 Dify 开发工具插件,您可以扩展 LLM 的能力,例如实现联网搜索、科学计算或绘制图片等功能,从而增强 AI 应用与外部世界的交互性。
在接下来的内容中,我们将深入探讨如何为 Dify 开发工具插件,帮助您充分利用平台的潜力,构建出色的 AI 应用。
开发 Dify 插件需要进行以下准备。
Dify 插件脚手架工具
Python 环境,版本号 ≥ 3.12
Dify 插件开发脚手架工具又称为 dify-plugin-daemon,可以被视作插件开发 SDK。
访问 Dify Plugin CLI(https://github.com/langgenius/dify-plugin-daemon/releases) 项目地址,下载并安装最新版本号和对应操作系统的工具。
下载脚手架
大家借助用conda 生成 ,具体可以网上百度
赋予可执行权限
初始化项目 输入插件名称、作者、描述信息
初始化项目 选择tool
在终端内使用方向键选择权限,使用 “Tab” 按钮授予权限。 勾选所有权限项后,轻点回车完成插件的创建。 系统将自动生成插件项目代码。
用pycharm打开项目,选择python环境
在生成的项目文件中有两个比较重要的文件夹
1.provider 插件供应商,在一个项目中可以有多个
2.tools 供应商对应的工具
安装dify_plugin 插件 python包
DifyPluginExampleProvider 里面实现的主要是一些验证功能,比如你的工具需要API Key就可以在这里实现
import json
from collections.abc import Generator
from typing import Any
import requests
from dify_plugin import Tool
from dify_plugin.entities.tool import ToolInvokeMessage
class HtmlToMarkdownTool(Tool):
def _invoke(self, tool_parameters: dict[str, Any]) -> Generator[ToolInvokeMessage]:
print(json.dumps(tool_parameters,indent=4))
query= tool_parameters["query"]
print(f"fetch {query}")
try:
j_query= f"https://r.jina.ai/{query}"
print(f"jina query url {j_query}")
response = requests.get(j_query)
response.raise_for_status()
content = response.text
except requests.RequestException as e:
content = str(e)
yield self.create_json_message({
"result": content
})
可以看出,这个工具作用是提供一个url,返回一个markdown给其他节点使用(https://r.jina.ai是一个将网页转markdown的网页,可以在浏览器试试https://r.jina.ai/https://www.baidu.com)
插件开发完成后,接下来需要测试插件是否可以正常运行。Dify 提供便捷地远程调试方式,帮助你快速在测试环境中验证插件功能。 前往“插件管理”页获取远程服务器地址和调试 Key。
回到插件项目,拷贝 .env.example 文件并重命名为 .env,将获取的远程服务器地址和调试 Key 等信息填入其中。 .env 文件:
允许项目的main.py 函数 启动成功
在项目的插件页面可以看到我们的插件,接下来可以进行调试了
在工作流中添加你自己的插件
最终的工作流
允许工作流
查看程序打印日志
工作流运行结果
成功运行
确认插件能够正常运行后,可以通过以下命令行工具打包并命名插件。
./dify-plugin-darwin-amd64 plugin package ./html-to-markdown
打包生成包名: html-to-markdown.difypkg
恭喜,你已完成一个工具类型插件的完整开发、调试与打包过程!
如果想要将插件发布至 Dify Marketplace,请确保你的插件遵循了插件发布规范。审核通过后,代码将合并至主分支并自动上线至 Dify Marketplace。
通过为 Dify 开发工具插件,我们不仅能够扩展 AI 应用的能力,还能提升系统的灵活性和可扩展性。无论是接入外部 API、执行复杂计算,还是增强交互体验,插件都能让 Dify 更加强大
如果你想更快的看到后续内容的更新,请戳 “点赞”、“分享”、“喜欢” ,这些免费的鼓励将会影响后续有关内容的更新速度。如果有任何问题欢迎加wx交流!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-06
vllm近期更新的一些trick总结
2025-04-06
Meta Llama 4 全面解析:全新的原生多模态 AI
2025-04-06
字节跳动开源神器Agent TARS,AI自动化时代真来了
2025-04-06
一文读懂开源 Llama 4 模型
2025-04-06
Meta深夜开源Llama 4!首次采用MoE,惊人千万token上下文,竞技场超越DeepSeek
2025-04-06
Meta 对 DeepSeek 的回应来了:Llama 4 发布,上下文长达 1000 万,参数超 2 万亿!
2025-04-06
Colab上运行Gemma 3 + Ollama:开发者快速入门指南
2025-04-06
开源LLaMA 4 发布,288B参数巨擘,传统RAG可能原地失业!
2025-01-01
2024-07-25
2025-01-21
2024-05-06
2024-09-20
2024-07-20
2024-06-12
2024-07-11
2024-08-13
2024-12-26
2025-04-03
2025-04-03
2025-04-03
2025-04-01
2025-03-31
2025-03-25
2025-03-25
2025-03-24