Criando um programa python para usar a API do ChatGPT

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.