📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Guia de Inteligência Artificial. Recomendado revisar antes de começar.

🤖 Pipeline RAG com Embeddings & LLM API

v1.0 — Inteligência Artificial, Retrieval-Augmented Generation, Vector DBs e LangChain

Trilha de Especialização Pedagógica — Projeto 1 de 4

🎓 Nível Profissional Simulado: Engenheiro de Inteligência Artificial / LLM Developer. A habilidade mais procurada no mercado de inteligência artificial aplicada é construir sistemas RAG (Retrieval-Augmented Generation): permitindo que modelos como GPT-4 ou Gemini consultem manuais, contratos e bases de dados corporativas em tempo real sem alucinações.

—`

🎯 Objetivo & Escopo do Projeto

Construir um Pipeline RAG (Retrieval-Augmented Generation) completo em Python, implementando carregamento de PDFs/manuais, divisão de texto em chunks com sobreposição, geração de Embeddings Vetoriais, armazenamento e busca por similaridade semântica em Vector Database e resposta contextualizada via LLM.

—`

🧑‍💼 Fase 1 — Levantamento de Requisitos

O Briefing do Cliente (Head de Inovação & IA)

“Nossos atendentes de suporte gastam 20 minutos buscando regras nos 50 PDFs de políticas internas da empresa. Queremos um assistente de IA onde o operador faça uma pergunta em linguagem natural, o sistema busque os 3 trechos mais relevantes dos manuais e a LLM responda de forma resumida e cite a página exata da fonte oficial, sem inventar informações.”

Requisitos Funcionais (RF) e Não-Funcionais (RNF)

ID Tipo Descrição Origem no Briefing
RF01 Funcional Fragmentar documentos em chunks de 500 caracteres com overlap de 50 caracteres. “50 PDFs de políticas internas”
RF02 Funcional Gerar representações vetoriais (Embeddings) e indexar no Vector Database. “busque os 3 trechos mais relevantes”
RF03 Funcional Injetar o contexto resgatado no prompt da LLM com instrução anti-alucinação. “sem inventar informações”
RF04 Funcional Retornar a resposta final acompanhada das fontes documentais citadas. “cite a página exata da fonte”
RNF01 Não-Funcional Similaridade calculada via Distância de Cosseno em sub-segundos. Eficiência de Busca
RNF02 Não-Funcional Prompt com Guardrail impedindo respostas fora do contexto indexado. Segurança de IA

—`

📋 Fase 2 — Backlog & User Stories

ID User Story Prioridade
US01 Como atendente, quero perguntar ‘Qual o prazo de reembolso?’ e receber a resposta exata da política. Alta
US02 Como compliance, quero auditar as fontes citadas para validar a conformidade da resposta. Alta

—`

🌿 Fase 3 — Engenharia em Equipe (Git Flow & Setup)

# Branch da funcionalidade
git checkout -b feature/US01-rag-pipeline-embeddings

# Executar o pipeline RAG
python rag_pipeline.py

—`

🛠️ Fase 4 — Implementação Guiada (rag_pipeline.py)

from sentence_transformers import SentenceTransformer
import chromadb

# 1. Inicializar modelo de Embeddings e Banco Vetorial
model = SentenceTransformer('all-MiniLM-L6-v2')
client = chromadb.Client()
collection = client.create_collection("politicas_empresa")

# 2. Indexar documentos corporativos
docs = [
    "A política de reembolso prevê devolução integral em até 7 dias úteis.",
    "O cancelamento de assinaturas pode ser feito pelo portal a qualquer momento."
]
embeddings = model.encode(docs).tolist()
collection.add(ids=["doc1", "doc2"], documents=docs, embeddings=embeddings)

# 3. Busca por Similaridade Semântica
pergunta = "Em quantos dias recebo meu dinheiro de volta?"
pergunta_emb = model.encode([pergunta]).tolist()
resultados = collection.query(query_embeddings=pergunta_emb, n_results=1)

print("Contexto Recuperado com Sucesso:", resultados['documents'][0])

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd ia_01_rag_embeddings_llm

2. Execute a aplicação ou testes

pip install -r requirements.txt
python app.py

[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/ia_01_rag_embeddings_llm`

🧭 Decisões de Arquitetura (ADRs)

—`

🧪 Testes de Validação & Similaridade

—`

✅ Checkpoint Final

  1. Documentos vetorizados e indexados no ChromaDB.
  2. Resposta contextualizada gerada com citação de fontes.

⬅️ Ver Todos os Projetos no Super-Hub 🏠 Página Inicial do Portal