Assistente de perguntas e respostas baseado no IPCC AR6 (Relatório Síntese - versão completa), construído com RAG + agentes (LangChain + LangGraph).
O sistema:
- Recupera trechos do relatório oficial.
- Gera respostas com citações obrigatórias no formato [p.X].
- Aplica verificações anti-alucinação (self-check).
- Exibe respostas em uma interface Streamlit.
- RAG (Retrieval-Augmented Generation) com Chroma e embeddings de código aberto (HuggingFace).
- Orquestração de agentes com LangGraph:
- Supervisor → roteia intenções (único domínio = IPCC).
- Retriever → busca trechos no índice vetorial.
- Answerer → gera respostas com citações obrigatórias.
- Self-check → rejeita respostas sem evidências de suporte.
- Safety → adiciona avisos automáticos.
- Interface Web em Streamlit (EN).
- Citações com links diretos para o PDF oficial do IPCC.
- Avaliação planejada com RAGAS.
Requisitos:
- Python 3.11+
- Ollama (para rodar LLMs locais de código aberto).
- Git e Make.
Clone o repositório:
git clone https://github.com/Rian-Ismael/IPCC-LLM.git
cd IPCC-LLMCrie um ambiente virtual:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # WindowsInstale as dependências:
make installou diretamente:
pip install -r requirements.txtCrie seu arquivo .env baseado no exemplo fornecido:
cp .env.example .envAntes de rodar a interface, indexe o relatório:
make ingestIsso constrói a base vetorial em data/index/.
make runou diretamente:
streamlit run app/streamlit_app.pyAcesse em http://localhost:8501.
Construa a imagem e inicie via Docker Compose:
make build
make up-dLogs:
make logsParar:
make down- RAGAS → métricas de faithfulness e answer relevancy.
- Um conjunto curado de ~20 perguntas.
- Projeto acadêmico de prova de conceito.
- Respostas são apenas informativas → não substituem interpretações oficiais do IPCC.
Distribuído sob a Licença MIT — veja LICENSE.
Se você utilizar este projeto em trabalhos acadêmicos:
@software{clima_em_foco_2025,
authors = {Elias de Melo, Rian Ismael; Veríssimo, Victor de Sousa},
title = {Clima em Foco – IPCC AR6 (SYR) Assistant with RAG + Agents},
year = {2025},
url = {https://github.com/Rian-Ismael/IPCC-LLM}
}