函数调用 Function Calling

函数调用 (Function Calling) 是编程中的一个基本概念,指的是在程序执行过程中,通过调用一个已经定义的函数来执行特定的任务。在 LLM 中,它指的是将 LLM 连接到外部工具的能力,以实现有效的工具使用和与外部 API 的交互。

如 GPT-4 和 GPT-3.5 等 LLM 已进行微调,可检测何时需要调用函数,然后输出包含调用该函数的参数的 JSON 。函数调用所调用的函数将充当 AI 应用程序中的工具,使用者可以在单个请求中定义多个函数。

函数调用是构建 LLM 驱动的聊天机器人或代理的重要能力,这些聊天机器人或代理需要检索 LLM 的上下文或通过将自然语言转换为 API 调用来与外部工具交互。

功能调用使开发人员能够创建:

  • 对话代理可以高效地使用外部工具来回答问题。例如,查询 “伯利兹的天气怎么样?” 将转换为函数调用,例如 get_current_weather(location: string, unit: 'celsius' | 'fahrenheit')
  • 用于提取和标记数据的 LLM 解决方案(例如,从维基百科文章中提取人名)
  • 可以帮助将自然语言转换为 API 调用或有效数据库查询的应用程序
  • 与知识库交互的对话知识检索引擎

参考来源

【1】Function Calling with LLMs