Java-LangChain4j-Tools篇
·
Java-LangChain4j-Tools篇
Tools
tools 是 AI 可调用的外部功能模块
本文讲解的Tools即让大模型可以自己调用我们定义的API
例如我们定义好mapper并关联上mysql数据库
在调用大模型时我们指定系统设定(请求参数中的system),让大模型知道什么时候该调用什么方法
再将这些方法通过下面的步骤交给大模型管理即可
步骤:
-
准备工具方法
定义需要让大模型调用的相关方法
@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); } } -
配置工具方法
将上面的定义的方法和之前的向量池、对话模型的配置一样,挂载到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 的框架下,为大模型提供具体的能力支持
更多推荐


所有评论(0)