瀏覽代碼

feat(AI): 新增 AI执行器示例和通用 OllamaChat 任务

- 新增 AI 执行器示例,与 spring-ai 集成打通
- 内置一系列 AI 类任务模板,支持快速开发
- 新增通用 OllamaChat任务,支持自定义 prompt 和 input
- 更新文档和数据库初始化脚本,增加 AI 执行器相关说明和示例数据
-
xuxueli 7 月之前
父節點
當前提交
4469c5d69b

+ 6 - 1
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调整,版本回溯支持查看修改时间;

+ 9 - 2
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`)

+ 1 - 1
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