这里需要先介绍一下Function calling,什么是Function calling? 它提供了可以让我们把大模型和外部数据或系统进行连接的能力
举个具体的例子:我们现在有一些如查询订单等信息的接口,我们可以把这些接口工具及参数等详情信息提供给大模型,这样如果在上下文对话中,它判断出需要需要使用这个接口时,就会返回对应的接口及参数值(注意:大模型只是会判断后返回工具名称和参数,并不会实际进行调用)
我们可以据此在本地进行实际的调用,获取最终结果进行返回;如果大模型函数不需要这个能力,那么就可以以正常自然语言的方式进行对话内容返回
当然,我们也可以通过设置一些参数,强制大模型使用/不使用工具
这个Function calling能力,各个大模型提供的api可能有所差异,需要看各自对应的API,但是langchain帮我们整合了相关的功能,所以本次我们主要看一下通过它来实现