更新时间:2024-08-29 GMT+08:00
分享

实例化Agent

  • Agent实例化过程包括注册LLM和注册工具两个部分。
    import com.huaweicloud.pangu.dev.sdk.agent.ReactPanguAgent;
    import com.huaweicloud.pangu.dev.sdk.api.llms.LLMs;
    
    public static void initAgent() {
        LLM llm = LLMs.of(LLMs.PANGU,
            LLMConfig.builder()
                .llmParamConfig(LLMParamConfig.builder().temperature(0.01).build())
                .llmModuleConfig(
                    LLMModuleConfig.builder().systemPrompt("今天的日期为2024.7.30").moduleVersion("N2_agent_v2").build())
                .build());
        Agent panguAgent = new ReactPanguAgent(llm);
    
        agent.setMaxIterations(5);
        agent.addTool(new ReverseTool());
        agent.addTool(new AddTool());
        agent.addTool(new SearchTool());
    }
  • 静态工具和动态工具的注册方式相同,通过addTool接口进行注册。
  • 通过setMaxIterations可以设置最大迭代次数,控制Agent子规划的最大迭代步数,防止无限制的迭代或出现死循环情况。
  • Agent使用的模型必须为Pangu-NLP-N2-Default模型,或其衍生模型,使用通用模型或其他模型无法运行。当前的moduleVersion需要配置为“N2_agent_v2”,如上例所示,因此模型的url要配置为Pangu-NLP-N2-Default模型的地址。
  • 支持注册开源模型,开源模型的定义可参考开源模型
    final LLM llm = LLMs.of(LLMs.OPENAI,
        LLMConfig.builder()
            .llmParamConfig(LLMParamConfig.builder().temperature(0.0).build())
            .llmModuleConfig(
                LLMModuleConfig.builder().systemPrompt("今天的日期为2024.7.30").moduleVersion("expert_q4").build())
            .build());
    Agent agent = new ReactAgent(llm);

相关文档