
文章目录AI-IM项目准备集成步骤1.复制核心代码到主项目2.添加依赖3.配置 application.yml4.修改启动类5.在ai要使用的service上使用注解AgentTool6.调用ai客服对话7.其它AI-IM项目准备代码仓库地址https://gitee.com/w452339689/ai.git集成步骤1.复制核心代码到主项目com.ai.agent/ # Agent核心├── AgentService.java├── AgentToolRegistry.java└── annotation/├── AgentTool.java└── ToolParam.javacom.ai.service/└── TongyiLlmService.java # AI调用服务com.ai.config/└── TongyiConfig.java # 通义千问配置com.ai.controller/└── ChatController.java # 聊天接口可选2.添加依赖!-- 通义千问 SDK --dependencygroupIdcom.alibaba/groupIdartifactIddashscope-sdk-java/artifactIdversion2.15.0/version/dependency!-- Fastjson2 --dependencygroupIdcom.alibaba.fastjson2/groupIdartifactIdfastjson2/artifactIdversion2.0.43/version/dependency!-- Hutool工具类 --dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.25/version/dependency3.配置 application.yml# 通义千问配置tongyi: api-key: your-api-key-here api-url: https://your-api-url model: qwen-plus system-prompt:你是智能客服...4.修改启动类SpringBootApplication ComponentScan(basePackages{com.yourproject,com.ai})MapperScan(basePackages{com.yourproject.mapper,com.ai.mapper})public class YourMainApplication{public static void main(String[]args){SpringApplication.run(YourMainApplication.class, args);}}5.在ai要使用的service上使用注解AgentToolAgentTool ai项目中自定义的用来让ai知道从哪些接口中获取数据// 原有的订单服务ServicepublicclassOrderService{// 添加注解让AI可以直接调用AgentTool(namequeryUserOrders,description查询用户的订单列表)publicListOrdergetByUserId(ToolParam(description用户ID)StringuserId){// 您原有的业务逻辑returnorderMapper.selectByUserId(userId);}AgentTool(namecancelOrder,description取消订单)publicbooleancancelOrder(ToolParam(description订单号)StringorderNo){// 您原有的取消订单逻辑returnorderMapper.updateStatus(orderNo,4);}}6.调用ai客服对话RestControllerRequestMapping(/api/chat)publicclassChatController{AutowiredprivateAgentServiceagentService;PostMapping(/send)publicChatResponsesendMessage(RequestBodyChatRequestrequest){// 获取用户ID从session或token中LonguserIdgetCurrentUserId();// 调用AI服务StringreplyagentService.process(request.getMessage(),null,// 知识库上下文可选userId,getHistoryMessages(request.getSessionId()));returnnewChatResponse(reply);}}7.其它ai项目中不同分支有不同的效果完整多轮对话关联上下文使用tongyi_ai_rag_agent