El SDK de llamadas a funciones de AI Edge (SDK de FC) es una biblioteca que permite a los desarrolladores usar llamadas a funciones con LLMs integrados en el dispositivo. La llamada a funciones te permite conectar modelos a herramientas y APIs externas, lo que permite que los modelos llamen a funciones específicas con los parámetros necesarios para ejecutar acciones en el mundo real.
En lugar de solo generar texto, un LLM que usa el SDK de FC puede generar una llamada estructurada a una función que ejecuta una acción, como buscar información actualizada, configurar alarmas o hacer reservaciones.
El SDK de FC de AI Edge está disponible para Android y se puede ejecutar completamente en el dispositivo con la API de LLM Inference. Para comenzar a usar el SDK, sigue la guía de Android, que te explica cómo implementar de forma básica una aplicación de ejemplo con llamadas a funciones.
Canalización de llamadas a funciones
Configurar un LLM en el dispositivo con capacidades de llamadas a funciones requiere los siguientes pasos clave:
- Define declaraciones de funciones: La estructura y los parámetros de las funciones que puede llamar el LLM deben definirse en el código de la aplicación. Esto incluye especificar nombres, parámetros y tipos de funciones.
- Formato de instrucciones y resultados: El texto de entrada y salida puede contener lenguaje natural y llamadas a funciones. Un formateador controla cómo se convierten las estructuras de datos en cadenas y viceversa, lo que permite que el LLM formatee la información de manera adecuada.
- Analiza los resultados: Un analizador detecta si la respuesta generada contiene una llamada a función y la analiza en un tipo de datos estructurado para que la aplicación pueda ejecutar la llamada a función.
- Examinar respuestas: Si el analizador detecta una llamada a función, la aplicación llama a la función con los parámetros adecuados y el tipo de datos estructurados. De lo contrario, devuelve texto en lenguaje natural.
Componentes clave
El SDK de FC contiene los siguientes componentes clave:
- Backend de inferencia: Es una interfaz para ejecutar la inferencia en un modelo de IA generativa. El SDK de FC usa la API de LLM Inference para ejecutar la inferencia en modelos de LiteRT (TFLite). La API usa la interfaz InferenceBackend.
- Prompt Formatter: Es una interfaz para dar formato a las solicitudes y respuestas hacia y desde el modelo de IA generativa. El SDK de FC proporciona un formateador que convierte las declaraciones de funciones en el formato específico del modelo que requiere el LLM y las inserta en la instrucción del sistema. El formateador también controla los tokens específicos del modelo para indicar los turnos del usuario y del modelo. La API usa la interfaz ModelFormatter.
- Analizador de resultados: El SDK de FC proporciona un analizador que detecta si el resultado del modelo representa una llamada a una función y la analiza en una estructura de datos para que la use la aplicación. La API usa la interfaz ModelFormatter.
- Decodificación restringida: Es una interfaz para crear y administrar restricciones que garantizan que el resultado generado cumpla con reglas o condiciones específicas. En el caso de los modelos compatibles, el SDK de FC configurará el backend de inferencia para que use la decodificación restringida, lo que garantiza que el modelo solo genere nombres y parámetros de funciones válidos. La API usa la interfaz ConstraintProvider.