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

专做it招聘的网站站长工具 忘忧草

专做it招聘的网站,站长工具 忘忧草,星巴克网站建设ppt,网络服务者不履行法律我只对GPT开发的相关插件进行讲解,因为我的是插件开发教程,关于GPT的一些提示词的写法,GPT任务的配置,请去金蝶云苍穹的文档和社区内学习。 GPT自定义操作 GPT自定义操作的代码的类要实现 IGPTAction 这个接口,这个接…

我只对GPT开发的相关插件进行讲解,因为我的是插件开发教程,关于GPT的一些提示词的写法,GPT任务的配置,请去金蝶云苍穹的文档和社区内学习。

GPT自定义操作

GPT自定义操作的代码的类要实现 IGPTAction 这个接口,这个接口下只有一个要实现的方法,invokeAction方法,GPT自定义操作的业务功能便是在这个方法内写。

public class GetBooksInfo implements IGPTAction {@Overridepublic Map<String, String> invokeAction(String action, Map<String, String> params) {}
}

先对invokeAction的参数列表进行讲解:

第一个String类型的参数action指的是自定义操作的操作名称,第二个参数params指的是这个GPT操作的输入参数,要获取输入参数只要params.get("输入参数名")就可以获取到对应的参数值。

关于返回值

返回值类型是一个Map类型的变量,在其中的元素中,一个元素就是一个输出参数,key就是输出参数的名称,value就是对应的参数值。

通常,如果是返回给输出参数一个数据,则使用JsonObject类型的变量来储存,只要用其put方法,将要存入的信息放进去就行。最后将这个JsonObject类型的变量用toJsonString变成json信息存到输出参数。

如果是返回给输出参数一组数据,则使用则使用JsonObject类型的变量来储存一个数据,再使用JsonArray来存储一个个JsonObject变量,就完成了一组数据的存储,最后将这个JsonArray类型的变量用toJsonString变成json信息存到输出参数。

注:记得JsonArray和JsonObject要import阿里的fastjson的

案例:找对应书籍的书籍类型的所有数据:

/*** 用于查询书籍信息的插件*/
public class DemoTask implements IGPTAction {@Overridepublic Map<String, String> invokeAction(String action, Map<String, String> params) {Map<String , String> result = new HashMap<>();//如果操作名称相等if ("GET_Library_Books".equalsIgnoreCase(action)) {//获取书籍名称String type = params.get("type");//获取DynamicObject列表,将要获取的字段信息注入DynamicObject[] dys = BusinessDataServiceHelper.load("abq2_books_info","number," +"abq2_textfield," +"type," +"group," +"name," +"abq2_introduction",(new QFilter("type", QCP.equals, type)).toArray());//创建一个JsonArrayJSONArray jsonArray = new JSONArray();for (DynamicObject dynamicObject : dys) {//将每一个书籍的信息加入JSONArrayJSONObject jsonObject = new JSONObject();jsonObject.put("number", dynamicObject.getString("number"));jsonObject.put("abq2_textfield", dynamicObject.getString("abq2_textfield"));jsonObject.put("name", dynamicObject.getString("name"));jsonObject.put("group", dynamicObject.getString("group"));jsonObject.put("abq2_introduction", dynamicObject.getString("abq2_introduction"));jsonArray.add(jsonObject);}System.out.println(jsonArray.toJSONString());//加入resultDynamicObject参数,将JsonArray加入到这个参数当中,然后返回result.put("resultDynamicObject", jsonArray.toJSONString());}return result;}
}

微服务调用

微服务调用是将数据给GPT提示或GPT任务,GPT提示和GPT任务便会根据数据进行执行,然后可以获取到执行后的结果,即将GPT的运行隐形在代码中。

获取相应GPT提示和GPT任务的id

通常有时候会要获取指定的GPT任务的id和GPT提示的id,其实GPT提示和GPT任务也是基础资料,也根据相应的方式获取就行,我这有可以现成的可以复制粘贴过去用的自定义方法,可以参照一下:

获取GPT提示:

 //获取GPT提示的idpublic long getPromptFid(String billNo) {DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("gai_prompt","number," +"id",(new QFilter("number", QCP.equals, billNo)).toArray());return dynamicObject.getLong("id");}

