DIFY自定义工具
这里我们直接用DeepSeek帮我们实现MD5加密接口,浏览器打开deepseek(https://chat.deepseek.com/),在对话框输入:
请使用python fastapi编写一个MD5加密接口,并提供完整代码
很快,deepseek经过深度思考,为我们生成了下面的代码

fromfastapiimportFastAPI, HTTPException
fromfastapi.responsesimportJSONResponse
importhashlib

app = FastAPI(
    title="MD5 加密服务",
    description="提供文本的MD5哈希值计算",
    version="1.0.0",
    openapi_tags=[{
        "name": "加密",
        "description": "MD5哈希值计算接口"
    }]
)

@app.get("/md5", 
         tags=["加密"],
         summary="计算MD5哈希值",
         response_description="包含原始文本和MD5哈希值的JSON响应")
asyncdefget_md5(text: str):
    """
    计算输入文本的MD5哈希值
    
    - **text**: 需要加密的文本内容
    """
    ifnottext.strip():
        raiseHTTPException(
            status_code=400,
            detail="输入文本不能为空"
        )
    
    try:
        # 创建MD5哈希对象
        md5_hash = hashlib.md5()
        # 更新哈希对象(使用UTF-8编码)
        md5_hash.update(text.encode('utf-8'))
        # 获取十六进制哈希值
        hex_digest = md5_hash.hexdigest()
        
        returnJSONResponse(
            status_code=200,
            content={
                "original_text": text,
                "md5_hash": hex_digest,
                "message": "加密成功"
            }
        )
    exceptExceptionase:
        raiseHTTPException(
            status_code=500,
            detail=f"加密过程中出错: {str(e)}"
        )

if__name__ == "__main__":
    importuvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

在这里插入图片描述
将其复制保存成python格式文件,用PyCharm编辑器调试编译运行
创建自定义工具接下来打开Dify,选择工具菜单,选择自定义,点击“创建自定义工具”,工具名称根据自己的喜好,起一个有意义的名称即可,Schema才是自定义工具的关键,可以根据提供的例子代码直接改写,也可以让deepseek帮我们写。看看如何让deepseek帮我们写在Deepseek中输入以下内容:

请帮我把下面的curl命令转成转换成符合OpenAPI-Swagger规范openapi版本为3.1.0的schema,不需要包含response信息

curl "http://192.168.1.12:8000/md5?text=hello"

schema空白模版如下:
{
      "openapi": "3.1.0",
      "info": {
        "title": "Untitled",
        "description": "Your OpenAPI specification",
        "version": "v1.0.0"
      },
      "servers": [
        {
          "url": ""
        }
      ],
      "paths": {},
      "components": {
        "schemas": {}
      }
    }

{
“openapi”: “3.1.0”,
“info”: {
“title”: “MD5加密服务API”,
“description”: “提供文本的MD5哈希值计算服务”,
“version”: “1.0.0”
},
“servers”: [
{
“url”: “http://192.168.1.12:8000”,
“description”: “本地开发服务器”
}
],
“paths”: {
“/md5”: {
“get”: {
“summary”: “计算MD5哈希值”,
“description”: “对输入的文本进行MD5加密计算”,
“operationId”: “getMD5Hash”,
“parameters”: [
{
“name”: “text”,
“in”: “query”,
“description”: “需要加密的文本内容”,
“required”: true,
“schema”: {
“type”: “string”,
“example”: “hello”
}
}
],
“responses”: {}
}
}
},
“components”: {
“schemas”: {}
}
}
将其复制粘贴进自定义工具的Schema,看到可用工具名称为:getMD5Hash,点击后面的测试按钮,输入任意文本值测试,看到有正确测试结果输出。返回,点击保存按钮,自定义工具创建成功。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