Guia Iniciante: API do ChatGPT

Find AI Tools
No difficulty
No complicated process
Find ai tools

Guia Iniciante: API do ChatGPT

Tabela de conteúdos:

  1. Introdução
  2. Configurando o ambiente
    • 2.1 Instalando o Python
    • 2.2 Instalando o pyenv
    • 2.3 Instalando o pyenv virtualenv
    • 2.4 Instalando as dependências do projeto
  3. Inicializando o projeto
    • 3.1 Criando um diretório vazio
    • 3.2 Criando um ambiente virtual
    • 3.3 Ativando o ambiente virtual
  4. Importando as dependências
    • 4.1 Importando as bibliotecas necessárias
    • 4.2 Configurando as chaves de API
  5. Criando a função de chat interativo
    • 5.1 Usando o Typer para receber o input do usuário
    • 5.2 Chamando o modelo de chat do OpenAI
    • 5.3 Manipulando a resposta do modelo
  6. Melhorando a Memória do chatbot
    • 6.1 Adicionando contexto às mensagens
    • 6.2 Armazenando mensagens anteriores
    • 6.3 Testando a nova funcionalidade
  7. Especificando parâmetros personalizados
    • 7.1 Usando o Typer para definir parâmetros
    • 7.2 Alterando os parâmetros na chamada da API
  8. Otimizando o programa
    • 8.1 Incluindo a pergunta inicial como argumento
    • 8.2 Tornando o argumento opcional
  9. Conclusão
    • 9.1 Recursos adicionais
    • 9.2 Próximos passos

Implementando um Chatbot Clone com Python

Olá! Neste artigo, vamos aprender a criar um clone de chatbot utilizando Python, OpenAI e Typer. Vamos seguir um passo a passo para configurar o ambiente e então criar um chat interativo que utiliza o modelo de geração de texto do OpenAI para responder às perguntas do usuário. Antes de começarmos, certifique-se de ter o Python, o pyenv e o pyenv virtualenv instalados em seu sistema. Além disso, é importante criar um ambiente virtual para isolar as dependências do nosso projeto. Vamos lá!

2. Configurando o ambiente

Antes de começarmos a desenvolver nosso chatbot clone, precisamos configurar o ambiente de desenvolvimento. Isso envolve a instalação do Python, do pyenv e do pyenv virtualenv, além da instalação das dependências do projeto. Vamos seguir os passos abaixo:

2.1 Instalando o Python

Primeiro, vamos instalar o Python em nosso sistema. Para fazer isso, execute o seguinte comando:

comando de instalação do Python

2.2 Instalando o pyenv

O pyenv é uma ferramenta que nos permite gerenciar nossas instalações do Python. Vamos instalar o pyenv executando o seguinte comando:

comando de instalação do pyenv

2.3 Instalando o pyenv virtualenv

O pyenv virtualenv é uma extensão do pyenv que nos permite criar ambientes virtuais isolados para nossos projetos Python. Para instalá-lo, execute o seguinte comando:

comando de instalação do pyenv virtualenv

2.4 Instalando as dependências do projeto

Agora precisamos instalar as dependências do nosso projeto. Execute o seguinte comando:

comando de instalação das dependências do projeto

3. Inicializando o projeto

Agora que já configuramos o ambiente, podemos iniciar nosso projeto. Vamos criar um diretório vazio e, em seguida, criar o ambiente virtual. Siga os passos abaixo:

3.1 Criando um diretório vazio

Para criar um diretório vazio, execute o seguinte comando:

comando de criação do diretório vazio

3.2 Criando um ambiente virtual

Agora precisamos criar um ambiente virtual utilizando o pyenv virtualenv. Para isso, execute o seguinte comando:

comando de criação do ambiente virtual

3.3 Ativando o ambiente virtual

Para ativar o ambiente virtual, execute o seguinte comando:

comando de ativação do ambiente virtual

Agora que estamos com o ambiente virtual ativado, podemos prosseguir para o próximo passo.

4. Importando as dependências

Para começarmos a criar nosso chatbot clone, precisamos importar as dependências necessárias para o projeto. Vamos fazer isso no arquivo main.py. Siga os passos abaixo:

4.1 Importando as bibliotecas necessárias

No arquivo main.py, importe as seguintes bibliotecas:

import typer
import openai
import os

4.2 Configurando as chaves de API

Agora precisamos configurar as chaves de API do OpenAI. Primeiro, crie um arquivo chamado .env na raiz do seu projeto. Em seguida, adicione sua chave de API seguindo o formato abaixo:

OPENAI_KEY=sua_chave_de_api

Lembre-se de substituir sua_chave_de_api pela chave de API fornecida pelo OpenAI.

5. Criando a função de chat interativo

