Chatbot com IA em Python: Construindo um Assistente Inteligente

Aprenda a desenvolver um chatbot com IA usando Python e o modelo DialoGPT. Respostas inteligentes com memória de conversa e modo interativo.

Compartilhe

Como Criar um Chatbot com IA em Python (com DialoGPT)

Python + IA: Fundamentos e Projetos Práticos

Ambiente, sintaxe e variáveis em Python

Ambiente, Sintaxe Básica e Variáveis em Python — Bootcamp Dia 1

Tipos de dados, entrada e conversão em Python

Tipos de Dados, Entrada e Conversão no Python — Bootcamp Dia 2

Operadores em Python

Operadores Aritméticos, Relacionais e Lógicos em Python — Bootcamp Dia 3

Estruturas condicionais em Python

Estrutura Condicional com if, elif e else em Python — Bootcamp Dia 4

Loops e estruturas de repetição em Python

Repetição com for, while e range() no Python — Bootcamp Dia 5

Listas em Python

Como Trabalhar com Listas no Python — Bootcamp Dia 6

Tuplas e sets em Python

Tuplas e Sets em Python — Estruturas Imutáveis e Conjuntos Inteligentes | Bootcamp Dia 7

Dicionários em Python

Dicionários em Python: chave e valor, o jeito inteligente de armazenar dados

Funções em Python

Funções em Python: Escreva Menos, Faça Mais

Tratamento de erros em Python

Tratamento de Erros em Python: programe com segurança

Leitura e Escrita de Arquivos em Python

Leitura e Escrita de Arquivos em Python: salve seus dados no mundo real

Como Salvar Listas de Dicionários em Arquivo JSON com Python

Salvando Dados Estruturados com JSON em Python

Como Trabalhar com Datas em Python — Idade, Diferença e Formatação

Trabalhando com Datas e Horários em Python

Funções com Múltiplos Retornos em Python — Análise de Dados com Elegância

Funções com Múltiplos Retornos em Python: eficiência e organização

Parâmetros Opcionais e Valores Padrão em Python

Parâmetros Opcionais e Valores Padrão em Python

Como Usar args e kwargs em Funções Python

*args e **kwargs em Python: flexibilidade total nas funções

Como Usar List Comprehensions em Python

List Comprehensions em Python: código elegante e eficiente

Como Manipular Arquivos CSV com Python

Manipulando Arquivos CSV com Python: automatize leitura e escrita de dados

Como Usar Pandas em Python para Análise de Dados

Começando com Pandas em Python: análise de dados para IA e automações

Como Limpar e Preparar Dados com Pandas | Bootcamp Dia 20

Limpeza e Transformação de Dados com Pandas: preparando para IA

Como usar a OpenAI com Python (API Atualizada, GPT-3.5)

Inteligência Artificial com Python: Fundamentos e Primeira Integração com a OpenAI

Como fazer Análise de Sentimentos com Python e IA (Passo a Passo)

Análise de Sentimentos com IA: Classificando Emoções em Textos com Python

Como Classificar Textos com IA e Python (Zero-Shot Classification)

Classificação de Texto com IA: Detectando Temas e Categorias

Como Criar Textos com Python e IA (NLP + GPT-2)

Geração de Texto com IA: Criando Respostas Inteligentes com Python

Como Criar um Chatbot com IA em Python (com DialoGPT)

Chatbot com IA em Python: Construindo um Assistente Inteligente

Como Detectar Fake News com Python e IA — Projeto Prático

Como Detectar Fake News com Python e IA

Como Criar uma Interface com IA em Python para Detectar Fake News

Como Criar uma Interface com IA em Python para Detectar Fake News

Como Avaliar a Qualidade de um Modelo de IA com Python

Como Avaliar a Qualidade de um Modelo de IA com Python — Além da Acurácia

Como Balancear Dados e Validar Modelos com Python e IA

Como Balancear Dados e Validar Modelos com Python e IA

Classificador de Fake News com Interface Web em Python (Streamlit)

Projeto Final: Criando um Classificador de Fake News com Interface Web em Python (Streamlit)

Ambiente de desenvolvimento Python organizado com árvore de arquivos, dependências conectadas e lockfile protegido

Python com uv: ambientes virtuais e dependências reproduzíveis

Fluxo de inteligência artificial transformando dados desorganizados em blocos estruturados para automação

