LangChain4j-针对性操作Function-call+系统预设角色

如果我们想要对一些敏感信息进行针对化的操作,不仅仅是接口大模型去进行回复。
比如我们现在数据库里面有一些菜品,那么用户提问,店里有多少套餐,那么云端大模型肯定是不知道的,我们希望捕获这些关键字然后进行自己的业务查询或者处理,这个时候就可以使用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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值