函数调用
概述
大模型中的函数调用又称function call
。函数调用指的是用户通过描述函数和目标任务,让大模型尝试去调用某个函数。
需要注意的是,大模型本身没有能力自行执行函数,大模型根据用户输入和函数定义,向你提供:是否需要调用、调用什么函数、函数参数。得到这些信息后,客户端再自行执行函数,再把执行结果给到大模型,进行下一轮的任务。
一些框架比如 LangGraph、LlamaIndex 可以简化这一过程。GiteeAI 提供了开箱即用的大模型函数调用能力,下文将讲述如何使用。
提示
“function call” 与 “tool call” 是类似概念,“tool call” 是升级版,已替代 “function call”。工具列表需要传入 tools。
案例一:让AI知道今天的天气,直接解析函数调用结果
本案例的方法为最直接的方法,用于理解 function call 流程和原理。结合Langchain的更简便的方法实现参考案例二。
步骤一:组合tools参数
首先组合tools参数,下面向大模型描述了一个名为get_current_weather
的函数,函数传入参数为city,x,y,函数能力是通过城市名和经纬度获取地点的天气情况:
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "