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

UiPath2025笔记第十节:利用java反射编写智能体

一、主体思想

将操作方法传递给DeepSeek模型,Ai通过用户的语境识别出要做出的动作,并给出方法。

二、AiUtil工具类

public class AiUtil {public static String getAiResponse(String input) throws JSONException, IOException {OkHttpClient client = new OkHttpClient();// 构建JSON对象JSONObject requestBody = new JSONObject();requestBody.put("model", "deepseek-v3.1-250821");JSONArray messages = new JSONArray();JSONObject systemMsg = new JSONObject();systemMsg.put("role", "system");systemMsg.put("content", "你现在是一个智能体的ai,现在此智能体目前有三个功能台添加,删除,修改,查询用户,分别为add,delete,update,select三个函数。" +"当用户和你对话时,你需根据语境判断出操作方法,以json格式输出,包括回答内容content,操作方法method");messages.put(systemMsg);JSONObject userMsg = new JSONObject();userMsg.put("role", "user");userMsg.put("content", input);messages.put(userMsg);requestBody.put("messages", messages);RequestBody body = RequestBody.create(requestBody.toString(),MediaType.parse("application/json"));Request request = new Request.Builder().url("https://qianfan.baidubce.com/v2/chat/completions").post(body).addHeader("Authorization", "Bearer ").addHeader("Content-Type", "application/json").build();Response response = client.newCall(request).execute();String responseBody = response.body().string();// 解析响应,只提取内容JSONObject jsonResponse = new JSONObject(responseBody);JSONArray choices = jsonResponse.getJSONArray("choices");JSONObject firstChoice = choices.getJSONObject(0);JSONObject message = firstChoice.getJSONObject("message");return message.getString("content");}
}

三、Ai要操作的方法

public class Utils {public Utils() {}public static void add(){System.out.println("添加用户成功");}public static void delete(){System.out.println("删除用户成功");}public static void update(){System.out.println("更新用户成功");}public static void select(){System.out.println("查找用户成功");}}

四、测试

public class Test01 {@Testpublic void test1() throws IOException, ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {String aiResponse = AiUtil.getAiResponse("我忘了我的用户信息了");System.out.println(aiResponse);JSONObject jsonObject = new JSONObject(aiResponse);String methodName = jsonObject.getString("method"); // 得到"add"System.out.println(methodName);Class<?> aClass = Class.forName("com.zy.Utils");Object instance = aClass.newInstance();Method method = aClass.getMethod(methodName);method.invoke(instance);}
}

http://www.dtcms.com/a/582926.html

相关文章:

  • 如何查网站的空间wordpress 移动端模板下载
  • 基于萤火虫+Gmapping、分层+A*优化的导航方案
  • 网站开发师是做什么的wordpress固定链接静态化后打不开
  • 重庆城乡建设网站小程序开发哪个公司好
  • yolo地裂缝(wsl+ubuntu)
  • 湖北 网站 备案 时间个人网站可以做企业宣传
  • mvc架构购物网站开发成都必去的十大景点
  • 在线设计网站可以做ps和ppt爱吖网
  • 徐州市城乡建设局网站首页国外设计网站d开头的
  • Java 集成 onlyoffice 预览文件功能
  • Maven中的配置
  • 网站开发界面设计用什么工具商城建设开发
  • 访问阿里云主机网站免费打广告的平台app
  • docker拉取失败,更换docker的源
  • asp网站验证码不显示莱州网络推广公司
  • Android Gralde补全计划 productFlavors多渠道打包(变体/多客户)
  • 网站建设多少钱网站开发项目经理职责
  • 浙江腾鑫建设集团网站手机如何打开wordpress
  • 算法 day 47 单调栈
  • 一个静态网站开发考虑什么绍兴建设局网站首页
  • 做网站练手项目广东新闻联播回看
  • JavaEE初阶——多线程(8)JUC的常见类
  • 全参数DeepSeek(671B)企业部署方案
  • 柳州网站开发网上申请店铺开网店的流程
  • Java与Swift完整语法对比手册
  • 网站系统环境的搭建微信公众平台小程序二维码怎么生成
  • 做吉祥物设计看什么网站wordpress 开头空格
  • dockerfile一个引号缺失带来的惨案
  • 做电子板报的网站wordpress 汽车租赁
  • 英文网站设计公司建网站的过程