Base RAG do WPP4Delphi (SQLite + sqlite-vec)

SkillDatabases & data

Gerar ou atualizar a base RAG local (SQLite + sqlite-vec) do WPP4Delphi, que indexa a documentação (README/SPEC/CLAUDE.md/skills) e o código-fonte Pascal (Source/**/*.pas) para busca semântica, e consultá-la. Use quando o usuário pedir para "reindexar", "atualizar a base RAG", "gerar embeddings do projeto", ou "buscar/perguntar sobre o projeto via RAG/busca vetorial".

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Base RAG do WPP4Delphi (SQLite + sqlite-vec) skill

What this skill tells your AI

The instructions your AI receives, as published by wppconnect-team/wpp4delphi in .claude/skills/wpp-rag-index/SKILL.md and read by ahel’s review.

Ferramenta local em Scripts/rag/ que gera uma base de busca semântica sobre este repositório: documentação (README.md, SPEC.md, CLAUDE.md, .claude/skills/*/SKILL.md) e todo o código Pascal em Source/**/*.pas. Os embeddings rodam 100% localmente (sentence-transformers, sem enviar código para nenhuma API externa) e ficam num único arquivo SQLite com a extensão sqlite-vec.

Arquivos

  • Scripts/rag/common.py — config compartilhada (nome do modelo, caminho do DB, pastas excluídas).
  • Scripts/rag/build_index.py — gera a base (sempre do zero — dropa e recria as tabelas; o projeto é pequeno o suficiente para isso ser mais simples e confiável que update incremental).
  • Scripts/rag/query.py — CLI de consulta (busca por similaridade de embedding).
  • Scripts/rag/requirements.txtsqlite-vec, sentence-transformers.
  • Scripts/rag/wpp4delphi.rag.sqlite — o banco gerado (não versionado — está no .gitignore; regenerar localmente quando precisar).

Como funciona

  • Modelo de embeddings: paraphrase-multilingual-MiniLM-L12-v2 (384 dimensões) — multilíngue porque os comentários/identificadores do projeto misturam português e inglês. Baixado uma vez do Hugging Face e cacheado em ~/.cache/huggingface.
  • Chunking de docs (.md): por seção de título (#/##/###), cada chunk carrega o título junto para continuar fazendo sentido isolado; seções muito grandes (>4000 caracteres) são sub-divididas.
  • Chunking de Pascal (.pas): janela deslizante de 100 linhas com 20 de sobreposição, por arquivo — deliberadamente simples (sem parser de Object Pascal) para não repetir bugs de aninhamento de comentários ({ }, {$IFDEF}) já vistos neste projeto ao tentar quebrar por procedure/function.
  • Schema SQLite: tabela chunks (texto + metadados: file_path, start_line/end_line ou heading) + tabela virtual vec_chunks (vec0) com o embedding, ligadas por rowid.

Gerar/atualizar a base (reindexar)

Rodar sempre que o código ou a documentação mudar de forma relevante — não há watch automático.

cd Scripts/rag
pip install -r requirements.txt   # só na primeira vez, ou se o venv for outro
python build_index.py

Leva ~1 min neste projeto (~700 chunks). Primeira execução é mais lenta por baixar o modelo (~470MB).

Consultar

cd Scripts/rag
python query.py "como funciona o envio de mensagem de texto"
python query.py "TWPPConnect.SendTextMessage" --top-k 8

Cada resultado mostra o arquivo (+ linhas, se for chunk de código, ou o título da seção, se for doc), a distância (menor = mais similar) e um trecho do conteúdo.

Notas de ambiente

  • Requer Python 3.10+ (testado com 3.14) e pip install -r requirements.txt (inclui torch/transformers — download pesado na primeira instalação).
  • Em Windows, sem symlinks habilitados (modo Developer OFF), o huggingface_hub emite um aviso sobre cache degradado — inofensivo, pode ignorar.
  • query.py força stdout para UTF-8 no início — sem isso, o console do Windows corrompe os acentos do conteúdo em português retornado pela busca.
  • Este script/skill é uma ferramenta de apoio para consulta humana ou de outro agente sobre o projeto — não é usado pelo componente TWPPConnect em si nem faz parte do pacote Delphi/Lazarus.

Signals

GitHub stars
250
Forks
84
Last commit
Aug 2026

ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
wpp-rag-index
Source
github.com/wppconnect-team/wpp4delphi