Como Criar um Chatbot Simples de Terminal em Python com Regras Pré-Definidas
Mas você sabia que é possível criar um chatbot simples em Python que roda direto no terminal, sem precisar de inteligência artificial complexa?
Neste artigo, vamos mostrar passo a passo como criar um chatbot baseado em regras pré-definidas, ideal para iniciantes.
🔹 O que é um Chatbot de Regras?
Existem dois tipos principais de chatbots:
Baseados em Regras → funcionam por meio de condições pré-definidas. O usuário escreve algo e o chatbot responde de acordo com palavras-chave ou frases conhecidas.
Exemplo: se o usuário digita “olá”, o bot responde “Olá, como vai?”.
Baseados em Inteligência Artificial → usam NLP (Processamento de Linguagem Natural) e machine learning para interpretar o que o usuário quer dizer.
➡️ Aqui vamos construir o primeiro tipo, que é mais simples, rápido e ótimo para aprender.
🔹 Estrutura do Chatbot
Nosso chatbot terá:
Regras pré-definidas para responder a saudações, dúvidas simples e comandos básicos.
Um loop de interação para conversar até o usuário digitar “sair”.
Uso de condições e dicionários em Python para organizar as respostas.
🔹 Criando o Chatbot Passo a Passo
1. Configurando o esqueleto do chatbot
def chatbot():
print("🤖 Chatbot: Olá! Eu sou seu assistente virtual. Digite 'sair' para encerrar.")
while True:
mensagem = input("Você: ").lower()
if mensagem == "sair":
print("🤖 Chatbot: Até logo!")
break
else:
print("🤖 Chatbot: Ainda não sei como responder isso.")
chatbot()
➡️ Neste ponto, o chatbot só reconhece “sair” e responde com uma frase padrão.
2. Criando respostas pré-definidas
Podemos usar um dicionário para organizar regras.
respostas = {
"olá": "Olá! Como posso te ajudar?",
"oi": "Oi! Tudo bem?",
"tchau": "Até mais! Volte sempre.",
"como você está?": "Estou bem, obrigado por perguntar!",
"qual é o seu nome?": "Eu sou um chatbot simples em Python 🤖"
}
Agora modificamos o loop para usar essas respostas:
def chatbot():
respostas = {
"olá": "Olá! Como posso te ajudar?",
"oi": "Oi! Tudo bem?",
"tchau": "Até mais! Volte sempre.",
"como você está?": "Estou bem, obrigado por perguntar!",
"qual é o seu nome?": "Eu sou um chatbot simples em Python 🤖"
}
print("🤖 Chatbot: Olá! Eu sou seu assistente virtual. Digite 'sair' para encerrar.")
while True:
mensagem = input("Você: ").lower()
if mensagem == "sair":
print("🤖 Chatbot: Até logo!")
break
elif mensagem in respostas:
print("🤖 Chatbot:", respostas[mensagem])
else:
print("🤖 Chatbot: Não entendi. Pode repetir?")
3. Reconhecendo palavras-chave
Nosso chatbot ainda depende da frase exata. Se o usuário digitar “oi tudo bem?”, ele não reconhece. Vamos melhorar usando palavras-chave:
def responder(mensagem):
if "oi" in mensagem or "olá" in mensagem:
return "Olá! Como posso te ajudar?"
elif "nome" in mensagem:
return "Eu sou um chatbot simples em Python 🤖"
elif "como você está" in mensagem:
return "Estou ótimo! E você?"
elif "tchau" in mensagem or "até mais" in mensagem:
return "Até logo! Foi bom conversar com você."
else:
return "Não entendi. Pode repetir?"
def chatbot():
print("🤖 Chatbot: Olá! Eu sou seu assistente virtual. Digite 'sair' para encerrar.")
while True:
mensagem = input("Você: ").lower()
if mensagem == "sair":
print("🤖 Chatbot: Até logo!")
break
else:
resposta = responder(mensagem)
print("🤖 Chatbot:", resposta)
chatbot()
➡️ Agora o chatbot responde mesmo que a frase não seja exatamente igual às regras.
4. Tornando o chatbot mais interativo
Podemos adicionar funcionalidades extras:
Mostrar a data e hora atual.
Resolver operações matemáticas simples.
Contar piadas aleatórias.
import datetime
import random
def responder(mensagem):
if "oi" in mensagem or "olá" in mensagem:
return "Olá! Como posso te ajudar?"
elif "nome" in mensagem:
return "Eu sou um chatbot simples em Python 🤖"
elif "como você está" in mensagem:
return "Estou ótimo! Obrigado por perguntar."
elif "hora" in mensagem:
return f"Agora são {datetime.datetime.now().strftime('%H:%M')}."
elif "data" in mensagem:
return f"Hoje é {datetime.datetime.now().strftime('%d/%m/%Y')}."
elif "piada" in mensagem:
piadas = [
"Por que o livro de matemática ficou triste? Porque tinha muitos problemas.",
"O que o zero disse para o oito? Belo cinto!",
"Qual é o cúmulo da rapidez? Fechar a geladeira e estar dentro dela."
]
return random.choice(piadas)
elif "tchau" in mensagem or "até mais" in mensagem:
return "Até logo! Foi bom conversar com você."
else:
return "Não entendi. Pode repetir?"
Agora temos um chatbot que responde de forma mais humana e divertida.
🔹 Possíveis melhorias
Esse chatbot pode ser expandido de várias formas:
Integração com APIs → clima, conversor de moedas, pesquisas no Google.
Salvar histórico da conversa em um arquivo
.txt.Adicionar NLP (Natural Language Processing) com bibliotecas como
nltkouspacy.
🔹 Conclusão
Criar um chatbot simples de terminal com regras pré-definidas em Python é uma excelente forma de:
✔ Treinar lógica de programação.
✔ Aprender sobre dicionários, condições e loops.
✔ Criar um projeto divertido e funcional.
Esse projeto é ideal para quem está começando e quer algo que dá resultado imediato sem depender de IA avançada.
💡 Desafio para você:
Adicione ao seu chatbot a habilidade de responder perguntas sobre clima usando uma API gratuita (como a OpenWeather). Assim, seu bot ficará ainda mais útil!

Comentários
Postar um comentário