这个配置类AgentscopeA2aNacosAutoConfiguration
里面调用a2aNacosProperties.getNacosProperties()导致我需要配置两遍nacos的信息
private AiService a2aService( AgentScopeNacosProperties nacosProperties, AgentScopeA2aNacosProperties a2aNacosProperties) throws NacosException { Properties nacosClientProperties = nacosProperties.getNacosProperties(); // 用于getNacosProperties方法里面会设置默认值,调用putAll方法后会把nacosProperties里面的SERVER_ADDR和NAMESPACE配置覆盖掉 nacosClientProperties.putAll(a2aNacosProperties.getNacosProperties()); return AiFactory.createAiService(nacosClientProperties); }
public Properties getNacosProperties() { Properties result = getExplicitNacosProperties(); result.putIfAbsent(PropertyKeyConst.SERVER_ADDR, DEFAULT_ADDRESS); result.putIfAbsent(PropertyKeyConst.NAMESPACE, DEFAULT_NAMESPACE); return result; }
agentscope: nacos: prompt: enabled: true sys-prompt-key: ceair-ai-master-sys-prompt version: 1.0 label: latest server-addr: ${NACOS_ADDRESS} namespace: ${NACOS_NAMESPACE} username: ${NACOS_USERNAME} password: ${NACOS_PASSWORD} properties: logAllProperties: true a2a: server: enabled: true card: name: test-agent description: 测试智能体。 nacos: server-addr: ${NACOS_ADDRESS} namespace: ${NACOS_NAMESPACE}
解决方案:参考AgentscopeNacosPromptAutoConfiguration将调用.getNacosProperties()方法替换成getExplicitNacosProperties()方法。
public AiService agentscopePromptAiService( AgentScopeNacosProperties nacosProperties, AgentScopeNacosPromptProperties promptNacosProperties) throws NacosException { Properties result = nacosProperties.getNacosProperties(); result.putAll(promptNacosProperties.getExplicitNacosProperties()); return AiFactory.createAiService(result); }
这个配置类AgentscopeA2aNacosAutoConfiguration
里面调用a2aNacosProperties.getNacosProperties()导致我需要配置两遍nacos的信息
private AiService a2aService( AgentScopeNacosProperties nacosProperties, AgentScopeA2aNacosProperties a2aNacosProperties) throws NacosException { Properties nacosClientProperties = nacosProperties.getNacosProperties(); // 用于getNacosProperties方法里面会设置默认值,调用putAll方法后会把nacosProperties里面的SERVER_ADDR和NAMESPACE配置覆盖掉 nacosClientProperties.putAll(a2aNacosProperties.getNacosProperties()); return AiFactory.createAiService(nacosClientProperties); }public Properties getNacosProperties() { Properties result = getExplicitNacosProperties(); result.putIfAbsent(PropertyKeyConst.SERVER_ADDR, DEFAULT_ADDRESS); result.putIfAbsent(PropertyKeyConst.NAMESPACE, DEFAULT_NAMESPACE); return result; }agentscope: nacos: prompt: enabled: true sys-prompt-key: ceair-ai-master-sys-prompt version: 1.0 label: latest server-addr: ${NACOS_ADDRESS} namespace: ${NACOS_NAMESPACE} username: ${NACOS_USERNAME} password: ${NACOS_PASSWORD} properties: logAllProperties: true a2a: server: enabled: true card: name: test-agent description: 测试智能体。 nacos: server-addr: ${NACOS_ADDRESS} namespace: ${NACOS_NAMESPACE}解决方案:参考AgentscopeNacosPromptAutoConfiguration将调用.getNacosProperties()方法替换成getExplicitNacosProperties()方法。
public AiService agentscopePromptAiService( AgentScopeNacosProperties nacosProperties, AgentScopeNacosPromptProperties promptNacosProperties) throws NacosException { Properties result = nacosProperties.getNacosProperties(); result.putAll(promptNacosProperties.getExplicitNacosProperties()); return AiFactory.createAiService(result); }