深入解析编程语言与大语言模型中的Function Calling核心差异与设计模式
编程语言中有函数调用这一概念;大语言模型中则有 Function Calling 这一机制。编程语言中的函数调用是其编程体系的一部分;大语言模型中的 Function Calling 是其处理和生成语言相关任务的一种方式。编程语言通过函数调用来实现特定的功能;大语言模型利用 Function Calling 来获取外部信息或执行特定的操作。

传统函数调用(编程语言视角):
语法结构:函数名 + 参数列表 → 返回值。
在程序运行的时候,执行环境是由 CPU 直接进行执行的,并且参数是通过栈或者堆来进行传递的。
确定性:输入确定时,输出必然确定(纯函数)。
大语言模型中的Function Calling:
核心差异在于,是由自然语言来驱动的,模型会生成“函数调用请求”,并且这些请求会由外部系统去执行。
模型可能会依据上下文而发生动态的变化,从而决定是否调用函数,以及调用哪一个函数。
示例:
# 传统函数调用
获取“北京”的天气信息,结果为 result
# 大模型中的Function Calling
用户输入:"北京今天天气如何?"
模型输出:
大语言模型如何理解 Function Calling 呢?这涉及到语义细节方面的问题。
语义解析:
参数传递的挑战:
设计模式主要涉及大模型中 Function Calling 的架构设计方面。
核心模式:
策略模式:在编程技巧方面,能够实现高效且可靠的函数调用。
函数注册与发现:
错误处理:
异步调用:
编程的本质是什么?Function Calling 是如何扩展大语言模型的能力的?
突破静态知识的限制:
从生成到执行:
模块化思维:
人工智能的原理是,大模型是如何学习 Function Calling 的呢?
监督学习:
强化学习(RL):
提示工程(Prompt Engineering):
大语言模型的本质是什么?Function Calling 怎样体现出它的局限性呢?
知识依赖 vs 实时交互:
幻觉(Hallucination)问题:
安全与权限控制:
构建一个应用,这个应用要支持 Function Calling,且是 LLM 应用。
场景:用户通过自然语言查询实时天气并建议穿衣。
步骤:
定义函数:
以指定的地点为依据来获取对应的天气信息。
# 调用天气API返回JSON数据
返回的是一个包含两个键值对的字典,其中键"temp"对应的值是 25,键"condition"对应的值是"晴"。
提示词设计:
你是一个天气助手,能够调用 get_weather 函数。依据温度来给出穿衣建议:
- 低于10℃:建议穿羽绒服
- 10-20℃:建议穿夹克
- 高于20℃:建议穿短袖
```
3. **处理流程**:
```python
user_input = "上海今天多少度?"
# 模型生成函数调用请求
生成函数调用的操作是由语言模型(llm)来完成的,具体是生成针对用户输入的函数调用(function_call)。
# 执行函数
获取天气的函数调用中指定的“location”所对应的天气数据,其结果赋值给了 weather_data 。
# 模型整合结果
llm 给出了反馈。
f"天气数据:{weather_data},请生成建议。"
)
输出:上海的天气情况是今天 25℃,天气晴朗,建议穿着短袖。
未来的方向包括 Function Calling 以及 AI Agent 的进化。
自主Agent:
多模态扩展:
自我优化:
总结:Function Calling 怎样对 LLM 的能力边界进行重新定义呢? 总结:Function Calling 是如何重新划定 LLM 的能力边界的? 总结:Function Calling 以何种方式重新界定 LLM 的能力边界?
大语言模型中的 Function Calling,其本质是一座连接符号世界(语言)与物理世界(动作)的桥梁。借助将自然语言转变为结构化函数调用这一方式,模型不但能够“思考”,而且能够“行动”。要实现这一机制,就需要将编程语言设计、软件工程架构、机器学习算法等多个领域的知识进行融合。未来,AI Agent 会不断发展。在这个过程中,Function Calling 将会成为构建通用人工智能的一项核心技术。
大语言模型底层架构丨带你认识Transformer (大语言模型底层逻辑)
以下 设计模式分为创建型模式 结构型模式和行为型模式三种 是结构型设计模式 (以下设计模式中,哪一项不属于结构型模式)
结构型模式和行为型模式三种 以下 是结构型设计模式 设计模式分为创建型模式 (结构型模式和行为型模式的区别)
php中function什么意思,php中的function
java中function讲解,java的function的作用
是结构型设计模式 以下 结构型模式和行为型模式三种 设计模式分为创建型模式 (是结构型设计吗)