使用Function_call调用大模型相关能力

Function Call其实就是大模型调用工具的能力。

使用Function Call功能时,你需要定义(并不是真的写程序去定义一个函数,而仅仅是用文字来描述一个函数)一些function(需要指定函数名,函数用途的描述,参数名,参数描述),传给LLM,当用户输入一个问题时,LLM通过文本分析是否需要调用某一个function,如果需要调用,那么LLM返回一个json,json包括需要调用的function名,需要输入到function的参数名,以及参数值。总而言之,function call帮我们做了两件事情:1.判断是否要调用某个预定义的函数。2.如果要调用,从用户输入的文本里提取出函数所需要的函数值。

此处以查询天气为例,当我们要查询天气,大模型并不是真的自己计算天气,而是调用天气的api能力【此处一般是查询墨迹天气、气象局等api,我省略写死】

image

当我询问厦门天气时,此处会调用上述“get_current_weather”函数,来获取答案,并拼接成openAPI格式
image

实现的效果就是查询指定天气
image

也可以转换下,查询中盾安信庄磊的信息
image
image
image
对于上述方案,对于大模型探索,可以在固定回答语句,进行查询指定答案返回给客户,例如:查询CRMF指定客户用量,查询人员信息等。

此处用法绝不局限于查询上,换个思路可以用来调用业务功能!例如:
1、大模型触发了function call可以在后台进行相对应的操作,记录用户所操作的记录和信息。
2、大模型触发了function call,可在数据仓库平台进行数据流计算,进行数据挖掘。
还有许多方面的研究。
2、AI-Agent脚手架:QWEN-AGENT
对于上述function call局限于1个回调函数,思考下是否能结合多模型,来进行多模态计算,产生更多有意思的结果。
例如:当我们有画图+理解图像的两个大模型,是否能帮忙解决“生成一张图片,并理解图像时在做什么”
image

以此图片为例:
image

image

AI最终回答:{‘role’: ‘assistant’, ‘content’: ‘这张图片展示了一片宁静的田园风光。画面中,阳光明媚,蓝天白云,地面上是一片翠绿的草地。草地上有几棵树木和一些白色的花朵,远处有两座风车。一条蜿蜒的小路穿过草地,通向远方。整体画面给人一种清新、自然和宁静的感觉,仿佛置身于一个远离尘嚣的世外桃源。’, ‘name’: ‘多模态助手’}

总结:此多模态,定义了一个“可以理解图像内容”,并且以AI的思考方式,来回答图片内容。