functioncall

在大语言模型(Large Language Model, LLM)中,function call 是一种非常强大的功能,允许模型不仅可以生成自然语言文本,还可以调用特定的函数以执行某些任务。这使得模型能够扩展其功能,通过调用外部 API 或内部函数来完成更复杂的操作。

Function Call 的工作原理

  1. 用户输入:用户提供一个查询或命令,模型会根据输入生成响应。
  2. 识别任务:模型分析用户的输入,识别出需要调用的函数以及相应的参数。
  3. 调用函数:模型调用相应的函数,传递必要的参数。
  4. 返回结果:函数执行后,将结果返回给模型,模型再将结果整合进最终的响应中返回给用户。

实例

假设用户想要获取 GitHub 上某个项目的特定文件内容,用户可以输入如下命令:

1
获取 microsoft/typescript 项目中 README.md 文件的内容

模型会识别到这是一个需要调用 GitHub API 的请求,并生成对应的 function call。

1
2
3
4
5
6
7
8
{
recipient_name: "functions.getfile",
parameters: {
path: "README.md",
ref: "main",
repo: "microsoft/typescript"
}
}

然后,模型会调用 functions.getfile 函数,传入上述参数,获取文件内容并返回给用户。

优点

  • 自动化:用户不需要了解底层 API 的细节,模型会自动处理。
  • 扩展性:通过定义更多的函数,模型可以处理更多类型的任务。
  • 效率:直接调用函数可以提高响应速度和准确性。

示例文件

以下是一个定义函数调用的 TypeScript 文件示例:

name
1
2
3
4
5
6
7
8
9
10
export namespace functions {
// 获取GitHub仓库中特定文件的内容
export type getfile = (_: {
path: string,
ref: string,
repo: string,
}) => any;

// 其他函数定义...
}

通过这种方式,用户可以轻松地通过自然语言与模型进行互动,并完成各种复杂的任务。

1


functioncall
https://abrance.github.io/2025/02/28/mdstorage/domain/ai/functioncall 概念/
Author
xiaoy
Posted on
February 28, 2025
Licensed under