-INSERT INTO `tool`(gmt_create,gmt_modified,tool_key,description,tool_name,operator_create,operator_modified,version,owner,tool_json) VALUES ('2024-07-17 07:20:35','2024-07-17 07:20:35','system.select_tool','select_tool','select_tool','169704',NULL,'3','你现在是一个插件选择助手,需要理解问题描述,然后从以下给出的插件中选择一个可以解决问题描述的插件\n\n##插件列表:\n###插件名称:system.select_tool\n插件描述:select_tool\n###插件名称:undercover.zhangwei\n插件描述:agent_张伟\n###插件名称:ekg-query\n插件描述:ekg-query\n\n##约束条件:\n-你必须按照以下JSON格式返回结果,并且不要给出问题分析的过程,{\"toolKey\":\"插件名称\"}\n-请尽可能从插件列表中选择合适的插件\n-如果插件列表中没有与问题描述匹配的插件请返回\"null\"\n-如果是模型不能回答的问题请返回\"null\"\n\n##问题描述:\n选择某个tool回答问题,今天是几号','{\"toolDefinition\":{\"name\":\"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"parameters\":{\"type\":\"object\",\"description\":\"演示tool的返回结果\",\"properties\":{\"button\":{\"type\":\"string\",\"description\":\"非必填,按钮名称,默认值为「重试」\"},\"pathVariable\":{\"type\":\"string\",\"description\":\"路径参数\"},\"requestParam\":{\"type\":\"string\",\"description\":\"请求参数\"}},\"required\":[]},\"result\":{\"type\":\"object\",\"description\":\"返回信息\",\"properties\":{}}},\"requestGroovy\":\"import com.alipay.muagent.model.connector.http.HttpParameters\\nimport com.google.gson.Gson\\n\\nclass Content {\\n String text;\\n}\\n\\ndef convertRequest(String request) {\\n def gson = new Gson()\\n\\n Content content = new Content()\\n content.text = request\\n\\n HttpParameters parameters = HttpParameters.builder().build()\\n parameters.setRequestBody(gson.toJson(content))\\n return gson.toJson(parameters)\\n}\\n\\nconvertRequest(request)\",\"responseGroovy\":\"import com.google.gson.Gson\\n\\nclass LLMResponse {\\n\\n int successCode;\\n\\n String errorMessage;\\n\\n String answer;\\n}\\n\\ndef convertResponse(String response) {\\n def gson = new Gson()\\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\\n\\n if (lr.getSuccessCode() == 1) {\\n return lr.getAnswer()\\n }\\n\\n throw new RuntimeException(lr.getErrorMessage())\\n}\\n\\nconvertResponse(response)\",\"manifestSchema\":{\"schema_version\":\"v1\",\"name_for_human\":\"ToolSampleController.queryEditableResponse_response\",\"description_for_human\":\"演示tool���返回结果\",\"description_for_model\":\"演示tool的返回结果\",\"auth\":{\"type\":\"none\"},\"api\":{\"type\":\"http\"},\"headers\":{}},\"toolProtocol\":\"HTTP\",\"apiSchema\":{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"version\":\"0.0.1\"},\"servers\":[{\"url\":\"http://ekgservice:3737/llm/generate\"}],\"paths\":{\"http\":{\"method\":\"POST\",\"path\":\"/api/tool/sample/{pathVariable}\",\"parameters\":[{\"in\":\"body\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-0\"}},{\"in\":\"query\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-1\"}},{\"in\":\"path\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-2\"}}],\"responses\":{\"200\":{\"application/json\":{\"$ref\":\"#/definitions/BaseResult_ToolResponse_\"}}}}}}}'),('2024-07-17 07:20:35','2024-07-17 07:20:35','undercover.dispatch_keyword','角色分配和单词分配','角色分配和单词分配','169704',NULL,'3','169704','{\"toolDefinition\":{\"name\":\"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"parameters\":{\"type\":\"object\",\"description\":\"演示tool的返回结果\",\"properties\":{\"button\":{\"type\":\"string\",\"description\":\"非必填,按钮名称,默认值为「重试」\"},\"pathVariable\":{\"type\":\"string\",\"description\":\"路径参数\"},\"requestParam\":{\"type\":\"string\",\"description\":\"请求参数\"}},\"required\":[]},\"result\":{\"type\":\"object\",\"description\":\"返回信息\",\"properties\":{}}},\"requestGroovy\":\"import com.alipay.muagent.model.connector.http.HttpParameters\\nimport com.google.gson.Gson\\n\\nclass Content {\\n String text;\\n}\\n\\ndef randRole() {\\n def words = Arrays.asList(\\n [\\\"苹果\\\", \\\"梨\\\"],\\n [\\\"猫\\\", \\\"狗\\\"],\\n [\\\"摩托车\\\", \\\"自行车\\\"],\\n [\\\"太阳\\\", \\\"月亮\\\"],\\n [\\\"红色\\\", \\\"粉色\\\"],\\n [\\\"大象\\\", \\\"长颈鹿\\\"],\\n [\\\"铅笔\\\", \\\"钢笔\\\"],\\n [\\\"牛奶\\\", \\\"豆浆\\\"],\\n [\\\"河\\\", \\\"湖\\\"],\\n [\\\"面包\\\", \\\"蛋糕\\\"],\\n [\\\"饺子\\\", \\\"包子\\\"],\\n [\\\"冬天\\\", \\\"夏天\\\"],\\n [\\\"电视\\\", \\\"电脑\\\"],\\n [\\\"铅笔\\\", \\\"橡皮\\\"],\\n [\\\"跑步\\\", \\\"游泳\\\"],\\n [\\\"手机\\\", \\\"平板\\\"],\\n [\\\"鱼\\\", \\\"虾\\\"],\\n [\\\"空调\\\", \\\"风扇\\\"],\\n [\\\"马\\\", \\\"驴\\\"],\\n [\\\"书\\\", \\\"杂志\\\"],\\n [\\\"草\\\", \\\"树\\\"],\\n [\\\"杯子\\\", \\\"碗\\\"],\\n [\\\"米饭\\\", \\\"面条\\\"],\\n [\\\"饼干\\\", \\\"蛋糕\\\"],\\n [\\\"雨伞\\\", \\\"雨衣\\\"],\\n [\\\"猪\\\", \\\"牛\\\"],\\n [\\\"白菜\\\", \\\"生菜\\\"],\\n [\\\"吉他\\\", \\\"钢琴\\\"],\\n [\\\"飞机\\\", \\\"火车\\\"],\\n [\\\"镜子\\\", \\\"眼镜\\\"]\\n )\\n def player = [[\\\"张伟\\\", \\\"agent_张伟\\\"], [ \\\"李静\\\", \\\"agent_李静\\\"], [\\\"王鹏\\\", \\\"agent_王鹏\\\"], [\\\"人类玩家\\\", \\\"agent_人类玩家\\\"]]\\n player.shuffle()\\n def role = Arrays.asList(\\\"平民_1\\\", \\\"平民_2\\\", \\\"平民_3\\\", \\\"卧底_1\\\")\\n role.shuffle()\\n def random = new Random()\\n def wordIdx = random.nextInt(65536) % words.size()\\n def underCoverWordIdx = random.nextInt(65536) % 2\\n return (0..3).collect { i ->\\n {\\n def r = new HashMap<String, Object>()\\n r.put(\\\"player_name\\\", player.get(i).get(0))\\n r.put(\\\"agent_name\\\", player.get(i).get(1))\\n r.put(\\\"agent_description\\\", role.get(i))\\n r.put(\\\"单词\\\", role.get(i).startsWith(\\\"平民\\\") ? words.get(wordIdx).get(1 - underCoverWordIdx) : words.get(wordIdx).get(underCoverWordIdx))\\n return r\\n }\\n }\\n}\\n\\ndef convertRequest(String request) {\\n def gson = new Gson()\\n def roles = randRole()\\n return gson.toJson(roles)\\n}\\n\\nconvertRequest(request)\",\"responseGroovy\":\"import com.google.gson.Gson\\n\\nclass LLMResponse {\\n \\n int successCode;\\n \\n String errorMessage;\\n \\n String answer;\\n}\\n\\ndef convertResponse(String response) {\\n def gson = new Gson()\\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\\n \\n if (lr.getSuccessCode() == 0) {\\n return lr.getAnswer()\\n }\\n \\n throw new RuntimeException(lr.getErrorMessage())\\n}\\n\\nconvertResponse(response)\",\"manifestSchema\":{\"schema_version\":\"v1\",\"name_for_human\":\"ToolSampleController.queryEditableResponse_response\",\"description_for_human\":\"演示tool的返回结果\",\"description_for_model\":\"演示tool��返回结果\",\"auth\":{\"type\":\"none\"},\"api\":{\"type\":\"http\"},\"headers\":{}},\"toolProtocol\":\"GROOVY\",\"apiSchema\":{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"version\":\"0.0.1\"},\"servers\":[{\"url\":\"https://opsgptcore-pre.alipay.com/api/tool/sample/{pathVariable}\"}],\"paths\":{\"http\":{\"method\":\"POST\",\"path\":\"/api/tool/sample/{pathVariable}\",\"parameters\":[{\"in\":\"body\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-0\"}},{\"in\":\"query\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-1\"}},{\"in\":\"path\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-2\"}}],\"responses\":{\"200\":{\"application/json\":{\"$ref\":\"#/definitions/BaseResult_ToolResponse_\"}}}}}}}'),('2024-07-17 07:20:35','2024-07-17 07:20:35','undercover.dispatch_position','分配座位','分配座位','169704',NULL,'3','169704','{\"toolDefinition\":{\"name\":\"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"parameters\":{\"type\":\"object\",\"description\":\"演示tool的返回结果\",\"properties\":{\"button\":{\"type\":\"string\",\"description\":\"非必填,按钮名称,默认值为「重试」\"},\"pathVariable\":{\"type\":\"string\",\"description\":\"路径参数\"},\"requestParam\":{\"type\":\"string\",\"description\":\"请求参数\"}},\"required\":[]},\"result\":{\"type\":\"object\",\"description\":\"返回信息\",\"properties\":{}}},\"requestGroovy\":\"import com.alipay.muagent.model.connector.http.HttpParameters\\nimport com.google.gson.Gson\\n\\nclass Content {\\n String text;\\n}\\n\\ndef randPos(Integer n) {\\n def player = [[\\\"张伟\\\", \\\"agent_张伟\\\"], [ \\\"李静\\\", \\\"agent_李静\\\"], [\\\"王鹏\\\", \\\"agent_王鹏\\\"], [\\\"人类玩家\\\", \\\"agent_人类玩家\\\"]]\\n player.shuffle()\\n\\n return \\\"\\\\n\\\\n| 座位 | 玩家 |\\\\n|---|---|\\\\n\\\" + (1..n).toList().collect { i ->\\n {\\n return \\\"| \\\" + i + \\\" | **\\\" + player.get(i-1).get(0) + \\\"** |\\\"\\n }\\n }.join(\\\"\\\\n\\\")\\n}\\n\\ndef convertRequest(String request) {\\n return randPos(4)\\n}\\n\\nconvertRequest(request)\",\"responseGroovy\":\"import com.google.gson.Gson\\n\\nclass LLMResponse {\\n \\n int successCode;\\n \\n String errorMessage;\\n \\n String answer;\\n}\\n\\ndef convertResponse(String response) {\\n def gson = new Gson()\\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\\n \\n if (lr.getSuccessCode() == 0) {\\n return lr.getAnswer()\\n }\\n \\n throw new RuntimeException(lr.getErrorMessage())\\n}\\n\\nconvertResponse(response)\",\"manifestSchema\":{\"schema_version\":\"v1\",\"name_for_human\":\"ToolSampleController.queryEditableResponse_response\",\"description_for_human\":\"演示tool的返回结果\",\"description_for_model\":\"演示tool的返回结果\",\"auth\":{\"type\":\"none\"},\"api\":{\"type\":\"http\"},\"headers\":{}},\"toolProtocol\":\"GROOVY\",\"apiSchema\":{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"version\":\"0.0.1\"},\"servers\":[{\"url\":\"https://opsgptcore-pre.alipay.com/api/tool/sample/{pathVariable}\"}],\"paths\":{\"http\":{\"method\":\"POST\",\"path\":\"/api/tool/sample/{pathVariable}\",\"parameters\":[{\"in\":\"body\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-0\"}},{\"in\":\"query\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-1\"}},{\"in\":\"path\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-2\"}}],\"responses\":{\"200\":{\"application/json\":{\"$ref\":\"#/definitions/BaseResult_ToolResponse_\"}}}}}}}'),('2024-07-17 07:20:35','2024-07-17 07:20:35','undercover.judge','判断游戏是否结束','判断游戏是否结束','169704',NULL,'3','169704','{\"toolDefinition\":{\"name\":\"OPSGPT:MAIN_SITE:ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"parameters\":{\"type\":\"object\",\"description\":\"演示tool的返回结果\",\"properties\":{\"button\":{\"type\":\"string\",\"description\":\"非必填,按钮名称,默认值为「重试」\"},\"pathVariable\":{\"type\":\"string\",\"description\":\"路径参数\"},\"requestParam\":{\"type\":\"string\",\"description\":\"请求参数\"}},\"required\":[]},\"result\":{\"type\":\"object\",\"description\":\"返回信息\",\"properties\":{}}},\"requestGroovy\":\"import com.alipay.muagent.model.connector.http.HttpParameters\\nimport com.google.gson.Gson\\n\\nclass Content {\\n String text;\\n}\\n\\ndef getMemory() {\\n return binding.hasVariable(\\\"stepMemory\\\") ? (String) binding.getVariable(\\\"stepMemory\\\") : \\\"[null]\\\"\\n}\\n\\ndef convertRequest(String request) {\\n def gson = new Gson()\\n String template = \\\"##本局游戏历史记录##\\\\n{memory}\\\\n\\\\n##背景##\\\\n你是一个逻辑判断大师,你正在参与“谁是卧底”这个游戏,你的角色是[主持人]。你熟悉“谁是卧底”游戏的完整流程,现在需要判断当前游戏是否结束。\\\\n\\\\n##任务##\\\\n你的任务是判断当前游戏是否结束,规则如下:\\\\n根据【重要信息】感知每一轮被投票死亡的玩家。 统计目前存活的[平民]玩家数量、[卧底]玩家数量。格式{\\\\\\\"存活的卧底\\\\\\\":[player_name], \\\\\\\"存活的平民\\\\\\\":[player_name]},判断以下条件中的一个是否满足:\\\\n1. \\\\t卧底玩家全部已经死亡��即 存活[卧底]数量为0)。\\\\n2. 存活的[平民]数量与存活的[卧底]数量相等。\\\\n如果其中一个条件满足,则游戏结束;否则,游戏需要继续。\\\\n\\\\n##输出##\\\\n返回jsonstr 格式。{\\\\\\\"thought\\\\\\\": str, \\\\\\\"存活的玩家信息\\\\\\\": {\\\\\\\"存活的卧底\\\\\\\":[player_name], \\\\\\\"存活的平民\\\\\\\":[player_name]}, \\\\\\\"isEnd\\\\\\\": \\\\\\\"是\\\\\\\" or \\\\\\\"否\\\\\\\"}\\\\n-thought **根据本局游戏历史记录** 分析 游戏最开始有哪些玩家, 他们的身份是什么, 投票导致死亡的玩家有哪些? 分析当前存活的玩家有哪些 ? 是否触发了游戏结束条件? 等等\\\\n\\\\n##example##\\\\n{\\\\\\\"thought\\\\\\\": \\\\\\\"**游戏开始时** 有小杭, 小北, 阿光,夏明 四位玩家, 其中 小杭是[卧底], 小北和阿光和夏明是[平民], 阿光在第一轮被投票死亡了, 小杭和小北和夏明存活. 卧底存活, [平民]数量大于[卧底]数量, 因此游戏未结束 \\\\\\\", \\\\\\\"存活的玩家信息\\\\\\\": {\\\\\\\"存活的卧底\\\\\\\":[\\\\\\\"小杭\\\\\\\"], \\\\\\\"存活的平民\\\\\\\":[\\\\\\\"小北\\\\\\\",\\\\\\\"夏明\\\\\\\"]}, \\\\\\\"isEnd\\\\\\\": \\\\\\\"否\\\\\\\" }\\\\n##example##\\\\n{\\\\\\\"thought\\\\\\\": \\\\\\\"**游戏开始时** 有小刘, 人类玩家, 小王, 凤岭, 四位玩家, 其中 人类玩家是[卧底], 小刘和小王和凤岭是[平民], 人类玩家被投票死亡了, 卧底数量为0, 因此游戏结束 \\\\\\\", \\\\\\\"存活的玩家信息\\\\\\\": {\\\\\\\"存活的卧底\\\\\\\":[\\\\\\\"\\\\\\\"], \\\\\\\"存活的平民\\\\\\\":[\\\\\\\"小刘\\\\\\\",\\\\\\\"小王\\\\\\\",\\\\\\\"凤岭\\\\\\\"]}, \\\\\\\"isEnd\\\\\\\": \\\\\\\"是\\\\\\\" }\\\\n##example##\\\\n{\\\\\\\"thought\\\\\\\": \\\\\\\"**游戏开始时** 有小张, 小赵, 人类玩家, 小钱 四位玩家, 其中 小赵是[卧底], 小张和人类玩家和小钱是[平民], 第一轮小钱被投票死亡了,第二轮小赵被投票死亡了, 小张、小赵和人类玩家存活. 存活的卧底数量为0, 因此游戏结束 \\\\\\\", \\\\\\\"存活的玩家信息\\\\\\\": {\\\\\\\"存活的卧底\\\\\\\":[\\\\\\\"\\\\\\\"], \\\\\\\"存活的平民\\\\\\\":[\\\\\\\"小张\\\\\\\",\\\\\\\"人类玩家\\\\\\\"]}, \\\\\\\"isEnd\\\\\\\": \\\\\\\"是\\\\\\\" }\\\\n ##example##\\\\n{\\\\\\\"thought\\\\\\\": \\\\\\\"**游戏开始时** 有小张, 小赵, 人类玩家, 小钱 四位玩家, 其中 小赵是[卧底], 小张和人类玩家和小钱是[平民], 第一轮小钱被投票死亡了,第二轮人类玩家被投票死亡了, 小张和小赵存活. 卧底存活, [平民]数量等于[卧底]数量,因此游戏结束 \\\\\\\", \\\\\\\"存活的玩家信息\\\\\\\": {\\\\\\\"存活的卧底\\\\\\\":[\\\\\\\"小赵\\\\\\\"], \\\\\\\"存活的平民\\\\\\\":[\\\\\\\"小张\\\\\\\"]}, \\\\\\\"isEnd\\\\\\\": \\\\\\\"是\\\\\\\" }\\\\n\\\\n\\\\n##注意事项##\\\\n1. 所有玩家的座位、身份、agent_name、存活状态、游戏进展等信息在开头部分已给出。\\\\n2. \\\\\\\"是\\\\\\\" or \\\\\\\"否\\\\\\\" 如何选择?若游戏结束,则为\\\\\\\"是\\\\\\\",否则为\\\\\\\"否\\\\\\\"。\\\\n3. 请直接输出jsonstr,不用输出markdown格式。\\\\n4. 游戏可能进行了不只一轮,可能有1个或者2个玩家已经死亡,请注意感知\\\\n\\\\n##结果##\\\\n\\\"\\n\\n Content content = new Content()\\n content.text = template.replace(\\\"{memory}\\\", getMemory())\\n\\n\\n HttpParameters parameters = HttpParameters.builder().build()\\n parameters.setRequestBody(gson.toJson(content))\\n return gson.toJson(parameters)\\n}\\n\\nconvertRequest(request)\",\"responseGroovy\":\"import com.google.gson.Gson\\n\\nclass LLMResponse {\\n\\n int successCode;\\n\\n String errorMessage;\\n\\n String answer;\\n}\\n\\ndef convertResponse(String response) {\\n def gson = new Gson()\\n LLMResponse lr = gson.fromJson(response, LLMResponse.class)\\n\\n if (lr.getSuccessCode() == 1) {\\n return lr.getAnswer()\\n }\\n\\n throw new RuntimeException(lr.getErrorMessage())\\n}\\n\\nconvertResponse(response)\",\"manifestSchema\":{\"schema_version\":\"v1\",\"name_for_human\":\"ToolSampleController.queryEditableResponse_response\",\"description_for_human\":\"演示tool的返回结果\",\"description_for_model\":\"演示tool的返回结果\",\"auth\":{\"type\":\"none\"},\"api\":{\"type\":\"http\"},\"headers\":{}},\"toolProtocol\":\"HTTP\",\"apiSchema\":{\"openapi\":\"3.0.0\",\"info\":{\"title\":\"ToolSampleController.queryEditableResponse_response\",\"description\":\"演示tool的返回结果\",\"version\":\"0.0.1\"},\"servers\":[{\"url\":\"http://ekgservice:3737/llm/generate\"}],\"paths\":{\"http\":{\"method\":\"POST\",\"path\":\"/api/tool/sample/{pathVariable}\",\"parameters\":[{\"in\":\"body\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-0\"}},{\"in\":\"query\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-1\"}},{\"in\":\"path\",\"schema\":{\"$ref\":\"#ToolSampleController-queryEditableResponse-request-2\"}}],\"responses\":{\"200\":{\"application/json\":{\"$ref\":\"#/definitions/BaseResult_ToolResponse_\"}}}}}}}');
0 commit comments