El SDK de llamadas a funciones de Vertex AI Edge (SDK de FC) es una biblioteca que permite a los desarrolladores
usar llamadas a función con LLM en el dispositivo. Las llamadas a función te permiten 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 reales.
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 reservas.
El SDK de FC de AI Edge está disponible para Android y se puede ejecutar completamente en el dispositivo con la API de inferencia de LLM. Para comenzar a usar el SDK, sigue la guía de Android, que te guiará por una implementación básica de una aplicación de ejemplo con llamadas a funciones.
Canalización de llamadas a función
La configuración de un LLM integrado en el dispositivo con capacidades de llamada a función requiere los siguientes pasos clave:
Define declaraciones de funciones: La estructura y los parámetros de las funciones a las que puede llamar el LLM se deben definir en el código de tu aplicación.
Esto incluye especificar los nombres, los parámetros y los tipos de las 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 a cadenas y viceversa, lo que permite que el LLM le asigne el formato adecuado a la información.
Analizar 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 y el tipo de datos estructurados adecuados. De lo contrario, muestra texto en lenguaje natural.
Componentes clave
El SDK de FC contiene los siguientes componentes clave:
Backend de inferencia: Es una interfaz para ejecutar inferencias en un modelo de IA generativa. El SDK de FC usa la API de inferencia de LLM para ejecutar inferencias 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 formato 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 salida: El SDK de FC proporciona un analizador que detecta si el resultado del modelo representa una llamada a 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 con el fin de garantizar 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 usar la decodificación restringida, lo que garantiza que el modelo solo genere nombres y parámetros de función válidos. La API usa la interfaz ConstraintProvider.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-05-26 (UTC)"],[],[],null,["# AI Edge Function Calling guide\n\n| **Attention:** The AI Edge Function Calling SDK is under active development.\n\nThe AI Edge Function Calling SDK (FC SDK) is a library that enables developers\nto use function calling with on-device LLMs. Function calling lets you connect\nmodels to external tools and APIs, enabling models to call specific functions\nwith the necessary parameters to execute real-world actions.\n\nRather than just generating text, an LLM using the FC SDK can generate a\nstructured call to a function that executes an action, such as searching for\nup-to-date information, setting alarms, or making reservations.\n\nThe AI Edge FC SDK is available for Android and can be run completely on-device\nwith the LLM Inference API. Start using the SDK by following the [Android\nguide](./android), which walks you through a basic implementation of a sample\napplication using function calling.\n\nFunction calling pipeline\n-------------------------\n\nSetting up an on-device LLM with function calling capabilities requires the\nfollowing key steps:\n\n1. **Define function declarations**: The structure and parameters of the functions that the LLM can call must be defined in your application code. This includes specifying function names, parameters, and types.\n2. **Format prompts and outputs**: Input and output text can contain natural language and function calls. A formatter controls how data structures are converted to and from strings, enabling the LLM to appropriately format information.\n3. **Parse outputs**: A parser detects if the generated response contains a function call and parses it into a structured data type so that the application can execute the function call.\n4. **Examine responses**: If the parser detects a function call, the application calls the function with the appropriate parameters and structured data type. Otherwise, it returns natural language text.\n\nKey components\n--------------\n\nThe FC SDK contains to following key components:\n\n- **Inference Backend** : An interface for running inference on a generative AI model. The FC SDK uses the LLM Inference API to execute inference on LiteRT (TFLite) models. The API uses the [InferenceBackend](https://github.com/google-ai-edge/ai-edge-apis/blob/main/local_agents/function_calling/java/com/google/ai/edge/localagents/fc/InferenceBackend.java) interface.\n- **Prompt Formatter** : An interface for formatting requests and responses to and from the Generative AI model. The FC SDK provides a formatter that converts function declarations into the model-specific format required by the LLM and inserts them into the system prompt. The formatter also handles model-specific tokens to indicate user and model turns. The API uses the [ModelFormatter](https://github.com/google-ai-edge/ai-edge-apis/blob/main/local_agents/function_calling/java/com/google/ai/edge/localagents/fc/ModelFormatter.java) interface.\n- **Output Parser** : The FC SDK provides a parser that detects if the model's output represents a function call and parses it into a data structure for use by the application. The API uses the [ModelFormatter](https://github.com/google-ai-edge/ai-edge-apis/blob/main/local_agents/function_calling/java/com/google/ai/edge/localagents/fc/ModelFormatter.java) interface.\n- **Constrained Decoding** : An interface for creating and managing constraints to ensure that the generated output adheres to specific rules or conditions. For supported models, the FC SDK will configure the inference backend to use constrained decoding, which ensures that the model only outputs valid function names and parameters. The API uses the [ConstraintProvider](https://github.com/google-ai-edge/ai-edge-apis/blob/main/local_agents/function_calling/java/com/google/ai/edge/localagents/fc/ConstraintProvider.java) interface."]]