O SDK de chamada de função de borda da IA (SDK FC) é uma biblioteca que permite que os desenvolvedores
usem a chamada de função com LLMs no dispositivo. A chamada de função permite conectar
modelos a ferramentas e APIs externas, permitindo que os modelos chamem funções específicas
com os parâmetros necessários para executar ações reais.
Em vez de gerar apenas texto, um LLM que usa o SDK do FC pode gerar uma
chamada estruturada para uma função que executa uma ação, como pesquisar
informações atualizadas, definir alarmes ou fazer reservas.
O SDK do FC de IA de borda está disponível para Android e pode ser executado totalmente no dispositivo
com a API de inferência de LLM. Comece a usar o SDK seguindo o guia
do Android, que orienta você em uma implementação básica de um app
de exemplo usando a chamada de função.
Pipeline de chamada de função
A configuração de um LLM no dispositivo com recursos de chamada de função requer as
seguintes etapas principais:
Definir declarações de função: a estrutura e os parâmetros das
funções que a LLM pode chamar precisam ser definidos no código do aplicativo.
Isso inclui especificar nomes, parâmetros e tipos de função.
Formatar comandos e saídas: o texto de entrada e de saída pode conter linguagem
natural e chamadas de função. Um formatador controla como as estruturas de dados são
convertidas de e para strings, permitindo que o LLM formate as
informações de maneira adequada.
Analisar saídas: um analisador detecta se a resposta gerada contém uma
chamada de função e a analisa em um tipo de dados estruturado para que o
aplicativo possa executar a chamada de função.
Examinar respostas: se o analisador detectar uma chamada de função, o
aplicativo vai chamar a função com os parâmetros e o tipo de dados estruturados
adequados. Caso contrário, ele retorna o texto do idioma natural.
Principais componentes
O SDK do FC contém os seguintes componentes principais:
Back-end de inferência: uma interface para executar inferências em um modelo de IA
generativa. O SDK do FC usa a API de inferência do LLM para executar inferências em modelos do LiteRT
(TFLite). A API usa a interface
InferenceBackend.
Formatador de comando: uma interface para formatar solicitações e respostas para
e do modelo de IA generativa. O SDK do FC fornece um formatador que
converte declarações de função no formato específico do modelo exigido pelo
LLM e as insere no comando do sistema. O formatador também processa
tokens específicos do modelo para indicar as jogadas do usuário e do modelo. A API usa a interface
ModelFormatter.
Parâmetro de saída: o SDK do FC fornece um analisador que detecta se a saída do modelo
representa uma chamada de função e a analisa em uma estrutura de dados para
uso pelo aplicativo. A API usa a interface
ModelFormatter.
Decodificação restrita: uma interface para criar e gerenciar restrições
e garantir que a saída gerada siga regras ou condições específicas.
Para modelos com suporte, o SDK do FC vai configurar o back-end de inferência para usar
a decodificação restrita, que garante que o modelo só gere nomes e parâmetros de função
válidos. A API usa a interface
ConstraintProvider.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]