Skip to content

šŸ“„ Sistema RAG (Retrieval-Augmented Generation) com Google Gemini e LangChain para mitigar alucinaƧƵes em documentos PDF.

Notifications You must be signed in to change notification settings

alex3ai/project-rag-gemini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Ā 

History

7 Commits
Ā 
Ā 
Ā 
Ā 

Repository files navigation

šŸ¤– Chatbot RAG: Geração Aumentada com Google Gemini e LangChain

Este projeto implementa um sistema de RAG (Retrieval-Augmented Generation), a arquitetura moderna para construir chatbots que respondem a perguntas baseadas em documentos específicos, mitigando o problema central de alucinação em LLMs.

O sistema utiliza o artigo tƩcnico "Attention Is All You Need" (o paper original dos Transformers) como base de conhecimento.


šŸ›  Tecnologias Chave (GenAI Engineering)

  • Python 3.9+
  • LangChain: Framework de orquestração de IA para construir a cadeia RAG.
  • Google Gemini 1.5 Flash: O Large Language Model (LLM) de alta performance responsĆ”vel pela Geração Aumentada das respostas.
  • FAISS (Meta): Banco de dados de vetores ultrarrĆ”pido para persitĆŖncia e busca (Retrieval) dos embeddings.
  • Google Generative AI Embeddings: Modelo de embedding para vetorização do texto.
  • Boas PrĆ”ticas: Uso de python-dotenv, venv e .gitignore para seguranƧa e reprodutibilidade.

šŸš€ Arquitetura (Como Funciona)

A lógica RAG garante que a resposta seja factualmente precisa, seguindo três etapas orquestradas:

  1. Ingestão/Pipeline de Dados: O script ingest.py carrega o PDF, divide o texto em chunks e cria embeddings vetoriais armazenados localmente via FAISS.
  2. Recuperação (Retrieval): Ao receber uma pergunta, o sistema busca os 4 trechos (top-k) mais relevantes no Vector Store (FAISS).
  3. Geração Aumentada (Generation): O contexto recuperado + a pergunta são enviados ao Gemini, instruído via Prompt Engineering a responder estritamente baseado nos dados fornecidos.

āš™ļø Instalação e Uso

  1. Clone o repositório:
    git clone [https://github.com/SEU_USUARIO/Portfolio-RAG-Chatbot-Gemini.git](https://github.com/SEU_USUARIO/Portfolio-RAG-Chatbot-Gemini.git)
    cd Portfolio-RAG-Chatbot-Gemini
  2. Configuração de Segurança: Crie um arquivo .env na raiz com sua chave da API do Google:
    GOOGLE_API_KEY="SUA_CHAVE_AQUI"
    
  3. Instale as dependĆŖncias:
    pip install -r requirements.txt
  4. Execute a Ingestão de Dados (Criação do Vector Store):
    python ingest.py
  5. Inicie o Chatbot:
    python rag_chat.py

🧪 Demonstração de Mitigação de Alucinação

Pergunta Resultado Esperado Valor Demonstrado
"O que Ć© Scaled Dot-Product Attention?" Explicação tĆ©cnica baseada no artigo. āœ… PrecisĆ£o e Uso do Contexto
"Quais sĆ£o os autores?" Lista dos autores do paper. āœ… Extração de Fato
"Qual a capital da FranƧa?" "NĆ£o encontrei a informação no documento." šŸ›‘ Prova de Mitigação de AlucinaƧƵes

Projeto desenvolvido para fins de estudo em Engenharia de IA e LLMs.

About

šŸ“„ Sistema RAG (Retrieval-Augmented Generation) com Google Gemini e LangChain para mitigar alucinaƧƵes em documentos PDF.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages