Cria rag/ (schema, busca híbrida densa+lexical com RRF em search.py/ search_gart.sh, SETUP.md) — o projeto já tinha admin/update_rag.py para indexar, mas nenhuma forma de consultar o índice. Corrige admin/update_rag.py: um chunk denso em tokens (code/fcpxml/font_metrics.py) estourava o contexto do modelo de embedding e derrubava a transação inteira; agora só aquele chunk é pulado. Banco rag_gart provisionado no rag-hub-db compartilhado e primeira indexação completa rodada (304 arquivos, 1702 chunks). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2.1 KiB
Provisionar o banco rag_gart
Passo a passo para criar o banco deste projeto no container compartilhado
rag-hub-db (mesma VPS usada por Doza/Tigre/Jhonny). Só precisa ser feito
uma vez (ou para reprovisionar do zero).
Precisa de acesso SSH à VPS (root@179.197.228.240, chave já autorizada) e
das credenciais do usuário admin do rag-hub-db (rag_admin — senha em
/docker/rag-hub/.env na própria VPS; não é duplicada em nenhum projeto).
1. Criar o banco e a role de indexação
Via túnel SSH ou docker exec na VPS, como rag_admin:
CREATE DATABASE rag_gart OWNER rag_admin;
\c rag_gart
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS pg_trgm;
-- Role de indexação, sem DDL (só o que admin/update_rag.py e rag/search.py
-- precisam: SELECT/INSERT/UPDATE/DELETE no schema gart).
CREATE ROLE gart_rag_indexer LOGIN PASSWORD '<senha forte gerada aqui>';
2. Criar o schema
Rode schema.sql neste banco (idempotente, CREATE ... IF NOT EXISTS em tudo):
psql "postgresql://rag_admin@127.0.0.1:55435/rag_gart" -f rag/schema.sql
Depois conceda os privilégios ao usuário de indexação:
GRANT USAGE ON SCHEMA gart TO gart_rag_indexer;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA gart TO gart_rag_indexer;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA gart TO gart_rag_indexer;
ALTER DEFAULT PRIVILEGES IN SCHEMA gart
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO gart_rag_indexer;
3. Preencher as credenciais locais
cp admin/gart-rag.env.example admin/gart-rag.env
Editar admin/gart-rag.env e colocar a senha gerada no passo 1 em
RAG_DB_PASSWORD. Esse arquivo é ignorado pelo git — nunca commitar.
4. Indexar pela primeira vez
admin/update_rag.command
Abre o túnel SSH (se não estiver aberto), roda admin/update_rag.py e grava
os chunks + o mapa de arquivos em rag_gart.
5. Testar a busca
rag/search_gart.sh "como funciona o export para DaVinci"
rag/search_gart.sh --map fcpxml
Se vier [RAG vazio, buscando local], confira se o passo 4 rodou sem erro e
se RAG_DB_PASSWORD está correta.