Agora que já importamos as dependências necessárias, vamos criar a função responsável por receber o input do usuário e chamar o modelo de chat do OpenAI para gerar a resposta. Vamos fazer isso no arquivo main.py. Siga os passos abaixo:

5.1 Usando o Typer para receber o input do usuário

Utilizaremos a biblioteca Typer para facilitar a criação de uma interface de linha de comando para nosso chatbot clone. Primeiro, vamos criar uma função chamada interative_chat e decorá-la com o decorator @typer.command(). Isso permitirá que nossa função seja chamada a partir da linha de comando.

@typer.command()
def interactive_chat():
    # código para receber o input do usuário

Dentro da função interactive_chat, vamos utilizar a função typer.Prompt() para receber o input do usuário. Vamos exibir uma mensagem de boas-vindas e solicitar que o usuário digite sua pergunta. Adicione o seguinte código:

@typer.command()
def interactive_chat():
    typer.echo("Bem-vindo(a) ao Chatbot Clone!")
    question = typer.prompt("Digite sua pergunta:")

5.2 Chamando o modelo de chat do OpenAI

Agora que já recebemos a pergunta do usuário, vamos chamar o modelo de chat do OpenAI para gerar a resposta. Vamos utilizar a biblioteca openai e a função openai.Completion.create() para isso. Adicione o seguinte código:

@typer.command()
def interactive_chat():
    typer.echo("Bem-vindo(a) ao Chatbot Clone!")
    question = typer.prompt("Digite sua pergunta:")

    # Chamar o modelo de chat do OpenAI e obter a resposta
    response = openai.Completion.create(
        engine="text-davinci-004",
        prompt=question,
        max_tokens=50
    )
    answer = response.choices[0].text.strip()

5.3 Manipulando a resposta do modelo

A resposta do modelo do OpenAI é uma STRING que pode conter informações extras, como quebras de linha e caracteres especiais. Vamos remover esses elementos indesejados e exibir apenas a resposta final. Adicione o seguinte código:

@typer.command()
def interactive_chat():
    typer.echo("Bem-vindo(a) ao Chatbot Clone!")
    question = typer.prompt("Digite sua pergunta:")

    response = openai.Completion.create(
        engine="text-davinci-004",
        prompt=question,
        max_tokens=50
    )
    answer = response.choices[0].text.strip()

    # Remover quebras de linha e caracteres especiais
    answer = answer.replace("\n", "")
    answer = answer.replace("\t", "")

    typer.echo(answer)

Agora a função interactive_chat está pronta para ser executada a partir da linha de comando. Vamos testar nosso chatbot clone!

6. Melhorando a memória do chatbot

Até agora, nosso chatbot clone tem um problema de memória de curto prazo. Ele não é capaz de lembrar as perguntas anteriores para responder perguntas relacionadas. Vamos corrigir isso adicionando contexto às mensagens. Siga os passos abaixo:

6.1 Adicionando contexto às mensagens

Para adicionar contexto às mensagens, vamos modificar o prompt enviado ao modelo de chat do OpenAI. Vamos incluir a pergunta atual e as mensagens anteriores na chamada da API. Adicione o seguinte código:

@typer.command()
def interactive_chat():
    typer.echo("Bem-vindo(a) ao Chatbot Clone!")
    question = typer.prompt("Digite sua pergunta:")

    messages = [{"role": "system", "content": "Você está conversando com um chatbot clone."}]
    user_message = {"role": "user", "content": question}
    messages.append(user_message)

    response = openai.Completion.create(
        engine="text-davinci-004",
        messages=messages,
        max_tokens=50
    )
    answer = response.choices[0].text.strip()

    answer = answer.replace("\n", "")
    answer = answer.replace("\t", "")

    typer.echo(answer)

6.2 Armazenando mensagens anteriores

Além de adicionar o contexto à chamada da API, também precisamos armazenar as mensagens anteriores para que possamos incluí-las na próxima pergunta. Vamos fazer isso utilizando uma lista chamada messages. Adicione o seguinte código antes da linha response = openai.Completion.create():

@typer.command()
def interactive_chat():
    typer.echo("Bem-vindo(a) ao Chatbot Clone!")
    question = typer.prompt("Digite sua pergunta:")

    messages = [...]

    # Armazenar as mensagens anteriores
    for message in response['choices'][0]['message']:
        messages.append(message)

    response = openai.Completion.create(
        ...
    )

    ...

6.3 Testando a nova funcionalidade

Agora que já adicionamos contexto às mensagens e armazenamos as mensagens anteriores, podemos testar nosso chatbot clone. Execute o seguinte comando para iniciar o chat:

python main.py interactive_chat

O chatbot responderá à sua pergunta e você poderá fazer mais perguntas relacionadas para ver a capacidade de memória melhorada. Experimente e divirta-se!

7. Especificando parâmetros personalizados

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.