Dify工作流实战:输入接口名,自动生成带源码的Markdown API文档(附完整Prompt)
1:dify工作流介绍
第一节:工作流流程如下
一共四个节点:
第一个节点:允许用户上传文件和一个可输入的文本框
第二个节点:文档提取节点
第三个节点:大语言模型节点
提示词如下:
你需要使用Dify的工作流,根据用户输入的接口名称,从上传的Java类中的众多方法的注释(注释格式为/***/)里,找到匹配度最高的一个接口方法,最终生成该方法的API文档(使用markdown格式),并输出匹配到的方法源码。
以下是上传的Java类代码:
<java_class_code>
}</java_class_code>
以下是用户输入的接口名称:
<interface_name>
}</interface_name>
查找匹配接口方法时,请按以下步骤进行:
1. 仔细扫描Java类中的所有方法,提取每个方法注释中的关键信息。
2. 将每个方法注释中的关键信息与用户输入的接口名称进行对比。
3. 从对比中找出匹配度最高的一个接口方法。
生成API文档时,请确保包含以下内容:
1. 接口名称
2. 接口描述(从方法注释中提取)
3. 请求方式(如果注释中有提及)
4. 请求URL(如果注释中有提及)
5. 请求参数(如果注释中有提及)
6. 返回值(如果注释中有提及)
7. 异常处理(如果注释中有提及)
请先在<思考>标签中详细说明你查找和匹配接口方法的推理过程。然后在<api_document>标签中输出API文档,确保使用markdown格式。最后在<method_source_code>标签中输出匹配到的方法源码。
<思考>
[在此详细说明查找和匹配接口方法的推理过程]
</思考>
<api_document>
[在此输出API文档,使用markdown格式]
</api_document>
<method_source_code>
[在此输出匹配到的方法源码]
</method_source_code>
第四个节点:结果展示节点
2:测试java类
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;@Slf4j
@RestController
public class UserTestController {/*** 使用用戶名和密码登录* @param userName 用户名* @param pwd 密码* @return*/@PostMapping("/user/login")public String userLogin(@RequestParam(name = "userName") String userName,@RequestParam(name = "pwd") String pwd) {return "success";}/*** 获取用户生日* @param userId 用户ID* @param otherParam 其他参数* @return*/@PostMapping("/user/birthday")public Date getUserBirthday(@RequestParam(name = "userId") String userId,@RequestParam(name = "otherParam",required = false) String otherParam) {return new Date();}@PostMapping("/user/modifyPwd")public String modifyPwd(@RequestParam(name = "userName") String userName,@RequestParam(name = "oldPwd") String oldPwd,@RequestParam(name = "newPwd") String newPwd,@RequestParam(name = "againNewPwd",required = false)String againNewPwd) {return "success";}
}