前言
本文介绍了 Function Call(函数调用)的概念、功能及在 Dify 中的实际应用。Function Call 由 OpenAI 于 2023 年 6 月提出,使大语言模型能够集成外部功能或 API,解决信息实时性、数据局限性和功能扩展性问题。其工作原理是模型仅返回函数参数,由开发者实际调用函数。在 Dify 中,模型通过阅读插件描述决定是否调用插件。文章还展示了 Dify 插件生态及使用自带工具(如获取当前时间)创建应用的完整流程与测试效果。
一、什么是Function Call
2023年6月13日 OpenAI 公布了 Function Call(函数调用)功能,该功能指的是在语言模型中集成外部功能或 API 的调用能力,这意味着模型可以在生成文本的过程中调用外部函数或服务,获取额外的数据或执行特定的任务。
二、Function Call 功能
信息实时性:大模型训练的数据无法包含最新的信息,如最新的新闻、实时股价等。通过 Function Call,模型可以实时获取最新数据,提供更加时效的服务。 数据局限性:模型训练数据虽多但有限,无法覆盖所有领域,如医学、法律等领域的专业咨询,Function Call 允许模型调用外部数据库或API,获取特定领域的详细信息。 功能扩展性:大模型虽然功能强大,但不可能内置所有可能需要的功能,可以轻松扩展模型能力,如调用外部工具进行复杂计算、数据分析等。
三、Function Call 工作原理
当有函数调用(Function Call)时候,我们调用 GPT 构建 AI 应用的模式非常简单。
注意:大模型的 Function Call 不会调用函数,仅返回函数的参数,开发者利用模型输出的参数在应用中调用函数。
四、Dify中如何应用 Function Call

核心机制不变:模型通过阅读【插件描述】来决定是否调用该插件!
五、Dify插件生态一览

六、Dify现有插件应用
基于现有插件,帮我获取当前时间
3.1 Dify自带已有工具

3.2 创建空白应用

填写信息,创建应用
3.3 时间工具应用
添加时间工具
3.4 测试效果

夜雨聆风