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

Auditoria de Logins no SQL Server

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?