{ "cells": [ { "cell_type": "markdown", "id": "d69eaf8c", "metadata": {}, "source": [ "# Modelo Híbrido de LLM em Um Notebook\n", "\n", "Autor: Daniel Fonseca (convertido para Colab)\n", "Data: 15/03/2026\n", "\n", "Este notebook executa o projeto completo em um único arquivo (.ipynb) no Colab." ] }, { "cell_type": "markdown", "id": "36144eed", "metadata": {}, "source": [ "## Descrição do modelo\n", "\n", "Combina L1 (conceitos), L2 (juízos kantianos), Módulo silogismo + Hempel + Popper, L3 (paraconsistente), L4 (sintese russelliana) e L5 (geração textual)." ] }, { "cell_type": "code", "execution_count": null, "id": "5131c88f", "metadata": {}, "outputs": [], "source": [ "%%capture\n", "!python -m pip install --upgrade pip\n", "!python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 || true\n", "!python -m pip install transformers accelerate datasets sentencepiece python-docx protobuf<=3.20.3 scipy numpy psutil duckduckgo-search pyyaml fastapi uvicorn[standard]" ] }, { "cell_type": "code", "execution_count": null, "id": "cbdca50f", "metadata": {}, "outputs": [], "source": [ "from pathlib import Path\n", "import sys\n", "project_root = Path.cwd()\n", "if str(project_root) not in sys.path:\n", " sys.path.insert(0, str(project_root))\n", "print('Project root:', project_root)\n", "print('Arquivos principais:')\n", "for f in ['pipeline.py','config_loader.py','l1_concept_table.py','l2_kantian_judgments.py','syllogism_module.py','l3_paraconsistent.py','l4_synthesis.py','l4_russell_equivalence.py','knowledge_base.py','l5_generation.py']:\n", " print(f, (project_root/f).exists())" ] }, { "cell_type": "code", "execution_count": null, "id": "5e1e14bf", "metadata": {}, "outputs": [], "source": [ "from pipeline import HybridLLMPipeline\n", "from config_loader import load_config\n", "config = load_config()\n", "pipeline = HybridLLMPipeline(config=config, verbose=True)\n", "print('Pipeline instanciado.')" ] }, { "cell_type": "code", "execution_count": null, "id": "b7a7e630", "metadata": {}, "outputs": [], "source": [ "prompts=['A água a 35 graus está quente ou fria?','O que é verdade?','A IA pode ter consciência?']\n", "for p in prompts:\n", " print('---')\n", " print('Prompt:',p)\n", " r=pipeline.process(p)\n", " print(r.response)\n", " print('v=',r.truth_value,'estado=',r.state,'certeza=',r.certainty,'contradicao=',r.contradiction)" ] }, { "cell_type": "markdown", "id": "e55bffa1", "metadata": {}, "source": [ "## REPL interativo\n", "Execute esta célula e digite perguntas." ] }, { "cell_type": "code", "execution_count": null, "id": "7d938a1c", "metadata": {}, "outputs": [], "source": [ "while True:\n", " q = input('Prompt (sair para encerrar): ').strip()\n", " if not q: continue\n", " if q.lower() in {'sair','exit','quit'}:\n", " print('Fim do REPL')\n", " break\n", " r=pipeline.process(q)\n", " print('Resposta:',r.response)\n", " print('v=',r.truth_value,'estado=',r.state,'certeza=',r.certainty,'contradicao=',r.contradiction)" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 5 }