AI Edge 函数调用指南

AI Edge Function Calling SDK (FC SDK) 是一个库,可让开发者将函数调用与设备端 LLM 搭配使用。借助函数调用,您可以将模型连接到外部工具和 API,让模型能够使用必要的参数调用特定函数,以执行实际操作。

使用 FC SDK 的 LLM 不仅可以生成文本,还可以生成对执行操作的函数的结构化调用,例如搜索最新信息、设置闹钟或进行预订。

AI Edge FC SDK 适用于 Android,可通过 LLM 推理 API 完全在设备端运行。请按照 Android 指南开始使用该 SDK,该指南将引导您使用函数调用基本实现示例应用。

函数调用流水线

若要设置具有函数调用功能的设备端 LLM,需要完成以下关键步骤:

  1. 定义函数声明:LLM 可以调用的函数的结构和参数必须在应用代码中定义。这包括指定函数名称、参数和类型。
  2. 设置提示和输出格式:输入和输出文本可以包含自然语言和函数调用。格式设置程序用于控制如何将数据结构转换为字符串以及如何将字符串转换为数据结构,以便 LLM 能够以适当的格式显示信息。
  3. 解析输出:解析器会检测生成的响应是否包含函数调用,并将其解析为结构化数据类型,以便应用能够执行函数调用。
  4. 检查响应:如果解析器检测到函数调用,应用会使用适当的参数和结构化数据类型调用该函数。否则,它会返回自然语言文本。

关键组件

FC SDK 包含以下关键组件:

  • 推理后端:用于对生成式 AI 模型运行推理的接口。FC SDK 使用 LLM Inference API 对 LiteRT (TFLite) 模型执行推理。该 API 使用 InferenceBackend 接口。
  • 提示格式设置器:用于设置发送给生成式 AI 模型和从生成式 AI 模型接收的请求和响应的格式的接口。FC SDK 提供了一个格式设置程序,用于将函数声明转换为 LLM 所需的特定于模型的格式,并将其插入系统提示中。格式化程序还会处理特定于模型的令牌,以指示用户和模型的转换。该 API 使用 ModelFormatter 接口。
  • 输出解析器:FC SDK 提供了一个解析器,用于检测模型的输出是否表示函数调用,并将其解析为数据结构以供应用使用。该 API 使用 ModelFormatter 接口。
  • 受限解码:用于创建和管理约束条件的接口,以确保生成的输出符合特定规则或条件。对于受支持的模型,FC SDK 会将推理后端配置为使用受限解码,以确保模型仅输出有效的函数名称和参数。该 API 使用 ConstraintProvider 接口。