IA Bíblica com Python: Como Criar um Assistente com Flask e Voz
Bem-vindo à série de Python para iniciantes do Academy Code Christ.
![]() |
| 🌍 Este site está disponível em vários idiomas. Fique à vontade para usar o tradutor no topo da página e aprender no seu idioma. |
🤯 E se você pudesse digitar uma pergunta bíblica e receber uma resposta inteligente, com voz, em tempo real direto no navegador?
Foi exatamente isso que construímos aqui na Academy Code Christ: um Assistente Bíblico com Inteligência Artificial, desenvolvido do zero com Python, Flask e HTML/CSS/JS — com respostas em voz usando a própria API do navegador.
Neste post, você vai entender como funciona por dentro, quais tecnologias usamos e como você também pode criar o seu. Vamos nessa? ✝️💻
🤖 O que este projeto faz?
O Assistente Bíblico IA é uma aplicação web que permite ao usuário fazer perguntas sobre a Bíblia como:- Responde perguntas bíblicas automaticamente
- Busca versículos relacionados
- Usa IA simples com TF-IDF
- Fala as respostas em voz alta
- Gera imagens com versículos
- Funciona direto no navegador ou desktop
🛠️ Tecnologias Utilizadas
- 🐍 Python 3 Backend principal da aplicação
- ⚙️ Flask Servidor web leve e rápido
- 🗃️ SQLite Base de dados com versículos (NVI)
- 🌐 HTML + CSS Interface visual do assistente
- ⚡ JavaScript Comunicação com o servidor + voz
- 🎙️ Web Speech API Leitura das respostas em voz alta. tem com link vou dar o exemplo
O Python
é a base principal deste projeto, responsável por toda a lógica da IA e
integração com o banco de dados.
Se você
está começando agora, recomendamos este guia:
👉 Estruturas Condicionais em Python: if, elif e else (Guia Completo)
⚙️ Flask — Servidor web da aplicação
O Flask é
o framework responsável por criar a API que conecta o frontend com o backend.
💻 o Trecho de Código que é o Coração do Projeto: Veja como é simples a rota principal no Flask:
from flask import Flask, request, jsonify import sqlite3 app = Flask(__name__) # Rota que recebe a pergunta do usuário @app.route('/perguntar', methods=['POST']) def perguntar(): dados = request.get_json() pergunta = dados['pergunta'] # Busca na base bíblica resposta = buscar_na_biblia(pergunta) return jsonify({'resposta': resposta}) if __name__ == '__main__': app.run(debug=True)
🗃️ SQLite — Banco de dados dos versículos
O SQLite é utilizado para armazenar os versículos bíblicos de forma simples e leve.
⚡ JavaScript — Comunicação com o servidor + voz
O JavaScript é responsável por conectar o navegador com o backend em Python (Flask).Ele envia a pergunta do usuário para o servidor e recebe a resposta da IA em tempo real.Depois disso, usa a Web Speech API para transformar o texto em voz e ler a resposta automaticamente 🎙️.
💻 Exemplo no projeto:
// Envia pergunta e lê resposta em voz async function perguntar() { const pergunta = document.getElementById('input').value; const res = await fetch('/perguntar', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({ pergunta }) }); const dados = await res.json(); // Lê em voz alta 🎙️ const voz = new SpeechSynthesisUtterance(dados.resposta); voz.lang = 'pt-BR'; speechSynthesis.speak(voz); }
⚙️ Como Funciona Por Dentro?
A arquitetura do projeto segue um fluxo simples e poderoso:
⬇️
🌐 JavaScript envia via fetch() para o Flask
⬇️
🐍 Python processa a pergunta
⬇️
🗃️ SQLite busca versículos relacionados
⬇️
📄 Arquivos .txt adicionam contexto teológico
⬇️
💬 Resposta é gerada e enviada ao navegador
⬇️
🎙️ Web Speech API lê a resposta em voz alta
🧠 Como Criar uma IA Bíblica com Python (Passo a Passo Completo)
A inteligência artificial está cada vez mais presente no nosso dia a dia.
Mas você já imaginou usar IA para estudar a Bíblia de forma inteligente?
Neste artigo, você vai aprender como criar uma IA bíblica com Python, capaz de:
- 📖 Encontrar versículos automaticamente
- 🧠 Entender perguntas usando análise de texto
- 🔊 Ler versículos em voz alta
- 🖼️ Gerar imagens com textos bíblicos
E o melhor: tudo isso rodando no seu próprio computador.
Escopo do projeto 1🧠Explicação:
👉 Permite conectar no banco de dados .sqlite (onde estão os versículos)
👉 Usado pra pegar lista de pontuações (.,!? etc)
👉 Remove acentos
Ex:
“fé” → “fe”
“oração” → “oracao”
👉 Transforma texto em números (vetores)
👉 É o coração da sua “IA”
👉 Mede o quão parecidos dois textos são
👉 Cores no terminal (não muito usado aqui na prática)
from tkinter import messagebox
👉 Cria interface gráfica (janelinha)
👉 Faz o computador falar (voz offline)
👉 Cria imagens (tipo os versículos bonitos)
👉 Trabalha com arquivos e pastas
👉 Ativa colorama e reseta cores automaticamente
👉 Inicializa o sistema de voz
👉 Velocidade da fala
👉 Volume máximo
👉 Conecta no banco da Bíblia
👉 Pega todos os versículos
👉 Pega os nomes dos livros
👉 Junta tudo
Resultado:
Gênesis 1:1 + texto
👉 Cria função pra limpar texto
👉 Tudo minúsculo + sem acento
👉 Remove pontuação
👉 Retorna texto limpo
👉 Pega todos os versículos e limpa
tfidf = TfidfVectorizer(stop_words='english')
👉 Cria o modelo
⚠️ OBS: aqui tem erro (depois te explico)
👉 Converte TODOS os versículos em números
👉 Isso vira o “cérebro” da busca
👉 Função que cria imagem do versículo
👉 Cria imagem branca
👉 Permite desenhar na imagem
🎨 Gradiente
for y in range(altura):
👉 Loop linha por linha
draw.line([(0, y), (largura, y)], fill=(r, g, b))
👉 Desenha cor → cria degradê
🔤 Fonte
ImageFont.truetype("fonte.ttf", 50)
👉 Usa fonte personalizada
Se falhar:
ImageFont.load_default()
🧩 Quebra de texto
👉 Divide texto em várias linhas
👉 Pra não estourar a imagem
👉 Escreve o versículo na imagem
img.save(nome_arquivo)
👉 Salva no computador
def responder_pergunta(pergunta, ja_mostrados):
👉 Aqui acontece a “mágica”
pergunta_limpa = normalizar(pergunta)
👉 Limpa a pergunta
pergunta_tfidf = tfidf.transform([pergunta_limpa])
👉 Converte pergunta em vetor
similaridade = cosine_similarity(pergunta_tfidf, tfidf_matrix)
👉 Compara com TODOS versículos
indices = similaridade[0].argsort()[::-1]
👉 Ordena do mais parecido → menos parecido
for i in indices:
👉 Loop pelos melhores
vers = versiculos_completos.iloc[i]
👉 Pega versículo correspondente
respostas.append({...})
👉 Guarda resposta
if len(respostas) == 3:
break
👉 Limita a 3 resultados
👉 Função chamada quando clica no botão
👉 Pega o que o usuário digitou
respostas = responder_pergunta(...)
resultado_label.config(text=resultado_texto)
👉 Atualiza a tela
engine.say(versiculo_texto)
👉 Adiciona fala
👉 Executa fala
gerar_imagem_versiculo(...)
👉 Cria imagem automaticamente
messagebox.showinfo(...)
👉 Mostra mensagem na tela
👉 Cria app
👉 Título
👉 Tamanho
🧾 Elementos
Label = texto
Entry = campo de digitação
Button = botão
botao_buscar = tk.Button(..., command=buscar_pergunta)
👉 Quando clicar → roda a função
📚 O Que Você Aprende Construindo Este Projeto?
Lógica de programação, funções, leitura de arquivos e banco de dados
Criação de APIs REST, rotas, métodos POST e integração com frontend
Fetch API, manipulação do DOM e Web Speech API para síntese de voz
Modelagem e consulta de banco de dados relacional com Python
📚 Continue Aprendendo:
Eu poderia colocar este curso em plataformas como Kiwify ou Hotmart e cobrar pelo acesso. Mas escolhi fazer diferente.
Mas em vez de tentar provar que o meu trabalho é bom nas redes sociais, prefiro deixar que você tenha liberdade para estudar, praticar e tirar suas próprias conclusões.
Por isso, a proposta da Academy Code Christ é oferecer este conteúdo gratuitamente para quem deseja aprender programação e desenvolver novas habilidades.
Se o conteúdo foi útil para você, se ajudou nos seus estudos e você quiser contribuir sem obrigação, para que o projeto continue crescendo,
você pode apoiar a Academy Code Christ com um café. ☕
Pix: antropologiacrista@gmail.com

Comentários
Postar um comentário