Python é uma das linguagens de programação mais populares e versáteis atualmente disponíveis. Além disso, existem várias bibliotecas e APIs úteis para desenvolvedores Python, incluindo a API do ChatGPT. Esta API permite que os desenvolvedores integrem facilmente o modelo de linguagem natural treinado do GPT-3 em seus próprios programas.
Neste artigo, vamos dar um passo a passo para criar um programa Python que usa a API do ChatGPT para enviar perguntas e receber respostas. O programa terá dois argumentos de linha de comando: o primeiro é um arquivo texto com o conteúdo da pergunta, e o segundo é o nome do arquivo que será criado com a resposta.
Antes de começar, você precisará se inscrever no serviço do OpenAI e obter suas credenciais de API. Você pode se inscrever no site do OpenAI em https://beta.openai.com/signup/. Uma vez inscrito, você pode acessar suas credenciais de API em https://beta.openai.com/account/api-keys.
Passo 1: Instale a biblioteca openai
Para usar a API do ChatGPT, você precisará da biblioteca openai. Você pode instalá-la usando o pip, o gerenciador de pacotes padrão do Python, executando o seguinte comando:
pip install openai
Passo 2: Autentique-se com a API do OpenAI
Antes de poder usar a API do ChatGPT, você precisará autenticar seu programa com as credenciais de API do OpenAI que você obteve anteriormente. Para fazer isso, adicione o seguinte código ao seu programa:
import openai_secret_manager assert "openai" in openai_secret_manager.get_services() secrets = openai_secret_manager.get_secret("openai") print(secrets)
Este código usa o gerenciador de segredos do OpenAI para recuperar suas credenciais de API e exibi-las no console. Certifique-se de que suas credenciais são exibidas corretamente antes de continuar.
Passo 3: Envie uma pergunta para a API do ChatGPT
Agora que você está autenticado, pode enviar uma pergunta para a API do ChatGPT. Para fazer isso, adicione o seguinte código ao seu programa:
import openai openai.api_key = secrets["api_key"] def generate_answer(prompt): response = openai.Completion.create( engine="text-davinci-002", prompt=prompt, max_tokens=1024, n=1, stop=None, temperature=0.5, ) answer = response.choices[0].text return answer.strip()
Este código define uma função generate_answer
que recebe uma pergunta como entrada e retorna uma resposta gerada pela API do ChatGPT. A função usa o método openai.Completion.create
para enviar a pergunta para a API e receber uma resposta.
O parâmetro engine
especifica qual modelo de linguagem natural deve ser usado. Neste caso, usamos o modelo text-davinci-002
, que é o modelo mais avançado disponível atualmente na API do ChatGPT.
O parâmetro prompt
especifica a pergunta que será enviada para o modelo. O parâmetro max_tokens
especifica o número máximo de tokens (palavras e pontuação) que o modelo deve gerar.
O parâmetro n
especifica quantas respostas diferentes o modelo deve gerar. Neste caso, usamos o valor 1 para obter apenas uma resposta.
O parâmetro stop
especifica uma lista de tokens que, quando encontrados pelo modelo, indicam que a resposta deve ser concluída. Neste caso, deixamos o valor como None
para permitir que o modelo gere a resposta completa.
O parâmetro temperature
controla a criatividade do modelo. Valores mais altos resultarão em respostas mais criativas, mas menos precisas.
Passo 4: Leia a pergunta do arquivo de entrada
Agora que você tem uma função que pode gerar respostas, precisa ler a pergunta do arquivo de entrada. Para fazer isso, adicione o seguinte código ao seu programa:
import sys def read_question(filename): with open(filename, "r") as file: question = file.read() return question.strip() if __name__ == '__main__': if len(sys.argv) != 3: print("Usage: python chatgpt.py <input_file> <output_file>") sys.exit(1) input_file = sys.argv[1] output_file = sys.argv[2] question = read_question(input_file) answer = generate_answer(question) with open(output_file, "w") as file: file.write(answer) print(f"Answer saved to {output_file}")
Este código define uma função read_question
que lê a pergunta do arquivo de entrada e a retorna como uma string. A função sys.argv
é usada para obter os argumentos de linha de comando que foram passados ao programa.
Se o número de argumentos for diferente de 3, o programa exibe uma mensagem de uso e sai com código de erro 1.
O código lê a pergunta do arquivo de entrada e gera uma resposta usando a função generate_answer
. Em seguida, grava a resposta no arquivo de saída especificado e exibe uma mensagem informando que a resposta foi salva com sucesso.
Passo 5: Execute o programa
Agora que você escreveu todo o código, pode executar o programa. Para fazer isso, abra o terminal e navegue até o diretório onde o programa está armazenado. Em seguida, execute o seguinte comando:
python chatgpt.py pergunta.txt resposta.txt
Substitua pergunta.txt
pelo nome do arquivo que contém a pergunta e resposta.txt
pelo nome do arquivo que deseja criar com a resposta. Certifique-se de que o arquivo de pergunta exista no diretório atual.
O programa lerá a pergunta do arquivo de entrada, enviará a pergunta para a API do ChatGPT, receberá uma resposta e gravará a resposta no arquivo de saída especificado.
Conclusão
Neste artigo, mostramos como criar um programa Python que usa a API do ChatGPT para enviar perguntas e receber respostas. O programa tem dois argumentos de linha de comando: o primeiro é um arquivo texto com o conteúdo da pergunta e o segundo é o nome do arquivo que será criado com a resposta.
Ao seguir os passos descritos neste artigo, você pode criar seu próprio programa que usa a API do ChatGPT para gerar respostas a perguntas. Com um pouco de ajuste, você também
pode personalizar o programa para atender às suas necessidades específicas, como modificar o código para suportar diferentes tipos de arquivos de saída ou para permitir que o usuário especifique a temperatura do modelo como um argumento de linha de comando.
Lembre-se de que a API do ChatGPT é uma ferramenta poderosa para gerar respostas a perguntas, mas também tem limitações. Os modelos de linguagem não têm conhecimento do mundo real e podem gerar respostas que não são precisas ou relevantes para a pergunta. Portanto, é importante avaliar criticamente as respostas geradas e usá-las apenas como uma orientação para explorar um tópico ou gerar ideias.
Espero que este artigo tenha sido útil para você criar seu próprio programa Python que usa a API do ChatGPT para gerar respostas a perguntas. Se você tiver alguma dúvida ou precisar de ajuda, sinta-se à vontade para consultar a documentação da API do ChatGPT ou entrar em contato com a equipe de suporte da OpenAI.