如果我们想要对一些敏感信息进行针对化的操作,不仅仅是接口大模型去进行回复。
比如我们现在数据库里面有一些菜品,那么用户提问,店里有多少套餐,那么云端大模型肯定是不知道的,我们希望捕获这些关键字然后进行自己的业务查询或者处理,这个时候就可以使用function-call
- 注意: qwq-32b,deepseek不支持(deepseek-v3支持)
使用流程:
- 问大模型:店铺有多少套餐
- 大模型识别出问题,提取倒关键字“xx”店铺,“套餐”
- 大模型就会调用写好的方法
- 将方法的结果,并结合上下文请求搭建模型
- 大模型响应
编写一工具类
服务类是基于 langchain4j 框架实现的工具调用服务
- 通过 @Service 注解被 Spring 容器管理
- 使用 @Tool 注解标记可被 AI 调用的方法,AI 会根据工具描述决定何时调用这些方法
- @P(“地区”) 和 @P(“姓名”) 用于标注方法参数的语义,帮助 AI 理解需要提取的信息(如用户输入中的地区和姓名)
package com.yd.langchain4j_springboot.service;
import dev.langchain4j.agent.tool.P;
import dev.langchain4j.agent.tool.Tool;
import org.springframework.stereotype.Service;
@Service
public class ToolsService {
// 告诉AI 什么对话才调用这个方法
@Tool("某个地区有多少个名字的")
public Integer changshaNameCount(
@P("地区")
String location,
// 告诉AI 需要提取的信息
@P("姓名")
String name){
// todo...
System.out.println(name);
System.out.println(location);
// 结果
return 10;
}
@Tool("退票")
public String cancelBooking(
@P

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



