Guia completo para chamar funções com GPT-4 | Novos modelos ChaptGPT | OpenAI
Tabela de Conteúdos
- Introdução
- Chamando uma função com a API
- Exemplo rápido
- Usando a API com Python
- Parâmetros da Chamada de Função
- Escolhendo a função a ser chamada
- Chamando Funções Múltiplas
- Criando o Esquema de Chamada de Função
- Solução de Problemas
- Conclusão
Chamando Funções com a API do GPT
No mundo da programação, existem momentos em que precisamos chamar funções específicas para obter dados estruturados. Com o GPT, podemos fazer isso facilmente através da API de chamada de função. Neste artigo, vou mostrar como usar essa funcionalidade para obter os resultados desejados em suas interações com o GPT.
Introdução
Ao trabalhar com modelos de GPT, é comum receber uma resposta que contém mais do que apenas o resultado desejado. Isso pode ser problemático quando simplesmente queremos os dados estruturados retornados em um formato JSON específico. É aqui que entram os modelos GPT 3.5 turbo 0613 e gpt40613, que são projetados para retornar apenas JSON de maneira confiável.
Chamando uma função com a API
Vamos começar com um exemplo rápido para entender como chamar uma função usando a API do GPT. Digamos que queremos obter informações sobre o clima em uma determinada localização. Podemos usar as funções disponíveis, como 'get current weather', 'get historical weather' ou 'get forecast weather', para fazer isso. Para chamar a função correta com base na mensagem do usuário, passamos a mensagem, as funções disponíveis e algumas metadados extras para a API do 0613. Em resposta, obtemos um JSON consistente que contém a chamada da função recomendada com base na entrada e os parâmetros da chamada.
Usando a API com Python
Se você está familiarizado com Python, pode usar a biblioteca 'OpenAI' para facilitar a chamada de funções com a API do GPT. Primeiro, instale a biblioteca usando o comando 'pip install openai'. Em seguida, obtenha sua chave de API do GPT e configure-a como uma variável de ambiente chamada 'openai_api_key'. Agora, você pode importar a biblioteca 'openai' e começar a usar a API para chamar funções.
import openai
import json
openai.api_key = 'sua_api_key'
def chamar_funcao(mensagem, funcoes):
response = openai.Completion.create(
engine="text-davinci-003",
prompt=mensagem,
max_tokens=100,
n = 1,
stop = None,
temperature = 0,
top_p = 1,
presence_penalty = 0,
frequency_penalty = 0
)
resposta_json = json.loads(response.choices[0].text)
nome_funcao = resposta_json['function_call']['function']
argumentos = resposta_json['function_call']['arguments']
funcao = funcoes[nome_funcao]
resultado = funcao(argumentos)
return resultado
Parâmetros da Chamada de Função
Ao usar a API de chamada de função do GPT, é importante entender os parâmetros envolvidos. Existem três parâmetros principais: nome, descrição e parâmetros. O nome é autoexplicativo e deve ser exclusivo para cada função. A descrição é usada pelo modelo do GPT para determinar qual função chamar com base na entrada. Os parâmetros são opcionalmente incluídos na descrição e são usados para especificar quais argumentos a função espera.
Escolhendo a função a ser chamada
A função a ser chamada pelo modelo do GPT pode ser especificada de três maneiras: 'Auto', 'None' ou um nome de função específico. Se definido como 'Auto', o modelo decidirá qual função chamar com base na entrada e nas funções disponíveis. Se definido como 'None', o modelo não chamará uma função e responderá normalmente ao usuário. Se definido como o nome de uma função específica, o modelo chamará essa função diretamente.
Chamando Funções Múltiplas
Às vezes, é necessário chamar várias funções de uma vez para obter todos os resultados desejados. Isso pode ser feito em uma única solicitação fornecendo uma função fictícia chamada 'multifunc'. Nesse caso, você precisa fornecer as propriedades da função fictícia, que são simplesmente os parâmetros das funções reais que você deseja chamar. O modelo do GPT entenderá que você deseja chamar várias funções com base nas propriedades fornecidas.
Criando o Esquema de Chamada de Função
Se você deseja gerar automaticamente o esquema de chamada de função em formato JSON, pode usar o GPT para isso também. Com o Prompt adequado e o modelo 'text-davinci-003', você pode obter um esquema JSON completo para suas funções. Isso torna o processo de criação e atualização do esquema muito mais fácil e eficiente.
Solução de Problemas
Se você está tendo problemas ao chamar funções com a API do GPT, existem algumas soluções possíveis que você pode tentar. Uma delas é especificar manualmente a função a ser chamada usando o parâmetro 'function_call'. Isso pode ser útil quando o modelo não está chamando a função desejada automaticamente. Outra solução é adicionar uma função fictícia com uma descrição negativa ao seu conjunto de funções. Isso pode ajudar a evitar que o modelo sugira essa função inexistente. Além disso, você pode tentar usar o modelo 'gpt40613' para melhorar os resultados.
Conclusão
A API de chamada de função do GPT é uma ferramenta poderosa que permite chamar funções específicas para obter dados estruturados. Com o conhecimento adequado dos parâmetros e estratégias corretas, você pode aproveitar ao máximo essa funcionalidade. Experimente e veja como você pode melhorar suas interações com o GPT através do uso da API de chamada de função.
Recursos: