当前位置: 首页 > news >正文

在Dify中创建自定义Drools工具

文章目录

  • 前言
  • 一、生成Schema格式文件
  • 二.创建自定义工具


前言

上篇文章开发出了Drools的demo,后续我将程序部署到了测试服务器中。

原本的需求逻辑是大部分用户的问题通过业务系统调用Dify的接口使用本地大模型推理出结果返回,另一部分特定的问题通过业务系统调用Drools程序的接口,通过规则校验返回数据的问题。

但是这样一来业务系统就要调用两个接口甚至更多的接口。所以后面想能不能让业务系统只调用Dify的接口,然后在Dify中调用Drools服务的接口。

调研后发现Dify可以在工作流中使用Python语言调用接口,但是我是Java开发,不会Python语言。
最后确定的技术方案为:将Drools的服务封装成Dify中的工具,然后在Dify的工作流中直接使用工具。


一、生成Schema格式文件

在这里插入图片描述
在这里插入图片描述
可以看到创建自定义工具Dify只支持传入openapi schema格式的接口文档,所以需要获取到Drools接口的schema格式的json。

在这里插入图片描述
新版的IDEA支持直接生成OpenAPI的JSON,版本低的IDEA我记得是没有这个图标的

openapi: "3.1.0"
info:title: "drools_demo API"description: "drools_demo API"version: "1.0.0"
servers:- url: "https://drools_demo"
paths:/drools/test:post:summary: "POST drools/test"operationId: "validateClinicalData"requestBody:content:application/json:schema:$ref: "#/components/schemas/ClinicalData"required: trueresponses:"200":description: "OK"content:'*/*':schema:$ref: "#/components/schemas/ValidationResult"
components:schemas:ClinicalData:type: "object"properties:anesthesiaMethod:type: "string"emergencyDiagnosisCode:type: "string"ruleTypes:type: "array"items:type: "string"ValidationResult:type: "object"properties:errors:type: "array"items:type: "string"

这是根据我上篇文章中的接口生成出的schema格式的JSON,然后我们修改下url地址等信息,然后将json复制粘贴

二.创建自定义工具

在这里插入图片描述
dify会对你的schema文本的正确性进行检测,如果语法、结构没有问题,可用工具下面会根据你的Json生成一条接口信息,点击测试就可以测试接口是否好用。

测试没有问题后点击保存,这样一个自定义工具就创建成功了。

http://www.xdnf.cn/news/138115.html

相关文章:

  • 泽众TestOne精准测试:助力软件开发质量新升级
  • NEGATIVE LABEL GUIDED OOD DETECTION WITH PRETRAINED VISION-LANGUAGE MODELS
  • LeetCode 每日一题 2845. 统计趣味子数组的数目
  • 70.评论日记
  • js数据结构之栈
  • C语言大写转小写2.0
  • 自回归模型的多级关系建模:从单一指向到指向性Token的范式革新
  • 线程函数库
  • 矩阵运营:抢占市场与流量的利器
  • c++头文件知识
  • 数字孪生:从概念到实践,重构未来产业的“虚拟镜像”
  • OpenCv高阶(十)——光流估计
  • Oracle_开启归档日志和重做日志
  • AXOP34062: 40V双通道运算放大器
  • C 语言内存分配方法及优缺点
  • 国内多层PCB供应商优选指南
  • 【每天一个知识点】IPv4(互联网协议版本4)和IPv6(互联网协议版本6)
  • vite+vue构建的网站项目localhost:5173打不开
  • ASP.NET MVC​ 入门指南二
  • [基础] Windows PCIe设备驱动框架与开发实践深度解析
  • 面向高性能运动控制的MCU:架构创新、算法优化与应用分析
  • DeepSeek大模型应用学习通知
  • 嵌入式:ARM系列分类及主要应用场景
  • SpringCloud搭建Eureka注册中心
  • Python解析地址中省市区街道
  • 3D Web轻量化引擎HOOPS Communicator 发布3.0版本:平台支持扩展至Linux on ARM64!
  • 【Leetcode 每日一题】2845. 统计趣味子数组的数目
  • 技术面试一面标准流程
  • MiniMind模型的web交互功能初试
  • 28、.NET 中元数据是什么?