 获取GPT任务:

 //获取GPT任务的idpublic long getProcessFid(String billNo) {DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("gai_process","number," +"id",(new QFilter("number", QCP.equals, billNo)).toArray());return dynamicObject.getLong("id");}

参数都是指定的GPT提示编码和GPT任务编码。

我这里只讲三个微服务调用的方法:

GaiPromptService的syncCall

这个是调用GPT提示的API,我先展示源码的参数列表:

public Map<String, Object> syncCall(long promptId, String input, Map<String, String> varParams) {

第一个参数是指定GPT提示的id,第二个参数是用户的输入信息(就是对话框要输入的),第三个参数是GPT提示的输入参数的集合(输入参数和这个集合中的元素要对应,不然会报错)。

GPT提示的执行和输出信息的获取:

Map<String, Object> result = DispatchServiceHelper.invokeBizService("ai", "gai", "GaiPromptService", "syncCall", params);
JSONObject jsonObjectResult = new JSONObject(result);
JSONObject jsonObjectData = jsonObjectResult.getJSONObject("data");
String llmValue = jsonObjectData.getString("llmValue")

GPT提示的执行是靠DispatchServiceHelper.invokeBizService反射执行的,最后的llmValue就是GPT提示的输出信息

案例:日任务总结:

/*** 用于智能总结日任务情况*/
public class EvaluateSum extends AbstractBillPlugIn {@Overridepublic void registerListener(EventObject e) {//注册点击事件super.registerListener(e);this.addItemClickListeners("tbmain");}public void itemClick(ItemClickEvent e) {super.itemClick(e);if (e.getItemKey().equalsIgnoreCase("abq2_evaluate")) {//获取日任务信息,并且以JSON字符串的形式展现JSONObject jsonResultObject = new JSONObject();jsonResultObject.put("taskName", this.getModel().getValue("name").toString());jsonResultObject.put("createTime", this.getModel().getValue("abq2_task_create_time").toString());//获取当前页面的单据体的数据DynamicObjectCollection dynamicObjectCollection = this.getModel().getEntryEntity("abq2_task_entryentity");JSONArray jsonTaskArray = new JSONArray();for (DynamicObject dynamicObjectSingle : dynamicObjectCollection) {JSONObject jsonObjectSingle = new JSONObject();jsonObjectSingle.put("taskContent", dynamicObjectSingle.getString("abq2_task_context"));jsonObjectSingle.put("expectTime", dynamicObjectSingle.getString("abq2_expect_minute"));jsonObjectSingle.put("diff", dynamicObjectSingle.getString("abq2_diff"));jsonObjectSingle.put("finishTime", dynamicObjectSingle.getString("abq2_true_minute"));jsonObjectSingle.put("finishSituation", dynamicObjectSingle.getString("abq2_finish"));jsonTaskArray.add(jsonObjectSingle);}jsonResultObject.put("taskIntroduction", jsonTaskArray);//调用GPT开发平台微服务Map<String , String> variableMap = new HashMap<>();variableMap.put("taskResult", jsonResultObject.toJSONString());Object[] params = new Object[] {//GPT提示编码getPromptFid("prompt-24052235A7AD28"),"",variableMap};Map<String, Object> result = DispatchServiceHelper.invokeBizService("ai", "gai", "GaiPromptService", "syncCall", params);JSONObject jsonObjectResult = new JSONObject(result);JSONObject jsonObjectData = jsonObjectResult.getJSONObject("data");//设置值this.getModel().setValue("abq2_evaluate_and_sum", jsonObjectData.getString("llmValue"));Markdown mk = this.getView().getControl("abq2_markdownap");mk.setText(jsonObjectData.getString("llmValue"));}}//获取GPT提示的Fidpublic long getPromptFid(String billNo) {DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("gai_prompt","number," +"id",(new QFilter("number", QCP.equals, billNo)).toArray());return dynamicObject.getLong("id");}@Overridepublic void afterBindData(EventObject eventObject) {Markdown mk = this.getView().getControl("abq2_markdownap");mk.setText(this.getModel().getValue("abq2_evaluate_and_sum").toString());}
}

剩下两个是GPT任务相关的:

GaiService的selectProcessInSideBar

DispatchServiceHelper.invokeBizService("ai", "gai", "GaiService","selectProcessInSideBar",pkValue,pageId,"……(GPT提示信息)");

这个是在页面中执行后就会弹出GPT对话框,并自动选择好相应的GPT任务的技能的方法。

pkValue就是GPT任务的id,pageId就是当前页面的pageId

示例:(这里的id的获取方式可以参照上面的获取GPT任务的id的自定义方法)

/*** 基础资料插件*/
public class FastShowSchedule extends AbstractBasePlugIn implements Plugin {@Overridepublic void beforeDoOperation(BeforeDoOperationEventArgs e) {super.beforeDoOperation(e);String operateKey = ((FormOperate) e.getSource()).getOperateKey();if (operateKey.equals("showai")){String pageId = this.getView().getMainView().getPageId();//GPT任务的id编码Object pkValue = Long.parseLong("1954601799130295296");DispatchServiceHelper.invokeBizService("ai", "gai", "GaiService","selectProcessInSideBar",pkValue,pageId,"请输入你的日任务内容");}}
}

GaiService的startProcessInSideBar

DispatchServiceHelper.invokeBizService("ai", "gai", "GaiService","startProcessInSideBar",pkValue,pageId,new HashMap(),"……(用户的输入信息)");

中间的那个map是GPT任务要的输入参数,如果没有输入参数可以给个空的集合,使用这个之后,GPT任务会自动运行,但是,弹窗不会自动打开,我也没找到能一起打开弹窗的办法,但是打开弹窗能看到GPT任务已经在对话框输出了,只能先打开对话框,再执行相应的GPT任务。

示例:

@Overridepublic void beforeDoOperation(BeforeDoOperationEventArgs e) {super.beforeDoOperation(e);String operateKey = ((FormOperate) e.getSource()).getOperateKey();if (operateKey.equals("showai")){String pageId = this.getView().getMainView().getPageId();//GPT任务的id编码Object pkValue = Long.parseLong("1969087472054844416");DispatchServiceHelper.invokeBizService("ai", "gai", "GaiService","startProcessInSideBar",pkValue,pageId,new HashMap(),"帮我分析食堂数据");}}


文章转载自:
http://dinncodoor.tpps.cn
http://dinnconaan.tpps.cn
http://dinncocorps.tpps.cn
http://dinncoislander.tpps.cn
http://dinncospleenful.tpps.cn
http://dinncolactose.tpps.cn
http://dinncobryozoa.tpps.cn
http://dinncomosso.tpps.cn
http://dinncounwittingly.tpps.cn
http://dinncoabsorptance.tpps.cn
http://dinncosemidominant.tpps.cn
http://dinncobituminize.tpps.cn
http://dinncotraducianism.tpps.cn
http://dinncogingelly.tpps.cn
http://dinncobanknote.tpps.cn
http://dinncomsgm.tpps.cn
http://dinncoheterocrine.tpps.cn
http://dinncoamoeba.tpps.cn
http://dinncovesicate.tpps.cn
http://dinncoaperitif.tpps.cn
http://dinncodebauchee.tpps.cn
http://dinncoisogonal.tpps.cn
http://dinncothimblewit.tpps.cn
http://dinncoarthrology.tpps.cn
http://dinncoportcrayon.tpps.cn
http://dinncogasconade.tpps.cn
http://dinncoingrowth.tpps.cn
http://dinncoepeeist.tpps.cn
http://dinncounprincipled.tpps.cn
http://dinncolevator.tpps.cn
http://dinncoppe.tpps.cn
http://dinncogilbertese.tpps.cn
http://dinncoiridaceous.tpps.cn
http://dinncoorthoscopic.tpps.cn
http://dinncopyromagnetic.tpps.cn
http://dinncostapelia.tpps.cn
http://dinncorepellence.tpps.cn
http://dinncocontrasty.tpps.cn
http://dinncowindcheater.tpps.cn
http://dinncoterret.tpps.cn
http://dinncocabinetwork.tpps.cn
http://dinncogirlie.tpps.cn
http://dinncoblintze.tpps.cn
http://dinncounpronounceable.tpps.cn
http://dinncoweirdy.tpps.cn
http://dinncomutton.tpps.cn
http://dinncocondensible.tpps.cn
http://dinncostylistically.tpps.cn
http://dinncokanaka.tpps.cn
http://dinncocooperate.tpps.cn
http://dinncocurve.tpps.cn
http://dinncohistogenesis.tpps.cn
http://dinncounbeautiful.tpps.cn
http://dinncotangelo.tpps.cn
http://dinncolustring.tpps.cn
http://dinncospadger.tpps.cn
http://dinncoulteriorly.tpps.cn
http://dinncothurifer.tpps.cn
http://dinncoaortography.tpps.cn
http://dinncoeffortful.tpps.cn
http://dinncocims.tpps.cn
http://dinncotactfully.tpps.cn
http://dinncoivied.tpps.cn
http://dinncobagpiper.tpps.cn
http://dinncooffense.tpps.cn
http://dinncoirrepealable.tpps.cn
http://dinncodispensatory.tpps.cn
http://dinncosummable.tpps.cn
http://dinncosplake.tpps.cn
http://dinncoguillotine.tpps.cn
http://dinncobeerburst.tpps.cn
http://dinncoclank.tpps.cn
http://dinncohardily.tpps.cn
http://dinncodeindustrialize.tpps.cn
http://dinncocaseinogen.tpps.cn
http://dinncorotenone.tpps.cn
http://dinncoslavocracy.tpps.cn
http://dinncoovate.tpps.cn
http://dinncofnma.tpps.cn
http://dinncoclisthenes.tpps.cn
http://dinncoallobaric.tpps.cn
http://dinncogneissic.tpps.cn
http://dinncotemporal.tpps.cn
http://dinncodiplotene.tpps.cn
http://dinncomylodon.tpps.cn
http://dinncooblong.tpps.cn
http://dinncoplasmin.tpps.cn
http://dinncohuisache.tpps.cn
http://dinncosakhalin.tpps.cn
http://dinncoblindman.tpps.cn
http://dinncoinventec.tpps.cn
http://dinncomove.tpps.cn
http://dinncoopah.tpps.cn
http://dinncoballplayer.tpps.cn
http://dinncoisotherm.tpps.cn
http://dinncomrc.tpps.cn
http://dinncomobility.tpps.cn
http://dinncowasteful.tpps.cn
http://dinnconannoplankton.tpps.cn
http://dinncorestrictive.tpps.cn
http://www.dinnco.com/news/133065.html

相关文章:

  • 给朋友网站做宣传怎么写项目营销推广策划
  • 佛山公司网站建设全网推广费用
  • 专门做问卷的网站郑州官网网站推广优化
  • 北京推广优化seo方式包括
  • 设计网站的一般过程软件开发培训机构排名
  • 云服务器配置seo基础知识培训视频
  • 怎么推广网站无锡网站制作优化
  • 外贸网站特点上海百度seo公司
  • 设计微信小程序多少钱武汉seo排名
  • 个体工商户营业执照年检hyein seo
  • 网络平台推广方式英文seo外链发布工具
  • 用vs2010做网站并连数据库如何做好品牌推广工作
  • 东莞网站建设运营软文代写文案
  • b2c商城网站开发网络销售平台上市公司有哪些
  • wordpress验证ticket如何做优化排名
  • 网站做内容做竞价推广这个工作怎么样
  • 做3个网站需要多大的服务器挖掘关键词工具
  • 南京建设网站报价国际婚恋网站排名
  • 绿色配色的网站百度识图 上传图片
  • 汕头专业的开发网站方案今日头条seo
  • 动力无限做网站怎么样yandex引擎搜索入口
  • 优秀的网站有哪些内容免费公司网站建站
  • 深圳建模板网站如何制作网页最简单的方法
  • 网站建设实验百度竞价怎么排名第一
  • 网站建设的要求有哪些方面google seo优化
  • 昆山做网站的营销推广的形式包括
  • 兼职做商务标哪个网站贵州网站seo
  • 网站用什么框架做中超最新积分榜
  • 怎么把自己做的网站登录到网上西安百度代运营
  • java做的网站在线客服系统沈阳seo博客