Add scenario runbooks and documentation updates
Some checks failed
Repo Quality / structure (push) Has been cancelled
Some checks failed
Repo Quality / structure (push) Has been cancelled
This commit is contained in:
86
scenarios/06-rag-vector-classified-docs/RUNBOOK.md
Normal file
86
scenarios/06-rag-vector-classified-docs/RUNBOOK.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# Runbook - 06 RAG Vector Classified Docs
|
||||
|
||||
## Objetivo
|
||||
|
||||
Demonstrar que um agente RAG so recupera chunks/documentos autorizados antes de enviar contexto ao LLM.
|
||||
|
||||
## Valor De Seguranca
|
||||
|
||||
- Reduz over-retrieval em RAG.
|
||||
- Evita que chunks confidenciais sejam enviados ao modelo.
|
||||
- Combina vector search com data grants por classificacao.
|
||||
|
||||
## Pre-Requisitos
|
||||
|
||||
- Banco Oracle AI Database com suporte a `VECTOR`, `TO_VECTOR` e `VECTOR_DISTANCE`.
|
||||
- Banco compativel com Oracle Deep Data Security.
|
||||
- SQLcl ou SQL*Plus.
|
||||
|
||||
## Antes - Ambiente Vulneravel
|
||||
|
||||
1. Limpe o cenario:
|
||||
|
||||
```sql
|
||||
@scenarios/06-rag-vector-classified-docs/sql/99_reset.sql
|
||||
```
|
||||
|
||||
2. Crie chunks e personas, sem aplicar data grants:
|
||||
|
||||
```sql
|
||||
@scenarios/06-rag-vector-classified-docs/sql/00_schema.sql
|
||||
@scenarios/06-rag-vector-classified-docs/sql/01_seed_data.sql
|
||||
@scenarios/06-rag-vector-classified-docs/sql/02_identities.sql
|
||||
```
|
||||
|
||||
3. Simule a pergunta RAG:
|
||||
|
||||
```text
|
||||
Resuma documentos criticos sobre renovacoes, pessoas e riscos legais.
|
||||
```
|
||||
|
||||
4. Execute a busca vetorial:
|
||||
|
||||
```sql
|
||||
@scenarios/06-rag-vector-classified-docs/sql/04_test_queries.sql
|
||||
```
|
||||
|
||||
## Resultado Esperado Antes
|
||||
|
||||
- A busca pode recuperar chunks `HR_CONFIDENTIAL`, `LEGAL_CONFIDENTIAL` e `EXECUTIVE_CONFIDENTIAL`.
|
||||
- O LLM poderia receber contexto sensivel antes mesmo de gerar a resposta.
|
||||
|
||||
## Depois - Aplicando Deep Data Security
|
||||
|
||||
1. Aplique data grants por classificacao:
|
||||
|
||||
```sql
|
||||
@scenarios/06-rag-vector-classified-docs/sql/03_data_grants.sql
|
||||
```
|
||||
|
||||
2. Execute a mesma busca como `nina`, `heitor`, `sofia` e `carlos`:
|
||||
|
||||
```sql
|
||||
@scenarios/06-rag-vector-classified-docs/sql/04_test_queries.sql
|
||||
```
|
||||
|
||||
## Resultado Esperado Depois
|
||||
|
||||
- `nina` recupera apenas `PUBLIC` e `INTERNAL`.
|
||||
- `heitor` recupera conteudo de RH autorizado.
|
||||
- `sofia` recupera conteudo juridico autorizado.
|
||||
- `carlos` recupera todos os chunks por papel executivo.
|
||||
- A camada RAG so envia contexto autorizado ao LLM.
|
||||
|
||||
## Evidencias Para Demo
|
||||
|
||||
- Lista de chunks recuperados antes/depois.
|
||||
- Classificacoes visiveis por persona.
|
||||
- Explicacao de que o controle ocorre antes da chamada ao LLM.
|
||||
|
||||
## Referencias Oficiais
|
||||
|
||||
- Oracle Deep Data Security Guide: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/index.html
|
||||
- Create Data Grants: https://docs.oracle.com/en/database/oracle/oracle-database/26/ddscg/create-data-grants.html
|
||||
- TO_VECTOR SQL Reference: https://docs.oracle.com/en/database/oracle/oracle-database/26/sqlrf/to_vector.html
|
||||
- VECTOR operations in PL/SQL: https://docs.oracle.com/en/database/oracle/oracle-database/26/lnpls/sql-data-types.html
|
||||
|
||||
Reference in New Issue
Block a user