Search
Close this search box.
Aprenda Python: acesse o ChatGPT de forma Pythônica
aprendiz artificial

Posts Relacionados:

Nesse post, ensinamos como usar o Python para acessar o ChatGPT e como salvar um arquivo de texto com as respostas obtidas para nossas perguntas.

Receba nossa newsletter

Uma das grandes vantagens de saber programar em Python é poder usá-lo para automatizar várias de nossas atividades cotidianas. Com isso, ganhamos mais tempo e podemos nos dedicar melhor às tarefas que realmente exigem nossa atenção.

Hoje em dia, consultar o ChatGPT virou um passatempo, mas também uma necessidade para muitos. Mas a rotina de consultá-lo demanda tempo e é uma tarefa repetitiva. Logo, por que não automatizá-la? É isso que nós vamos demonstrar como fazer nesse post.

Pré-requisitos

O primeiro passo é instalar a biblioteca openai.

Para instalar com pip, digite no terminal:

				
					pip install openai
				
			

Para quem usa o Python distribuído pelo Anaconda, a instalação com conda é:

				
					conda install -c conda-forge openai
				
			

Também é preciso obter uma Key para acessar a API da openAI. Isso é feito através do site da empresa. Após se conectar no site, selecione a opção API.

 Localize no alto da página a opção API reference e clique nela.

Vá até o tópico “Autentication”, localize o link API keys e gere sua chave.

Python para acessar o ChatGPT

Para usar o ChatGPT através do Python, primeiro é preciso importar a biblioteca. Depois, nós temos que inserir nossa API key. No código abaixo, onde está escrito API_key substitua pela sua chave.

				
					
import openai

openai.api_key = "API_key"

				
			

Também é preciso especificar qual ChatGPT será usado, no exemplo abaixo optamos pela versão 3.5 que é de graça.

				
					
model_engine = "gpt-3.5-turbo" 
				
			

Em seguida, nós definimos a interação com o ChatGPT. É preciso definir o papel e o conteúdo que o ChatGPT irá ter na interação que iremos fazer com ele. No exemplo abaixo, definimos o ChatGPT como um especialista em redes neurais. Também precisamos definir o nosso papel na interação, que é de usuário. O conteúdo de nossa interação será uma pergunta. Nesse caso, a pergunta é “O que é uma rede neural?”.

				
					
response = openai.ChatCompletion.create(
    model=model_engine,
    messages=[{"role": "system", "content": "Você é um especialista em redes neurais com coisas interessantes e tecnológicas para dizer"},
        {"role": "user", "content": "O que é uma rede neural?"},
    ])
				
			

Após definir a interação, é preciso obter a resposta e imprimi-la no terminal.

				
					
message = response.choices[0]['message']
res = f"{message['role']}: {message['content']}"
print(res)
				
			

Salve o arquivo e execute o código. A resposta que obtivemos é mostrada abaixo.

				
					
assistant: Uma rede neural é um modelo computacional inspirado no funcionamento do cérebro humano. É uma tecnologia de inteligência artificial que consiste em uma interconexão de neurônios artificiais, também conhecidos como "nós", para processar informações e tomar decisões.

Uma rede neural é composta por camadas de neurônios, onde cada neurônio está conectado a outros neurônios da camada anterior e posterior. Essas conexões são representadas por pesos, que indicam a importância relativa de cada neurônio na contribuição para a resposta final da rede. Durante o treinamento da rede neural, esses pesos são ajustados para otimizar o desempenho do modelo.

As redes neurais são capazes de aprender padrões complexos a partir de conjuntos de dados e são usadas em uma variedade de aplicações, desde reconhecimento de voz e imagens até previsões de mercado e diagnósticos médicos. Elas são particularmente eficazes quando os problemas são complexos e não possuem uma solução algorítmica clara.
				
			

Criando uma função

Mas é óbvio que não queremos fazer apenas uma pergunta para o ChatGPT. Nosso objetivo é usar esse código para inúmeras interações. Para isso, vamos modificar o que fizemos. Iremos criar uma função que aceita uma pergunta como argumento e retorna a resposta obtida.

Nossa função se chama pergunte_ao_ChatGPT e ela tem como argumentos o contexto do ChatGPT na interação (chat_contexto) e uma pergunta. Dentro da função, nós copiamos o código escrito anteriormente com pequenas mudanças. O papel e conteúdo do chat, bem como nossa pergunta, foram substituídos pelos argumentos da função (linhas em destaque). Além disso, nossa função retorna o resultado obtido ao invés de imprimi-lo diretamente.

				
					
