Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 Agente Corporativo de Conhecimento — IA com RAG

Projeto desenvolvido para o Challenger Alura, com o objetivo de construir um agente inteligente capaz de responder dúvidas de colaboradores de uma empresa com base em documentos internos.

A aplicação utiliza a técnica de RAG (Retrieval-Augmented Generation) para consultar documentos corporativos, recuperar os trechos mais relevantes e gerar respostas contextualizadas, reduzindo o risco de respostas sem base documental.


🎯 Objetivo do Projeto

O agente foi desenvolvido para auxiliar colaboradores em dúvidas relacionadas a documentos internos da empresa, como:

  • Políticas de Recursos Humanos;
  • Política de Reembolso;
  • FAQ de Benefícios;
  • Procedimentos e regras internas.

Além de responder às perguntas, o agente apresenta as fontes utilizadas na resposta, permitindo que o usuário consulte o documento de origem.


🏗️ Arquitetura da Solução

O funcionamento da aplicação pode ser dividido em cinco etapas principais:

1. 📄 Ingestão dos documentos

Os documentos PDF disponíveis na pasta ./data são carregados utilizando o PyPDFLoader.

2. ✂️ Chunking

Os documentos são divididos em pequenos blocos de texto utilizando o RecursiveCharacterTextSplitter.

Essa etapa facilita a recuperação de trechos específicos durante a consulta.

3. 🧠 Embeddings e armazenamento vetorial

Os trechos são transformados em vetores utilizando o modelo de embeddings da Google.

Os embeddings são armazenados localmente no ChromaDB, permitindo realizar buscas semânticas posteriormente.

4. 🔎 Recuperação e geração da resposta

Quando o usuário realiza uma pergunta:

  1. A pergunta é transformada em embedding;
  2. O ChromaDB busca os trechos semanticamente mais relevantes;
  3. Os 3 trechos mais relevantes são recuperados;
  4. Esses trechos são enviados como contexto para o modelo Gemini;
  5. O agente gera uma resposta baseada nas informações recuperadas;
  6. As fontes utilizadas são apresentadas ao usuário.

5. 💬 Interface

A interação com o agente é realizada através de uma interface de chat desenvolvida com Streamlit.


🛠️ Tecnologias Utilizadas

Tecnologia Utilização
Python 3.10+ Linguagem principal
LangChain Construção do pipeline RAG
Google Gemini API LLM e geração de embeddings
ChromaDB Banco de dados vetorial
Streamlit Interface web
PyPDFLoader Leitura dos documentos PDF
Oracle Cloud Infrastructure (OCI) Hospedagem da aplicação

📁 Estrutura do Projeto

Challenger-Alura/
│
├── data/
│   └── documentos.pdf
│
├── app.py
├── requirements.txt
├── .env
├── .gitignore
└── README.md

A estrutura acima representa a organização principal do projeto. Caso existam outros arquivos ou diretórios no projeto, eles podem ser adicionados posteriormente.


🚀 Como Executar o Projeto Localmente

1. Clonar o repositório

git clone https://github.com/Stefane-7/Challenger-Alura.git
cd Challenger-Alura

2. Criar o ambiente virtual

Windows

python -m venv .venv

Ative o ambiente:

.\.venv\Scripts\activate

Linux/Mac

python3 -m venv .venv

Ative o ambiente:

source .venv/bin/activate

3. Instalar as dependências

pip install -r requirements.txt

4. Configurar a variável de ambiente

Crie um arquivo .env na raiz do projeto:

GOOGLE_API_KEY=sua_chave_aqui

Importante: nunca publique sua chave da API no GitHub. Certifique-se de que o arquivo .env esteja incluído no .gitignore.

5. Adicionar os documentos

Coloque os documentos PDF que serão utilizados pelo agente dentro da pasta:

data/

6. Executar a aplicação

streamlit run app.py

Após a execução, o Streamlit disponibilizará a aplicação localmente no navegador.


💡 Exemplos de Perguntas

O agente pode responder perguntas relacionadas aos documentos disponíveis na base de conhecimento, como:

  • "Qual é a política de reembolso da empresa?"
  • "Quais benefícios estão disponíveis para os colaboradores?"
  • "Quais são os critérios para solicitar um reembolso?"
  • "Como funciona o benefício de alimentação?"
  • "Qual é o prazo para solicitar um reembolso?"

As respostas são baseadas nos documentos disponíveis na base de conhecimento.


☁️ Deploy

A aplicação também foi preparada para execução em ambiente de nuvem utilizando uma instância da Oracle Cloud Infrastructure (OCI).

A infraestrutura permite disponibilizar o agente para acesso remoto, mantendo a aplicação e sua base de conhecimento hospedadas em um ambiente de nuvem.


🔐 Segurança

Informações sensíveis, como chaves de API, não devem ser armazenadas diretamente no código-fonte.

Utilize variáveis de ambiente para armazenar credenciais:

GOOGLE_API_KEY=sua_chave_aqui

O arquivo .env deve estar listado no .gitignore:

.env
.venv/
__pycache__/

📌 Sobre o Projeto

Este projeto foi desenvolvido como parte do Challenger Alura, com foco na aplicação prática de conceitos de:

  • Inteligência Artificial Generativa;
  • RAG (Retrieval-Augmented Generation);
  • Busca semântica;
  • Embeddings;
  • Bancos de dados vetoriais;
  • Desenvolvimento de aplicações com LLMs;
  • Cloud Computing.

👩‍💻 Autora

Stefane Oliveira

Projeto desenvolvido para fins educacionais e de portfólio.

About

repositório do desafio de conclusão de curso da aluraa

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages