AI 边缘函数调用 SDK (FC SDK) 是一个库,可让开发者将函数调用与设备端 LLM 搭配使用。借助函数调用,您可以将模型连接到外部工具和 API,从而使模型能够调用具有必要参数的特定函数来执行实际操作。
使用 FC SDK 的 LLM 不仅可以生成文本,还可以生成对执行操作的函数的结构化调用,例如搜索最新信息、设置闹钟或预订。
AI Edge FC SDK 适用于 Android,可完全在设备上通过 LLM 推理 API 运行。按照 Android 指南开始使用 SDK,该指南将引导您完成使用函数调用的示例应用的基本实现。
函数调用流水线
设置具备函数调用功能的设备端 LLM 需要执行以下关键步骤:
- 定义函数声明:必须在应用代码中定义 LLM 可以调用的函数的结构和参数。这包括指定函数名称、参数和类型。
- 格式化提示和输出:输入和输出文本可以包含自然语言和函数调用。格式化程序可控制数据结构与字符串之间的转换方式,使 LLM 能够以适当的格式呈现信息。
- 解析输出:解析器会检测生成的响应是否包含函数调用,并将其解析为结构化数据类型,以便应用可以执行函数调用。
- 检查回答:如果解析器检测到函数调用,应用会使用适当的参数和结构化数据类型来调用该函数。否则,返回自然语言文本。
关键组件
FC SDK 包含以下关键组件:
- 推理后端:用于在生成式 AI 模型上运行推理的接口。FC SDK 使用 LLM 推理 API 对 LiteRT (TFLite) 模型执行推理。该 API 使用 InferenceBackend 接口。
- 提示格式化程序:用于格式化与生成式 AI 模型之间往来的请求和响应的界面。FC SDK 提供了一个格式化程序,用于将函数声明转换为 LLM 所需的特定于模型的格式,并将其插入到系统提示中。格式化程序还会处理特定于模型的令牌,以指示用户和模型的对话轮次。该 API 使用 ModelFormatter 接口。
- 输出解析器:FC SDK 提供了一个解析器,用于检测模型的输出是否表示函数调用,并将其解析为供应用使用的数据结构。该 API 使用 ModelFormatter 接口。
- 受限解码:用于创建和管理限制条件的接口,以确保生成的输出符合特定规则或条件。对于受支持的模型,FC SDK 将配置推理后端以使用受限解码,从而确保模型仅输出有效的函数名称和参数。该 API 使用 ConstraintProvider 接口。