Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Finalidade para Enriquecimento dos Chunks

Olá,

Lendo e revisando o projeto 3, me deparei com uma dúvida na parte de enriquecimento dos chunks. Vejo que, na prática, essa operação não é aproveitada, a princípio. Pois na etapa de recuperação dos chunks na função principal do Pipeline completo "responder_pergunta" os metadados são ignorados e não são usados no rerank e tampouco na criação do contexto final. Sendo assim, qual a finalidade dessa operação no projeto? Apenas para título de organização do banco vetorial?

1 resposta
solução!

Oi, Nelson!

Que satisfação ver você mergulhando nos detalhes da arquitetura. Sua observação é precisa: no código atual do responder_pergunta, a função de recuperação (similarity_search) tá focada na similaridade semântica do conteúdo textual, sem aplicar filtros explícitos baseados nos metadados que criamos.

Você tocou em um ponto comum no desenvolvimento de sistemas: a preparação da infraestrutura para escalabilidade.

A finalidade do enriquecimento neste contexto:

Embora o script simplificado não utilize a categoria para filtrar a busca no similarity_search, o enriquecimento dos chunks cumpre papéis fundamentais em um sistema de RH real:

  1. Filtragem prévia (Self-Querying): Em um cenário com milhares de documentos, buscar em toda a base é custoso e pode trazer ruído. Se o usuário pergunta "Quantos dias de férias eu tenho?", o sistema poderia usar o metadado categoria: ferias para restringir a busca apenas aos documentos pertinentes, aumentando a precisão e reduzindo a carga do banco vetorial.
  2. Rastreabilidade e auditoria: No RH, é vital saber exatamente de qual política veio a informação. Ao exibir os trechos para o usuário, os metadados permitem mostrar rótulos claros (ex: "Fonte: Política de Férias, Seção: Regras Gerais"), o que gera confiança no agente.
  3. Depuração (Debug): Pra você, como desenvolvedor, ter categorias ajuda a entender por que o sistema falhou. Se uma pergunta sobre "home office" retornou chunks de "conduta", você consegue identificar se o erro foi na classificação inicial ou na busca vetorial.

Então, no projeto atual, o enriquecimento funciona como uma boa prática de engenharia de dados, garantindo que a base de conhecimento seja estruturada e esteja pronta para implementações de filtros avançados ou buscas híbridas no futuro.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!