agentscope笔记 todo

发布时间:2026/9/22 2:18:24
agentscope笔记 todo 文章目录maven依赖示例1AgentScopeConfig配置AgentScopeController类示例2WeatherTools类报错报错 java.lang.NoClassDefFoundError: com/networknt/schema/SpecificationVersion注agentscope2.x和1.x改动极大一定先弄清版本再说什么问题。版本spring-boot # 3.3.5langchain4j # 0.34.0langgraph4j # 1.8.17agentscope # 2.0.0-RC2maven依赖属性agentscope.version2.0.0-RC2/agentscope.version!-- AgentScope 核心模块 --dependencygroupIdio.agentscope/groupIdartifactIdagentscope-core/artifactIdversion${agentscope.version}/version/dependency示例1AgentScopeConfig配置直接在controller或service写也能用就是代码丑些写成配置便于复用chatModel。importio.agentscope.core.model.OpenAIChatModel;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;ConfigurationpublicclassAgentScopeConfig{// 直接复用您现有的配置项无需在 yml 中重复配置Value(${langchain4j.open-ai.chat-model.api-key})privateStringapiKey;Value(${langchain4j.open-ai.chat-model.base-url})privateStringbaseUrl;Value(${langchain4j.open-ai.chat-model.model-name})privateStringmodelName;BeanpublicOpenAIChatModelagentScopeChatModel(){returnOpenAIChatModel.builder().apiKey(apiKey).baseUrl(baseUrl).modelName(modelName).stream(true)// AgentScope 默认推荐开启流式体验更好.build();}}AgentScopeController类importio.agentscope.core.ReActAgent;importio.agentscope.core.model.OpenAIChatModel;importio.agentscope.core.message.Msg;// 引入消息类importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;RestControllerRequestMapping(/api)publicclassAgentScopeController{// 直接注入 Spring 容器中配置好的模型AutowiredprivateOpenAIChatModelagentScopeChatModel;GetMapping(/agentscope/chat)publicStringchat(RequestParamStringmessage){// 1. 构建 ReAct 智能体直接传入注入的模型ReActAgentagentReActAgent.builder().name(StudentAgent).sysPrompt(你是一个乐于助人的AI助手请用简短的中文回答。).model(agentScopeChatModel).build();// 2. 将字符串封装为 AgentScope 的 Msg 对象MsguserMsgMsg.builder().textContent(message).build();// 3. 调用 call() 方法使用 .block() 阻塞等待获取最终结果Msgresponseagent.call(userMsg).block();// 4. 提取并返回纯文本内容returnresponse!null?response.getTextContent():未获取到回复;}}示例2WeatherTools类importio.agentscope.core.tool.Tool;importio.agentscope.core.tool.ToolParam;publicclassWeatherTools{Tool(description查询指定城市的当前天气)publicStringgetWeather(ToolParam(namecity,description城市名称)Stringcity){return城市 city 当前天气晴朗24℃;}}报错报错 java.lang.NoClassDefFoundError: com/networknt/schema/SpecificationVersion原因AgentScope 的依赖AgentScope 内部使用了 com.networknt:json-schema-validator 来校验工具参数。版本不匹配json-schema-validator 的某些新版本如 3.0.1开始使用 tools.jacksonFasterXML Jackson 的一个分支或新版本而您的 Spring Boot 项目使用的是标准的 com.fasterxml.jackson。类路径污染当两个库同时存在时类加载器会混乱导致 tools.jackson 找不到它期望的类结构。解决方案(最终未解决)1、属性json-schema-validator.version1.0.87/json-schema-validator.version显示依赖dependencygroupIdcom.networknt/groupIdartifactIdjson-schema-validator/artifactIdversion${json-schema-validator.version}/version/dependencymanagement里面也显式依赖dependencygroupIdcom.networknt/groupIdartifactIdjson-schema-validator/artifactIdversion${json-schema-validator.version}/version/dependency2、update project3、删除maven仓库下的2.0版本4、clean并package实测还是不行直接升2.0了。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询