- Stack: GPT4All + Llama 3.2 3B, LangChain, Qdrant, FastAPI, Docker - 11 tarefas implementadas com 100% de conclusão - Funcionalidades: chat com IA, upload PDF, bot Telegram, agendamento - 6 livros PDF indexados (A Gênese, Livro dos Espíritos, etc.) - Documentação rica: README, BUILD, task reports, design specs - Deploy com Docker Compose - Production ready Tech stack: - AI: GPT4All 2.4.6, Llama 3.2 3B q4_0 - Backend: FastAPI 0.115.0, Celery 5.4.0, Redis 5.2.0 - RAG: LangChain 0.3.7, Qdrant 1.11.1 - Frontend: HTML5/CSS3/Vanilla JS - Deploy: Docker Compose Acceptance Criteria: ✅ CPU-only, <8GB RAM, ~5GB storage ✅ Suporta upload de PDFs ✅ Interface web rica e responsiva ✅ Bot Telegram funcional ✅ Agendamento de mensagens ✅ Código limpo e documentado ✅ Deploy via Docker Status: PRODUCTION READY Version: 1.0.0 Date: 2026-11-01
71 lines
2.6 KiB
HTML
71 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="pt-BR">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Sistema RAG Espiritismo</title>
|
|
<link rel="stylesheet" href="/static/css/style.css">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<h1>📚 Sistema RAG Espiritismo</h1>
|
|
<p>Consulte livros de espiritismo com IA</p>
|
|
</header>
|
|
|
|
<div class="grid">
|
|
<!-- Chat Section -->
|
|
<div class="card chat-card">
|
|
<h2>💬 Chat com IA</h2>
|
|
<div class="chat-container">
|
|
<div id="chat-messages" class="chat-messages">
|
|
<div class="message bot">
|
|
<div class="message-content">
|
|
Olá! Sou um assistente especializado em espiritismo. Posso responder perguntas sobre os livros carregados. Como posso ajudá-lo hoje?
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<input type="text" id="chat-input" placeholder="Digite sua pergunta..." />
|
|
<button id="send-btn">Enviar</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Upload Section -->
|
|
<div class="card upload-card">
|
|
<h2>📁 Upload de PDFs</h2>
|
|
<input type="file" id="file-input" class="file-input" accept=".pdf" />
|
|
<button id="upload-btn">Upload PDF</button>
|
|
<div id="upload-status"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid" style="margin-top: 20px;">
|
|
<!-- Books Section -->
|
|
<div class="card books-card">
|
|
<h2>📖 Livros Disponíveis</h2>
|
|
<div id="books-list">
|
|
<p style="color: #666;">Carregando livros...</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Schedules Section -->
|
|
<div class="card schedules-card">
|
|
<h2>⏰ Agendar Mensagens</h2>
|
|
<div style="margin-bottom: 15px;">
|
|
<input type="datetime-local" id="schedule-time" />
|
|
<select id="schedule-book">
|
|
<option value="">Todos os livros</option>
|
|
</select>
|
|
<button id="add-schedule-btn">Adicionar Agendamento</button>
|
|
</div>
|
|
<div id="schedules-list">
|
|
<p style="color: #666;">Nenhum agendamento.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="/static/js/script.js"></script>
|
|
</body>
|
|
</html>
|