2026/4/13 0:24:59
网站建设
项目流程
酷站官网,wordpress大学主题修改,荷兰网站后缀,网站开发的现实意义作者#xff1a;残风#xff0c;栀七 更多具体定制接入与使用方式#xff0c;可查看文末微信与钉钉群#xff0c;与官方维护团队取得联系。 #x1f4d6; 简介
Assistant Agent 是一个基于 Spring AI Alibaba 构建的企业级智能助手框架#xff0c;采用代码即行动#x…作者残风栀七更多具体定制接入与使用方式可查看文末微信与钉钉群与官方维护团队取得联系。 简介Assistant Agent是一个基于 Spring AI Alibaba 构建的企业级智能助手框架采用代码即行动Code-as-Action范式通过生成和执行代码来编排工具、完成任务。它是一个能理解、能行动、能学习的智能助手解决方案可帮助企业快速构建智能答疑客服、系统诊断、运维助手、业务助理、AIOps等智能体。仓库地址spring-ai-alibaba/AssistantAgent技术特性代码即行动Code-as-ActionAgent 通过生成并执行代码来完成任务而非仅仅调用预定义工具可以在代码中灵活编排、组合多个工具实现复杂流程安全沙箱AI 生成的代码在 GraalVM 多语言沙箱中安全运行具备资源隔离能力多维评估通过评估图Graph进行多层次意图识别精准指导 Agent 行为Prompt 动态组装根据场景及前置评估结果动态注入上下文经验、知识等到 Prompt 中灵活处理不同任务经验学习自动积累成功经验持续提升后续任务的表现⚡快速响应熟悉场景下跳过 LLM 推理过程基于经验快速响应Assistant Agent 能帮你做什么Assistant Agent 是一个功能完整的智能助手具备以下核心能力智能问答支持多数据源统一检索架构通过 SPI 可扩展知识库、Web 等数据源提供准确、可溯源的答案️工具调用支持 MCP、HTTP APIOpenAPI等协议灵活接入海量工具可组合调用实现复杂业务流程⏰主动服务支持定时任务、延迟执行、事件回调让助手主动为你服务多渠道触达内置 IDE 回复允许通过 SPI 可扩展钉钉、飞书、企微、Webhook 等渠道为什么选择 Assistant Agent价值说明降低成本7×24 小时智能客服大幅减少人工客服成本快速接入业务平台通过简单配置即可接入无需大量开发投入灵活定制配置知识库、接入企业工具打造专属业务助手持续优化自动学习积累经验助手越用越聪明适用场景智能客服接入企业知识库智能解答用户咨询运维助手对接监控、工单系统自动处理告警、查询状态、执行操作业务助理连接 CRM、ERP 等业务系统辅助员工完成日常工作 以上仅为典型场景示例。通过配置知识库和接入工具Assistant Agent 可适配更多业务场景欢迎探索。整体工作原理以下是 Assistant Agent 处理一个完整请求的端到端流程示例项目结构assistant-agent/ ├── assistant-agent-common # 通用工具、枚举、常量 ├── assistant-agent-core # 核心引擎GraalVM 执行器、工具注册表 ├── assistant-agent-extensions # 扩展模块 │ ├── dynamic/ # - 动态工具MCP、HTTP API │ ├── experience/ # - 经验管理与快速意图配置 │ ├── learning/ # - 学习提取与存储 │ ├── search/ # - 统一搜索能力 │ ├── reply/ # - 多渠道回复 │ ├── trigger/ # - 触发器机制 │ └── evaluation/ # - 评估集成 ├── assistant-agent-prompt-builder # Prompt 动态组装 ├── assistant-agent-evaluation # 评估引擎 ├── assistant-agent-autoconfigure # Spring Boot 自动配置 └── assistant-agent-start # 启动模块 快速启动前置要求Java 17Maven 3.8DashScope API Key1. 克隆并构建gitclone https://github.com/spring-ai-alibaba/AssistantAgentcdassistant-agent mvn cleaninstall-DskipTests2. 配置 API KeyexportDASHSCOPE_API_KEYyour-api-key-here3. 最小配置项目已内置默认配置只需确保 API Key 正确即可。如需自定义可编辑assistant-agent-start/src/main/resources/application.ymlspring:ai:dashscope:api-key:${DASHSCOPE_API_KEY}chat:options:model:qwen-max4. 启动应用cdassistant-agent-start mvn spring-boot:run所有扩展模块默认开启并采用合理的配置无需额外配置即可快速启动。5. 配置知识库接入业务知识 框架默认提供 Mock 知识库实现用于演示测试。生产环境需要接入真实知识源如向量数据库、Elasticsearch、企业知识库 API 等以便 Agent 能够检索并回答业务相关问题。方式一快速体验使用内置 Mock 实现默认配置已启用知识库搜索可直接体验spring:ai:alibaba:codeact:extension:search:enabled:trueknowledge-search-enabled:true# 默认开启方式二接入真实知识库推荐实现SearchProviderSPI 接口接入你的业务知识源packagecom.example.knowledge;importcom.alibaba.assistant.agent.extension.search.spi.SearchProvider;importcom.alibaba.assistant.agent.extension.search.model.*;importorg.springframework.stereotype.Component;importjava.util.*;Component// 添加此注解Provider 会自动注册publicclassMyKnowledgeSearchProviderimplementsSearchProvider{Overridepublicbooleansupports(SearchSourceTypetype){returnSearchSourceType.KNOWLEDGEtype;}OverridepublicListSearchResultItemsearch(SearchRequestrequest){ListSearchResultItemresultsnewArrayList();// 1. 从你的知识源查询向量数据库、ES、API 等// 示例ListDoc docs vectorStore.similaritySearch(request.getQuery());// 2. 转换为 SearchResultItem// for (Doc doc : docs) {// SearchResultItem item new SearchResultItem();// item.setId(doc.getId());// item.setSourceType(SearchSourceType.KNOWLEDGE);// item.setTitle(doc.getTitle());// item.setSnippet(doc.getSummary());// item.setContent(doc.getContent());// item.setScore(doc.getScore());// results.add(item);// }returnresults;}OverridepublicStringgetName(){returnMyKnowledgeSearchProvider;}}常见知识源接入示例知识源类型接入方式向量数据库阿里云 AnalyticDB、Milvus、Pinecone在search()方法中调用向量相似度检索 APIElasticsearch使用 ES 客户端执行全文检索或向量检索企业知识库 API调用内部知识库 REST API本地文档读取并索引本地 Markdown/PDF 文件 核心模块介绍评估模块Evaluation作用多维度意图识别框架通过评估图Graph对信息进行多层次特质识别。┌──────────────────────────────────────────────────────────────────┐ │ 评估图 (Evaluation Graph) 示例 │ ├──────────────────────────────────────────────────────────────────┤ │ │ │ 用户输入: 查询今日订单 │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Layer 1 并行执行 │ │ │ │ ┌────────────┐ ┌────────────┐ │ │ │ │ │ 是否模糊? │ │ 输入改写 │ │ │ │ │ │ 清晰/模糊 │ │增强 │ │ │ │ │ └─────┬──────┘ └─────┬──────┘ │ │ │ └─────────┼──────────────────────┼────────────────────────┘ │ │ │ │ │ │ └──────────┬───────────┘ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ Layer 2 (基于改写内容并行执行) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ 检索经验 │ │ 匹配工具 │ │ 搜索知识 │ │ │ │ │ │ 有/无 │ │ 有/无 │ │ 有/无 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌────────────────────┐ │ │ │ 整合不同维度评估结果 │ │ │ │ → 传递给后续模块 │ │ │ └────────────────────┘ │ │ │ └──────────────────────────────────────────────────────────────────┘核心能力双评估引擎LLM 评估通过大模型进行复杂语义判断用户可完全自定义评估 PromptcustomPrompt也可使用默认 Prompt 组装支持description、workingMechanism、fewShots等配置Rule-based 评估通过 Java 函数实现规则逻辑用户自定义FunctionCriterionExecutionContext, CriterionResult执行任意规则判断适合阈值检测、格式校验、精确匹配等场景依赖关系自定义评估项可通过dependsOn声明前置依赖系统自动构建评估图按拓扑执行无依赖项并行、有依赖项顺序执行后续评估项可访问前置评估项的结果评估结果支持BOOLEAN、ENUM、SCORE、JSON、TEXT等类型传递给 Prompt Builder 驱动动态组装Prompt Builder 模块作用根据评估结果和运行时上下文动态组装发送给模型的 Prompt。示例┌─────────────────────────────────────────────────────────────────────────┐ │ Prompt Builder - 条件化动态生成 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 评估结果输入: │ │ ┌────────────────────────────────────────────────────────┐ │ │ │ 模糊: 是 │ 经验: 有 │ 工具: 有 │ 知识: 无 │ │ │ └────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ 自定义 PromptBuilder 条件匹配 │ │ │ │ │ │ │ │ 模糊是 ──────▶ 注入 [澄清引导 Prompt] │ │ │ │ 模糊否 ──────▶ 注入 [直接执行 Prompt] │ │ │ │ │ │ │ │ 经验有 ──────▶ 注入 [历史经验参考] │ │ │ │ 工具有 ──────▶ 注入 [工具使用说明] │ │ │ │ 知识有 ──────▶ 注入 [相关知识片段] │ │ │ │ │ │ │ │ 组合示例1: 模糊无工具无知识 ──▶ [追问用户 Prompt] │ │ │ │ 组合示例2: 清晰有工具有经验 ──▶ [快速执行 Prompt] │ │ │ └────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ 最终动态 Prompt: │ │ │ │ [系统提示] [澄清引导] [历史经验] [工具说明] [用户问题] │ │ │ └────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────┐ │ │ │ 模型 │ │ │ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘核心能力多个 PromptBuilder 按优先级顺序执行每个 Builder 根据评估结果决定是否贡献、贡献什么内容支持自定义 Builder根据业务需求定制 Prompt 逻辑非侵入式在模型调用层拦截对比传统方案对比维度传统方案评估 PromptBuilderPrompt 长度需要穷举各种情况的处理指令“遇到 A 情况应该…遇到 B 情况应该…”Prompt 臃肿通过前置评估识别场景仅注入当前场景所需的上下文Prompt 更短更精确Agent 行为可控性依赖模型对冗长指令的理解容易误判行为由评估结果驱动减少模型误判更可控扩展灵活性新增场景需修改 Prompt维护困难根据业务需求修改相关评估项与PromptBuilder代码架构评估逻辑与 Prompt 耦合在一起评估逻辑与 Prompt 模板解耦关注点分离独立维护和迭代学习模块Learning作用从 Agent 执行历史中自动提取并保存有价值的经验。┌─────────────────────────────────────────────────────────────────────────┐ │ 学习模块工作流程 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ Agent 执行过程 │ │ │ │ │ │ │ │ 输入 ──▶ 推理 ──▶ 代码生成 ──▶ 执行 ──▶ 输出 │ │ │ │ │ │ │ │ │ │ │ │ │ └────────┴──────────┴─────────┴────────┘ │ │ │ │ │ │ │ │ └────────────────────────┼───────────────────────────────────────────┘ │ │ ▼ │ │ ┌────────────────────────┐ │ │ │ 学习上下文捕获 │ │ │ │ - 用户输入 │ │ │ │ - 中间推理步骤 │ │ │ │ - 生成的代码 │ │ │ │ - 执行结果 │ │ │ └───────────┬────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ 学习提取器分析 │ │ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ │ │ 经验提取器 │ │ 模式提取器 │ │ 错误提取器 │ │ │ │ │ │ 成功模式 │ │ 通用模式 │ │ 失败教训 │ │ │ │ │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │ │ │ └────────┼───────────────┼───────────────┼─────────────────────┘ │ │ │ │ │ │ │ └───────────────┼───────────────┘ │ │ ▼ │ │ ┌────────────────┐ │ │ │ 持久化存储 │ ──▶ 供后续任务参考使用 │ │ └────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────┘核心能力After-Agent 学习每次 Agent 运行完成后提取经验After-Model 学习每次模型调用后提取经验Tool Interceptor从工具调用中提取经验离线学习批量分析历史数据提取模式学习过程捕获执行上下文 → 提取器分析识别 → 生成经验记录 → 持久化存储供后续复用经验模块Experience作用积累和复用历史成功执行经验。┌─────────────────────────────────────────────────────────────────────────┐ │ 经验模块工作示意 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 【场景1: 经验积累】 │ │ │ │ 用户: 查询订单状态 ──▶ Agent 成功执行 ──▶ ┌────────────────┐ │ │ │ 保存经验: │ │ │ │ - React决策经验 │ │ │ │ - Code经验 │ │ │ │ - 常识经验 │ │ │ └────────────────┘ │ │ │ │ │ ▼ │ │ ┌────────────────┐ │ │ │ 经验库 │ │ │ └────────────────┘ │ │ │ │ 【场景2: 经验复用】 │ │ │ │ │ 用户: 查询我的订单状态 ◀──── 匹配相似经验 ◀────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ Agent 参考历史经验更快决策生成正确代码 │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │ 【场景3: 快速意图响应】 │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 经验库 │ │ │ │ ┌─────────────────────┐ ┌────────────────────────────┐ │ │ │ │ │ 经验A (普通) │ │ 经验B (✓ 已配置快速意图) │ │ │ │ │ │ 无快速意图配置 │ │ 条件: 前缀匹配查看*销量 │ │ │ │ │ │ → 注入prompt供llm参考│ │ 动作: 调用销量查询API │ │ │ │ │ └─────────────────────┘ └───────────┬────────────────┘ │ │ │ └─────────────────────────────────────────────┼───────────────────┘ │ │ │ 条件命中 │ │ ▼ │ │ 用户: 查看今日销量 ──▶ 匹配经验B快速意图 ──▶ 跳过LLM直接执行 │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────┘核心能力多类型经验代码生成经验、ReAct 决策经验、常识经验为类似任务提供历史参考灵活复用经验可注入 Prompt 或用于快速意图匹配生命周期管理支持经验的创建、更新、删除快速意图响应经验需显式配置fastIntentConfig才能启用匹配已配置条件时跳过 LLM 完整推理直接执行预记录的工具调用或代码支持多条件匹配消息前缀、正则、元数据、状态等触发器模块Trigger作用创建和管理定时任务或事件触发的 Agent 执行。┌─────────────────────────────────────────────────────────────────────────┐ │ 触发器模块能力示意 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 【定时触发】 │ │ │ │ 用户: 每天早上9点给我发送销售日报 │ │ │ │ │ ▼ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ Agent 创建 │ │ 调度器 │ │ 自动执行 │ │ │ │ Cron 触发器 │────▶│ 0 9 * * * │────▶│ 生成日报 │ │ │ │ (自我调度) │ │ │ │ 发送通知 │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ 【延迟触发】 │ │ │ │ 用户: 30分钟后提醒我开会 │ │ │ │ │ ▼ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ Agent 创建 │ │ 30分钟后 │ │ 发送提醒 │ │ │ │ 一次性触发器 │────▶│ 触发 │────▶│ 该开会了 │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ 【回调触发】 │ │ │ │ 用户: 满足xx条件时帮我xx │ │ │ │ 外部系统: 发送事件到 Webhook │ │ │ │ │ ▼ │ │ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ │ │ 接收回调 │ │ 触发 Agent │ │ 处理事件 │ │ │ │ Webhook 事件 │────▶│ 执行任务 │────▶│ 返回响应 │ │ │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘核心能力TIME_CRON触发器支持 Cron 表达式定时触发任务TIME_ONCE触发器支持一次性延迟触发CALLBACK触发器支持回调事件触发Agent 可通过工具自主创建触发器实现自我调度回复渠道模块Reply Channel作用提供灵活的消息回复能力支持多种输出渠道。┌─────────────────────────────────────────────────────────────────────────┐ │ 回复渠道模块能力示意 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ Agent 需要向用户回复消息 │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 回复渠道路由 │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ├──────────────┬──────────────┬──────────────┐ │ │ ▼ ▼ ▼ ▼ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ │ │ DEFAULT │ │ IDE_CARD │ │ IM_NOTIFY │ │ WEBHOOK │ │ │ │ 文本回复 │ │ 卡片展示 │ │ 消息推送 │ │ JSON推送 │ │ │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 控制台 │ │ IDE │ │ IM │ │ 第三方 │ │ │ │ 终端回复 │ │ 富文本卡片 │ │ (可扩展) │ │ 系统 │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ 【使用示例】 │ │ │ │ 用户: 分析完成后发送结果 │ │ │ │ │ ▼ │ │ Agent: send_message(text分析结果...) │ │ │ │ │ ▼ │ │ 用户收到消息: 分析结果: ... │ │ │ └─────────────────────────────────────────────────────────────────────────┘核心能力多渠道路由Agent 可根据场景选择不同渠道回复配置驱动动态生成回复工具无需编码同步异步支持支持同步和异步回复模式统一接口屏蔽底层实现差异内置示例渠道IDE_TEXT演示用可扩展渠道通过实现ReplyChannelDefinitionSPI如IDE_CARD、IM_NOTIFICATION钉钉/飞书/企微、WEBHOOK_JSON等需用户自行实现工具扩展模块Dynamic Tools作用提供高度可扩展的工具体系让 Agent 能够调用各类外部工具完成任务。┌─────────────────────────────────────────────────────────────────────────┐ │ 工具扩展架构 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ Agent 需要执行操作 │ │ │ │ │ ▼ │ │ ┌──────────────────────────────────────────────────────────────────┐ │ │ │ CodeactTool 工具体系 │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ├─────────────┬─────────────┬─────────────┬──────────────┐ │ │ ▼ ▼ ▼ ▼ ▼ │ │ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌───────┐ │ │ │ MCP │ │ HTTP │ │ Search │ │ Trigger │ │ 自定义 │ │ │ │ Tools │ │ API │ │ Tools │ │ Tools │ │ Tools │ │ │ │ │ │ Tools │ │ │ │ │ │ │ │ │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └───┬───┘ │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────┐ │ │ │ 任意 MCP │ │ REST API │ │ 知识检索 │ │ 定时任务 │ │ ... │ │ │ │ Server │ │ OpenAPI │ │ 项目搜索 │ │ 事件回调 │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────┘核心能力MCP 工具支持一键接入任意 MCP Server复用 MCP 工具生态HTTP API 支持通过 OpenAPI 规范接入 REST API调用企业现有接口内置工具类型搜索Search、回复Reply、触发器Trigger、学习Learning等自定义工具 SPI实现CodeactTool接口轻松扩展新工具知识检索模块Knowledge Search作用多数据源统一检索引擎为 Agent 的问答和决策提供知识支撑。┌─────────────────────────────────────────────────────────────────────────┐ │ 多数据源检索架构 │ ├─────────────────────────────────────────────────────────────────────────┤ │ │ │ 用户问题: 如何配置数据库连接池 │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 统一检索接口 │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ │ ├────────────────┬────────────────┬────────────────┐ │ │ ▼ ▼ ▼ ▼ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │ │ │ 知识库 │ │ 项目 │ │ Web │ │ 自定义 │ │ │ │ Provider │ │ Provider │ │ Provider │ │Provider │ │ │ │ (主要) │ │ (可选) │ │ (可选) │ │ (SPI) │ │ │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ └───┬─────┘ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌────────┐ │ │ │ FAQ / 文档 │ │ 源代码 │ │ 网络文章 │ │ ... │ │ │ │ 历史问答 │ │ 配置文件 │ │ 技术论坛 │ │ │ │ │ │ 团队笔记 │ │ 日志 │ │ │ │ │ │ │ └──────────────┘ └─────────────┘ └───────────────┘ └────────┘ │ │ │ │ │ │ │ │ └─────────────────┴─────────────────┴──────────────┘ │ │ │ │ │ ▼ │ │ ┌────────────────────────┐ │ │ │ 聚合排序 │ │ │ │ → 注入 Prompt │ │ │ └────────────────────────┘ │ │ │ └────────────────────────────────────────────────────────────────────────┘核心能力统一检索接口SearchProviderSPI支持可插拔数据源演示 Provider内置知识库、项目、Web 的 Mock 实现仅供演示和测试自定义扩展通过实现SearchProvider接口接入任意数据源数据库、向量库、API结果聚合支持可配置的排序策略业务价值接入企业知识库提供准确答案、支持答案溯源、降低人工客服压力配置示例spring:ai:alibaba:codeact:extension:search:enabled:trueknowledge-search-enabled:true# 知识库默认 Mock 实现project-search-enabled:false# 项目代码默认 Mock 实现web-search-enabled:false# Web 搜索默认 Mock 实现default-top-k:5search-timeout-ms:5000 以上搜索功能默认提供 Mock 实现供演示测试。生产环境需实现SearchProviderSPI 接入实际数据源。 致谢Spring AISpring AI AlibabaGraalVM联系方式搜索加入钉钉群130240015687扫码加入微信群如二维码过期请加钉钉群