Azure OpenAI Function Calling (Tools)

Você conhece o recurso Function Calling do Azure OpenAI?

Seguindo a trilha de artigos sobre Inteligência Artificial, hoje vamos abordar o uso desta ferramenta na construção de aplicações — onde a IA decide e a aplicação executa.

Como funciona o Function Calling na prática

     O recurso facilita e otimiza a forma como as aplicações interagem com dados que não fazem parte do contexto dos modelos, a partir da definição de funções dedicadas. Essas funções podem, por exemplo, ser separadas por tipo de dado, operação, sistema ou níveis mais granulares.

     O conceito principal estabelece que a aplicação deve criar as funções previamente, durante o desenvolvimento das chamadas às APIs dos modelos. Na definição, a aplicação configura o tipo da ferramenta, o nome, a descrição e os parâmetros esperados. O modelo considera essas informações em seu contexto e as utiliza para distinguir e escolher a função mais eficiente para cada solicitação.

Fluxo de execução com tool_calls

     Na prática, a aplicação envia as configurações definidas junto com as instruções (prompts) e a solicitação do usuário. A resposta do modelo para a requisição inicial pode variar conforme a demanda. Quando identifica a necessidade de dados ou ações adicionais para atender à requisição e, além disso, existe uma ferramenta adequada nas Tools, o modelo retorna uma resposta denominada ‘tool_calls’.

     Esse tipo de resposta contém a função solicitada pelo modelo e os parâmetros necessários. Assim como nas demais respostas, a aplicação deve gerenciar o fluxo e os dados fornecidos. Quando identifica uma ‘tool_calls’, a aplicação deve acionar a função, tratar exceções, capturar o resultado e devolver essas informações na próxima requisição. Dessa forma, o modelo consegue determinar a próxima ação desejada. Nesse modo de atuação, a aplicação sempre executa as funções, enquanto a IA apenas solicita a execução.

     A partir dessas operações, o contexto convencional — antes composto por prompts, solicitações dos usuários e respostas do modelo — passa a incluir também a requisição de função com seu respectivo resultado.

     No fluxo da aplicação, podem ser necessárias uma ou mais requisições para a mesma função ou para outras. Isso ocorre quando o modelo identifica que a solicitação foi atendida parcialmente. Dessa forma, a aplicação deve avaliar continuamente os resultados e retornar ao usuário somente quando atingir a condição de parada (stop).

    Na plataforma Azure OpenAI, existem outras Tools além da Function Calling, como a Web Search e a Code Interpreter. Essas ferramentas permitem que os modelos consultem informações na Web e processem códigos em ambientes isolados, respectivamente. Assim como na Function Calling, a aplicação anexa essas ferramentas à requisição inicial da API, permitindo que o modelo compreenda os recursos disponíveis antes de iniciar o tratamento das requisições.

Exemplo prático em Python

     Trazendo os conceitos para a prática, exemplificamos, com o código Python abaixo, a definição de uma função responsável por retornar informações sobre produtos a partir do seu código. Seguindo esse exemplo, é possível incorporar a função em uma aplicação que distribui dinamicamente os dados relacionados aos produtos, de acordo com as solicitações.

Benefícios e aplicações

O uso das ferramentas aplicadas às soluções do Azure OpenAI gera novas possibilidades. Também aumenta a quantidade de operações que um único modelo pode atender. No caso da Function Calling, o próprio desenvolvedor delimita quais serão as funções e comportamentos de cada operação, o que flexibiliza as possibilidades. Nos casos em que o objetivo da função é incluir dados externos no contexto, o recurso permite anexar apenas os dados relevantes, principalmente no momento ideal.

Se você gostaria de compreender os desafios envolvidos com a consulta de dados organizacionais com LLMs, recomendamos a leitura do nosso último artigo: https://cdbdatasolutions.com.br/explorando-dados-com-ia-generativa/.

Esperamos que este material tenha ajudado a entender um pouco mais sobre o uso de funções na requisição de modelos do Azure OpenAI — onde a IA decide e a aplicação executa.

Até a próxima!

Por Luciano Gambato

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Artigos Recentes

Azure OpenAI Function Calling (Tools)

Fale Conosco

Converse com nossos especialistas e descubra como transformar seus dados em informações seguras, disponíveis e acessíveis.

Endereço

Rua Angelo Antonello, 93 – Sala 62, Centro – Farroupilha/RS – CEP: 95170-492

Contato Comercial

Email: [email protected]
Telefone: (54) 3401-1471

Abrir bate-papo
Olá
Podemos ajudar?