Java-LangChain4j-Tools篇

Java-LangChain4j-RAG篇 看这里!

Java-LangChain4j-基本使用篇 看这里!

Tools

tools 是 AI 可调用的外部功能模块

本文讲解的Tools即让大模型可以自己调用我们定义的API

例如我们定义好mapper并关联上mysql数据库

在调用大模型时我们指定系统设定(请求参数中的system),让大模型知道什么时候该调用什么方法

再将这些方法通过下面的步骤交给大模型管理即可

步骤:

  1. 准备工具方法

    定义需要让大模型调用的相关方法

    @Component
    public class AiUserTool {
    
        @Autowired
        private userService userService;    //封装了用户相关的操作数据库的方法
    
        //定义工具方法:
        //工具方法一:添加用户信息、
        @Tool("新增用户服务")
        public void adddUser(
                @P("用户名称") String name,
                @P("用户年龄") String age,
                @P("用户性别") String sex
        ){
            User user = new User(null,name,age,sex);
            userService.addUser(user);
        }
    
        //工具方法二:查询用户信息
        @Tool("根据用户名查询用户完整信息")
        public User findUser(@P("用户名称") String name){
            return userService.findUserByName(name);
        }
    }
    
  2. 配置工具方法

    将上面的定义的方法和之前的向量池、对话模型的配置一样,挂载到AiServices中

    @AiService(
            wiringMode = AiServiceWiringMode.EXPLICIT,  //手动装配
            chatModel = "openAiChatModel",	//配置对话模型
            streamingChatModel = "openAiStreamingChatModel",	//配置流式对话模型
    //        chatMemory = "chatMemory"   //配置会话记忆对象
            chatMemoryProvider = "chatMemoryProvider",   //配置会话记忆对象提供者
            contentRetriever = "contentRetriever",   //配置向量数据库检索对象
            tools = "aiUserTool"	//配置我们刚刚自定义的tools
    )
    

MCP

MCP 即 Model Context Protocol,是一个由 Anthropic 于 2024 年推出的开放协议。它为应用程序向大语言模型(LLM)提供上下文的方式进行了标准化

MCP 为 tools 的调用提供了统一的标准和规范,使得大模型能够按照一定的规则去调用 tools,而 tools 则是在 MCP 的框架下,为大模型提供具体的能力支持

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