Saídas estruturadas com IA: JSON confiável para automações em Python

Fluxo seguro de function calling conectando uma inteligência artificial a ferramentas externas validadas

Function calling em Python: conecte a IA a ferramentas com segurança

Sistema de inteligência artificial pesquisando documentos organizados em uma base vetorial

File Search com IA em Python: consulte seus documentos na prática

Sistema de IA pesquisando páginas da Web e organizando fontes verificadas com citações

Web Search com IA em Python: respostas atuais com fontes verificáveis

Fluxo luminoso de eventos saindo de uma aplicação Python e chegando em uma interface de conversa em tempo real

Streaming com IA em Python: respostas em tempo real na prática

Hoje você vai criar um chatbot com IA, que responde perguntas ou mantém conversas simples em linguagem natural. Vamos usar o modelo DialoGPT, da Microsoft, otimizado para diálogos em estilo de bate-papo.


🧠 O que é um Chatbot com IA?

É uma aplicação de Processamento de Linguagem Natural (NLP) que:

  • Interage com humanos via texto
  • Usa IA para compreender o contexto e gerar respostas
  • Pode ser usado para atendimento automático, FAQs, assistentes pessoais e mais

🧰 O que vamos usar

  • Python 3.10+
  • Biblioteca transformers
  • Modelo pré-treinado: microsoft/DialoGPT-medium

📦 Instalando os pacotes

pip install transformers
pip install torch

✍️ Código: Criando um chatbot interativo

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# Carrega o modelo e tokenizer
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
modelo = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")

# Histórico de conversa (tokenizado)
histórico = []

print("🤖 Chatbot IA iniciado. Digite 'sair' para encerrar.\n")

while True:
    entrada = input("Você: ")
    
    if entrada.lower() == "sair":
        break

    # Codifica a entrada e anexa ao histórico
    nova_entrada_ids = tokenizer.encode(entrada + tokenizer.eos_token, return_tensors='pt')
    histórico.append(nova_entrada_ids)

    # Junta histórico para manter contexto
    entrada_modelo = torch.cat(histórico, dim=-1)

    # Gera resposta
    resposta_ids = modelo.generate(
        entrada_modelo,
        max_length=1000,
        pad_token_id=tokenizer.eos_token_id
    )

    # Decodifica a resposta
    resposta = tokenizer.decode(resposta_ids[:, entrada_modelo.shape[-1]:][0], skip_special_tokens=True)

    print(f"Bot: {resposta}")
    
    # Adiciona resposta ao histórico
    resposta_ids = tokenizer.encode(resposta + tokenizer.eos_token, return_tensors='pt')
    histórico.append(resposta_ids)

🧠 Explicando

  • AutoTokenizer e AutoModelForCausalLM: carregam automaticamente o modelo de linguagem
  • Histórico de conversa: é mantido para dar contexto ao bot
  • generate(): o modelo prevê a próxima frase com base no histórico

🎯 Desafio do Dia

Transforme esse chatbot em:

  • Um script de terminal que reinicia o histórico se o usuário digitar "reset"
  • Um modo “curto” onde o bot sempre responde com no máximo 1 frase
  • Bônus: salve o log da conversa em um arquivo .txt com timestamp

Python + IA: Fundamentos e Projetos Práticos

Geração de Texto com IA: Criando Respostas Inteligentes com Python Como Detectar Fake News com Python e IA

Uma resposta

  1. Aquela ajudinha marota pra evoluir? Desafio com OpenAI:

    “`
    import openai

    # Define sua chave da API (deixe segura em produção)
    openai.api_key = “SUA_CHAVE”

    from openai import OpenAI

    client = OpenAI(api_key=openai.api_key)

    print(“🤖 Chatbot GPT-3.5 iniciado. Digite ‘sair’ para encerrar.\n”)

    while True:
    entrada = input(“Você: “)

    if entrada.lower() == “sair”:
    print(“🤖 Bot: Até logo!”)
    break

    resposta = client.chat.completions.create(
    model=”gpt-3.5-turbo”,
    messages=[
    {“role”: “system”, “content”: “Você é um assistente útil e sempre responde em português.”},
    {“role”: “user”, “content”: entrada}
    ]
    )

    print(f”🤖 Bot: {resposta.choices[0].message.content}”)

    “`