From 4469c5d69b3e893e2c6557a227bd99eb45e12bc5 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Sun, 6 Apr 2025 14:50:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(AI):=20=E6=96=B0=E5=A2=9E=20AI=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=99=A8=E7=A4=BA=E4=BE=8B=E5=92=8C=E9=80=9A=E7=94=A8?= =?UTF-8?q?=20OllamaChat=20=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 AI 执行器示例,与 spring-ai 集成打通 - 内置一系列 AI 类任务模板,支持快速开发 - 新增通用 OllamaChat任务,支持自定义 prompt 和 input - 更新文档和数据库初始化脚本,增加 AI 执行器相关说明和示例数据 - --- doc/XXL-JOB官方文档.md | 7 ++++++- doc/db/tables_xxl_job.sql | 11 +++++++++-- .../src/main/resources/application.properties | 2 +- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 37ad944f..4adfaccf 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2491,7 +2491,7 @@ public void execute() { - b、版本3.x开始要求Jdk17;版本2.x及以下支持Jdk1.8。如对Jdk版本有诉求,可选择接入不同版本; ### 7.38 版本 v3.0.1 Release Notes[规划中] -- 1、【新增】新增AI执行器示例,并与spring-ai集成打通;内置一系列AIXxlJob,支持快速开发AI类任务(xxl-job-executor-sample-springboot-ai)。 +- 1、【新增】新增“AI执行器”示例,并与spring-ai集成打通;内置一系列AIXxlJob,支持快速开发AI类任务(xxl-job-executor-sample-springboot-ai)。 - 2、【新增】新增通用OllamaChat任务(ollamaJobHandler),支持自定义prompt、input等输入信息,示例参数如下; ``` { @@ -2499,6 +2499,11 @@ public void execute() { "prompt": "{模型prompt,可选信息}" } ``` +说明:ollamaJobHandler 内置在“AI执行器(AppName = xxl-job-executor-sample-ai)”中,需要先新建执行器;可参考如下SQL或自行创建: +``` +INSERT INTO `xxl_job_group`(`app_name`, `title`, `address_type`, `address_list`, `update_time`) + VALUES ('xxl-job-executor-sample-ai', 'AI执行器Sample', 0, NULL, now()); +``` - 3、【修复】任务操作逻辑优化,修复边界情况下逻辑中断问题(ISSUE-2081)。 - 4、【修复】调度中心Cron前端组件优化,解决week配置与后端兼容性问题(ISSUE-2220)。 - 5、【优化】Glue IDE调整,版本回溯支持查看修改时间; diff --git a/doc/db/tables_xxl_job.sql b/doc/db/tables_xxl_job.sql index 4b15476b..9a045a41 100644 --- a/doc/db/tables_xxl_job.sql +++ b/doc/db/tables_xxl_job.sql @@ -135,15 +135,22 @@ CREATE TABLE `xxl_job_lock` ## —————————————————————— init data —————————————————— INSERT INTO `xxl_job_group`(`id`, `app_name`, `title`, `address_type`, `address_list`, `update_time`) -VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2018-11-03 22:21:31'); + VALUES (1, 'xxl-job-executor-sample', '通用执行器Sample', 0, NULL, now()), + (2, 'xxl-job-executor-sample-ai', 'AI执行器Sample', 0, NULL, now()); INSERT INTO `xxl_job_info`(`id`, `job_group`, `job_desc`, `add_time`, `update_time`, `author`, `alarm_email`, `schedule_type`, `schedule_conf`, `misfire_strategy`, `executor_route_strategy`, `executor_handler`, `executor_param`, `executor_block_strategy`, `executor_timeout`, `executor_fail_retry_count`, `glue_type`, `glue_source`, `glue_remark`, `glue_updatetime`, `child_jobid`) -VALUES (1, 1, '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'CRON', '0 0 0 * * ? *', +VALUES (1, 1, '示例任务01', now(), now(), 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', + '2018-11-03 22:21:31', ''), + (2, 2, 'Ollama示例任务01', now(), now(), 'XXL', '', 'CRON', '0 0 0 * * ? *', + 'DO_NOTHING', 'FIRST', 'ollamaJobHandler', '{ + "input": "慢SQL问题分析思路", + "prompt": "你是一个研发工程师,擅长解决技术类问题。" +}', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', ''); INSERT INTO `xxl_job_user`(`id`, `username`, `password`, `role`, `permission`) diff --git a/xxl-job-executor-samples/xxl-job-executor-sample-springboot-ai/src/main/resources/application.properties b/xxl-job-executor-samples/xxl-job-executor-sample-springboot-ai/src/main/resources/application.properties index ed979a05..a4b8e118 100644 --- a/xxl-job-executor-samples/xxl-job-executor-sample-springboot-ai/src/main/resources/application.properties +++ b/xxl-job-executor-samples/xxl-job-executor-sample-springboot-ai/src/main/resources/application.properties @@ -20,7 +20,7 @@ xxl.job.executor.appname=xxl-job-executor-sample-ai xxl.job.executor.address= ### xxl-job executor server-info xxl.job.executor.ip= -xxl.job.executor.port=9999 +xxl.job.executor.port=9997 ### xxl-job executor log-path xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler ### xxl-job executor log-retention-days