def pergunte_ao_ChatGPT(chat_contexto, pergunta):
    """ função que recebe um contexto e uma pergunta como argumentos para interações com o ChatGPT."""

    response = openai.ChatCompletion.create(
        model=model_engine,
        messages=[{"role": "system", "content": chat_contexto},
            {"role": "user", "content": pergunta},
        ])

    message = response.choices[0]['message']
    res = f"{message['role']}: {message['content']}"

    return res
				
			

Fora da função, nós definimos seus argumentos e sua chamada e imprimimos o resultado obtido.

				
					

chat_contexto = "Você é um especialista em redes neurais com coisas interessantes e tecnológicas para dizer"
pergunta = "O que é uma CNN?"
res = pergunte_ao_ChatGPT(chat_contexto, pergunta)
print(res)
				
			

esse é nosso resultado:

				
					
assistant: CNN (Convolutional Neural Network), conhecida como rede neural convolucional, é um tipo de rede neural artificial projetada especialmente para processar dados com uma estrutura de grade, como uma imagem. Ela é amplamente utilizada em áreas como visão computacional e reconhecimento de padrões.

A principal característica de uma CNN é a capacidade de aprender automaticamente recursos e características relevantes de uma imagem através de um processo de convolução. Essa operação de convolução envolve a aplicação de filtros em diferentes partes da imagem para extrair informações importantes, como bordas, texturas e formas.

Uma CNN é composta por várias camadas diferentes, incluindo camadas de convolução, de pooling (agrupamento), de ativação e, por fim, camadas totalmente conectadas que ajudam na classificação e tomada de decisões.

Graças à sua capacidade de aprendizado hierárquico de recursos, as redes neurais convolucionais têm se mostrado muito eficazes em uma variedade de tarefas, como classificação de objetos, detecção de objetos, segmentação de imagens e até mesmo em geração de imagens. Seu alto desempenho em tarefas especializadas torna a CNN uma ferramenta poderosa na área de visão computacional e em muitas outras aplicações.
				
			

Salvando as resposta num arquivo de texto

Até aqui, nosso código funcionou sem problemas. Mas, uma adição importante que podemos fazer, é salvar a resposta obtida num arquivo de texto para consultá-la posteriormente. Isso é muito fácil de ser feito com o Python. Veja os comandos abaixo. Com eles, nós criamos um arquivo de texto (respostaChatGTP.txt, chame esse arquivo como desejar) e determinamos que o Python escreva a resposta obtida diretamente nele.

				
					
file = open("respostaChatGTP.txt", "w")
file.write(res)
				
			

Pronto, com esse código você já pode acessar o ChatGPT diretamente do Python, fazer quantas perguntas quiser e salvá-las em arquivos de texto. O código completo até aqui é mostrado abaixo.

				
					
import openai

openai.api_key = "API_key"
model_engine = "gpt-3.5-turbo" 

def pergunte_ao_ChatGPT(chat_contexto, pergunta):
    """ função que recebe um contexto e uma pergunta como argumentos para interações com o ChatGPT."""

    response = openai.ChatCompletion.create(
        model=model_engine,
        messages=[{"role": "system", "content": chat_contexto},
            {"role": "user", "content": pergunta},
        ])
    message = response.choices[0]['message']
    res = f"{message['role']}: {message['content']}"

    return res

chat_contexto = "Você é um especialista em redes neurais com coisas interessantes e tecnológicas para dizer"
pergunta = "O que é uma CNN?"
res = pergunte_ao_ChatGPT(chat_contexto, pergunta)

file = open("respostaChatGTP.txt", "w")
file.write(res)
				
			

Fazendo múltiplas perguntas

Para terminar, vamos apenas acrescentar um loop no nosso código para podermos fazer múltiplas perguntar em sequência. Substitua as linhas 19-24 do código acima pelo trecho mostrado abaixo.

Para interagir com o ChatGPT fazendo várias perguntas em sequência, iremos utilizar uma lista. Ela contém todas as perguntas que farêmos. O loop é usado para atualizar automaticamente os argumentos de nossa função através da nossa lista. Veja que o mesmo procedimento poderia ter sido usado para modificar o contexto do ChatGPT.

Por fim, também atualizamos o salvamento dos arquivos com as respostas para que seus nomes sejam iguais às perguntas feitas (linha 7 abaixo).

				
					
chat_contexto = "Você é um especialista em redes neurais com coisas interessantes e tecnológicas para dizer"
pergunta1 = "O que é uma CNN?"
pergunta2 = "O que é uma RNN?"
perguntas = [pergunta1, pergunta2]
for i in range(len(perguntas)):
    res = pergunte_ao_ChatGPT(chat_contexto, perguntas[i])
    file = open(f"{perguntas[i]}"+".txt", "w")
    file.write(res)

				
			

Agora é só você substituir nossas perguntas pelas suas e automatizar suas interações com o ChatGPT.

Imagem com IA Generativa – Dia 102

IA generativa img102

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial