Cookies

Com a sua autorização, usamos cookies do Google Analytics para medir as visitas e melhorar o site. Os cookies necessários ficam sempre ativos. Pode mudar a escolha ou retirar o consentimento quando quiser, no rodapé, em Definições de cookies. Política de Cookies

Saltar para o conteúdo
PTEN
Começar

RAG e Conhecimento ·Médio

Clínica de Diagnóstico de Falhas RAG

Sobre esta app

Cole uma descrição de bug real do seu pipeline LLM + RAG. O script pede a um LLM para classificar a falha num dos vários padrões reutilizáveis e sugere uma correção estrutural mínima (não apenas 'adicione mais contexto' ou 'tente um modelo melhor').

  • Código aberto completo
  • Explicado em português

Ficha técnica

Categoria
RAG e Conhecimento
Dificuldade
Médio
Modelos
OpenAI, Llama
Frameworks
LangChain
Corre local?
Precisa de APIs cloud
Chaves necessárias
OPENAI_API_KEYSECRET_RAG_KEY

Licença Apache-2.0 · conteúdo curado, traduzido e mantido pelo Doutor AI.

Tutorial completo

Uma pequena clínica de diagnóstico de falhas RAG independente de framework.

Colas uma descrição de bug real do teu pipeline LLM + RAG.

O script pede a um LLM para classificar a falha num dos vários padrões reutilizáveis

e sugere uma correção estrutural mínima (não apenas “adiciona mais contexto” ou “experimenta um modelo melhor”).

O objetivo é mostrar uma forma orientada a padrões para depurar incidentes RAG que pode ser

adaptada a qualquer stack: LangChain, LlamaIndex, microserviços personalizados ou infra-estrutura interna.

O que vais aprender

Ao executar este exemplo, vais aprender a:

  • Descrever bugs RAG do mundo real em texto simples para que um LLM possa raciocinar sobre eles.
  • Usar uma pequena biblioteca de padrões de falha para triagem rápida de incidentes.
  • Pedir ao modelo para propor mudanças estruturais mínimas em vez de meras alterações de prompt.
  • Chamar uma API compatível com OpenAI a partir de um pequeno script Python.
  • Guardar cada diagnóstico num relatório JSON para análise posterior ou post-mortems.

Isto não é um framework completo.

É uma compacta aplicação clínica que demonstra um padrão que podes adaptar nas tuas próprias stacks.

Estrutura de pastas

Este tutorial espera os seguintes ficheiros em rag_tutorials/rag_failure_diagnostics_clinic:

  • README.md ← este ficheiro
  • rag_failure_diagnostics_clinic.py ← script CLI interativo mínimo
  • requirements.txt ← dependências Python

O script é completamente autónomo.

Todas as definições de padrões e prompts estão dentro desta pasta.

Padrões de falha (P01–P12)

A clínica utiliza um pequeno conjunto opinativo de 12 padrões de falha reutilizáveis.

Cada bug é mapeado para exatamente um padrão primário, com candidatos secundários opcionais.

Podes modificar ou estender estes padrões para corresponder aos teus próprios incidentes de produção.

IDNome do padrãoSintoma típico
P01Alucinação de recuperação / desvio de fundamentaçãoResposta confiante contradiz documentos recuperados.
P02Bug de limite de chunk ou segmentaçãoFatos relevantes são divididos ou truncados entre chunks.
P03Desajuste de embedding / distância semântica vs vetorialSimilaridade cosseno não corresponde à verdadeira relevância.
P04Desvio ou obsolescência do índiceDados antigos ou em falta, mesmo que a fonte de verdade esteja atualizada.
P05Reescrita de consulta ou desalinhamento do routerRouter envia consultas para a ferramenta ou conjunto de dados errados.
P06Desvio de raciocínio em cadeia longaTarefas de múltiplos passos perdem gradualmente o controle das restrições anteriores.
P07Uso indevido de chamadas de ferramentas ou ferramentas sem fundamentaçãoFerramentas são chamadas com argumentos errados ou sem fundamentação.
P08Vazamento de memória de sessão / contexto em faltaA conversa perde fatos importantes entre turnos ou sessões.
P09Pontos cegos na avaliaçãoO sistema passa em testes, mas falha em incidentes reais.
P10Ordem de arranque / dependência não prontaServiços falham ou 5xx durante os primeiros minutos após o deploy.
P11Desvio de configuração ou segredos entre ambientesFunciona localmente, quebra apenas em staging / produção devido a configurações.
P12Interferência multi-inquilino / multi-agentePedidos ou agentes interferem no estado ou recursos uns dos outros.

Os exemplos integrados correspondem aproximadamente a:

  • Exemplo 1 → alucinação de recuperação / desvio de fundamentação (estilo P01).
  • Exemplo 2 → ordem de arranque / dependência não pronta (estilo P10).
  • Exemplo 3 → desvio de configuração ou segredos entre ambientes (estilo P11).

És encorajado a substituir estes por excertos dos teus próprios incidentes.

Como funciona a clínica

A um alto nível:

  1. O script constrói um prompt do sistema que explica os 12 padrões acima.
  2. Escolhes um de três exemplos integrados ou colas a tua própria descrição de bug RAG / LLM.
  3. O modelo é solicitado a:
  • Escolher um ID de padrão primário (P01–P12).
  • Opcionalmente escolher até dois candidatos secundários.
  • Explicar o raciocínio em breves pontos.
  • Propor uma correção estrutural mínima (mudanças na recuperação, roteamento, avaliação ou infra-estrutura).
  1. A resposta completa é impressa no console e também guardada em

rag_failure_report.json juntamente com o texto original do bug e o nome do modelo.

A intenção é mostrar como um pequeno vocabulário de padrões + prompt pode transformar um LLM

num ajudante leve para triagem de incidentes.

Pré-requisitos

  • Python 3.9 ou mais recente.
  • Uma chave de API para qualquer endpoint de conclusão de chat compatível com OpenAI:
  • Por exemplo, OPENAI_API_KEY para https://api.openai.com/v1.
  • Ou a tua própria URL de proxy definida através de OPENAI_BASE_URL.
  • Familiaridade básica com pipelines RAG, logs e modos de falha.

Configuração

Instruções de Instalação

Pré-requisitos

Antes de começares, certifica-te de que tens os seguintes pré-requisitos instalados:

  • Node.js (versão 14 ou superior)
  • npm (versão 6 ou superior)

Instalação

  1. Clona o repositório:
git clone https://github.com/username/awesome-llm-apps.git
  1. Navega até à pasta do projeto:
cd awesome-llm-apps
  1. Instala as dependências:
npm install

Execução

Para executar a aplicação, utiliza o seguinte comando:

npm start

A aplicação estará disponível em http://localhost:3000.

Estrutura do Projeto

A estrutura do projeto é a seguinte:

awesome-llm-apps/

├── src/

│ ├── components/

│ ├── pages/

│ └── utils/

├── public/

│ └── index.html

├── package.json

└── README.md


## Contribuição

Se desejas contribuir para este projeto, segue os seguintes passos:

1. Cria um fork do repositório.
2. Cria uma nova branch para a tua funcionalidade:

   ```bash
   git checkout -b minha-funcionalidade
  1. Faz as tuas alterações e commit:
git commit -m "Adiciona nova funcionalidade"
  1. Faz push da tua branch:
git push origin minha-funcionalidade
  1. Cria um Pull Request.

Licença

Este projeto está licenciado sob a Licença MIT. Consulta o ficheiro [LICENSE](LICENSE) para mais informações.

cd rag_tutorials/rag_failure_diagnostics_clinic
pip install -r requirements.txt

Minimal requirements.txt

Para criar um ficheiro requirements.txt mínimo, basta incluir as bibliotecas que precisas para o teu projeto. Aqui está um exemplo básico:

flask

requests

numpy


## Como criar o `requirements.txt`

1. Cria um novo ficheiro chamado `requirements.txt` na raiz do teu projeto.
2. Adiciona as bibliotecas que necessitas, uma por linha.
3. Guarda o ficheiro.

## Instalar as dependências

Para instalar as dependências listadas no `requirements.txt`, utiliza o seguinte comando:

pip install -r requirements.txt


## Exemplo de `requirements.txt`

Aqui está um exemplo de um ficheiro `requirements.txt` mais completo:

flask==2.0.1

requests>=2.25.1

numpy<1.20


Neste exemplo, especificamos versões exatas ou intervalos de versões para garantir que o teu projeto funcione corretamente.

## Conclusão

Um `requirements.txt` bem definido é essencial para a gestão de dependências em projetos Python. Certifica-te de que o manténs atualizado à medida que adicionas ou removes bibliotecas do teu projeto.
openai>=1.6.0

Define a tua chave de API como uma variável de ambiente (recomendado):

export OPENAI_API_KEY="sk-..."
# optional, if you use a custom endpoint
# export OPENAI_BASE_URL="https://your-proxy.example.com/v1"
# export OPENAI_MODEL="gpt-4o-mini"
Dica: Se preferires o Colab, também podes copiar o ficheiro inteiro rag_failure_diagnostics_clinic.py para uma única célula do Colab e executá-lo lá.

Executar a clínica

A partir de dentro de rag_tutorials/rag_failure_diagnostics_clinic:

python rag_failure_diagnostics_clinic.py

You will see a simple text UI:

  • Se OPENAI_API_KEY não estiver definido, o script irá pedir uma chave de API.
  • Podes manter a URL base por defeito (https://api.openai.com/v1) e o modelo (gpt-4o) ou substituí-los.
  • Depois, escolhes:
  • 1 → exemplo de alucinação de recuperação incorporada (estilo P01).
  • 2 → exemplo de ordenação de startups (estilo P10).
  • 3 → exemplo de desvio de configuração / segredos (estilo P11).
  • p → cola a tua própria descrição de bug.

Cada execução imprime um diagnóstico e escreve um ficheiro rag_failure_report.json contendo o texto do bug, as definições do modelo e a resposta do assistente.

Podes comprometer vários relatórios no teu próprio repositório como uma leve biblioteca de incidentes RAG.

Extender este tutorial

Algumas ideias para estender este padrão:

  • Substituir os exemplos por incidentes anonimizados dos teus próprios registos.
  • Adicionar mais padrões ou dividir os existentes para corresponder à tua stack.
  • Emitir um esquema JSON mais rico (gravidade, proprietários, componentes suspeitos).
  • Integrar os relatórios num painel de avaliação ou rastreador de incidentes.

Da mesma categoria

RAG e ConhecimentoMédio

Gemma de Embedding Agentic Rag

Esta aplicação Streamlit demonstra um Agente de Geração Aumentada por Recuperação (RAG) agentic utilizando o EmbeddingGemma do Google para embeddings …

  • Llama
  • local
RAG e ConhecimentoMédio

RAG Agentic com GPT-5

Uma aplicação RAG agentic construída com o framework Agno, apresentando GPT-5 e LanceDB para recuperação eficiente de conhecimento e resposta a pergun…

  • OpenAI

Precisa de uma solução à medida?

Não sabe por onde começar a usar IA no seu negócio? Receba uma avaliação gratuita e um plano à medida - sem compromisso.

Poupe horas todas as semanas com IA, sem complicações

O Doutor AI dá-lhe 1859 prompts de IA prontos a copiar, por indústria e em português simples - mais uma biblioteca técnica completa para quem quer ir mais longe.

Ver planos