在 AI 执行器示例中新增命名 OrcaRouter 集成,镜像现有 ollamaJobHandler 接法: - 新增 OrcaRouterChatModel(复用 Spring AI OpenAiChatModel,base-url 指向 OrcaRouter 网关 https://api.orcarouter.ai) - 新增 OrcaRouterConfig 配置 Bean(spring.ai.orcarouter.base-url / api-key / model) - AIXxlJob 新增 orcaRouterJobHandler 任务,支持自定义 prompt、input、model - application.properties 新增 orcarouter 配置示例 - XXL-JOB官方文档.md 新增 orcaRouterJobHandler 说明与配置示例 - 新增 OrcaRouterLiveTest 本地验证测试 Co-Authored-By: orcasjh <orcasjh@gitee> Signed-off-by: orcasjh <orcasjh@gitee>pull/76/head
parent
e98c02ad2e
commit
15f4005e16
@ -0,0 +1,48 @@
|
||||
package com.xxl.job.executor.test.orcarouter;
|
||||
|
||||
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
|
||||
import com.xxl.job.executor.config.OrcaRouterChatModel;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ai.chat.client.ChatClient;
|
||||
import org.springframework.ai.openai.OpenAiChatOptions;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.bean.override.mockito.MockitoBean;
|
||||
|
||||
@SpringBootTest
|
||||
public class OrcaRouterLiveTest {
|
||||
private static final Logger logger = LoggerFactory.getLogger(OrcaRouterLiveTest.class);
|
||||
|
||||
// ignore
|
||||
@MockitoBean
|
||||
private XxlJobSpringExecutor xxlJobSpringExecutor;
|
||||
|
||||
@Resource
|
||||
private OrcaRouterChatModel orcaRouterChatModel;
|
||||
|
||||
@Test
|
||||
public void chatTest() {
|
||||
|
||||
String prompt = "你是一个研发工程师,擅长解决技术类问题。";
|
||||
String input = "请简单介绍一下你自己";
|
||||
|
||||
// build chat-client
|
||||
ChatClient orcaRouterChatClient = ChatClient
|
||||
.builder(orcaRouterChatModel)
|
||||
.defaultOptions(OpenAiChatOptions.builder().model("orcarouter/auto"))
|
||||
.build();
|
||||
|
||||
// call orcarouter
|
||||
String response = orcaRouterChatClient
|
||||
.prompt(prompt)
|
||||
.user(input)
|
||||
.call()
|
||||
.content();
|
||||
|
||||
logger.info("input: {}", input);
|
||||
logger.info("response: {}", response);
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in new issue