大模型多工具动态选择

我们更需要一个能够根据用户提示词,自动选择对应工具的大模型,而不是在一个链里一次只能使用一个工具。这里用代码实现了,在langchian中如何从多个可选工具中,动态的使用工具。

注意事项:大模型生成的工具入参arguments结构可能会不稳定,导致出错。需要通过提示词去强化。比如代码中,我强化了“"arguments"键对应的值应该是所选函数的输入,必须是dict格式”这句提示词,之后就稳定了。

from langchain_core.output_parsers import JsonOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.tools import tool, render_text_description
from langchain_community.chat_models import ChatTongyi
from operator import itemgetter


@tool
def add(first_int: int, second_int: int) -> int:
    """将两个数相加。"""
    return first_int + second_int


@tool
def exponentiate(base: int, exponent: int) -> int:
    """对底数求指数幂"""
    return base ** exponent


@tool
def multiply(first_int: int, second_int:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值