Skip to content
Back to skills

Hybrid Rag

ASecurity

Create and query a per-review hybrid RAG index of included PRISMA evidence. Uses dense sentence-transformers retrieval plus BM25 (Qdrant/ChromaDB) or native FTS (LanceDB), fused with Reciprocal Rank Fusion.

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 29, 2026
ai-agentspythongobackend

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add giovannifrontera/academic-research-prisma-wiki-rag --skill hybrid-rag --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hybrid Rag?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hybrid Rag
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/giovannifrontera-hybrid-rag/badge)](https://www.skillsdirectory.com/skills/giovannifrontera-hybrid-rag)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hybrid-rag
description: Create and query a per-review hybrid RAG index of included PRISMA evidence. Uses dense sentence-transformers retrieval plus BM25 (Qdrant/ChromaDB) or native FTS (LanceDB), fused with Reciprocal Rank Fusion.
---

# Hybrid RAG — Ricerche Accademiche

Risolvi `<PLUGIN_ROOT>` dalla posizione di questa skill installata: `hybrid_rag_template.py` è accanto a questo file. Esegui il template direttamente con path assoluto; non serve copiarlo nella review. Sostituisci i segnaposto mantenendo le virgolette. Usa `python` dal venv attivo in Windows/Linux; vedi [setup e modelli](../../docs/models-and-setup.md).

## Setup

Lavora dalla directory dati della review: `rag_db/` dipende dalla directory corrente. Per un nuovo indice Qdrant + BGE:

```text
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" choose-backend --backend qdrant
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" choose-model --model bge-m3
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" init
```

Qdrant è il backend predefinito; MiniLM resta il modello predefinito se non chiami `choose-model`. Modelli disponibili: `minilm`, `e5-large`, `bge-m3`. I prefissi E5 sono gestiti dal codice. Non scegliere il modello in base a soglie arbitrarie di numero di paper: valuta lingua, memoria e latenza. Per selezioni automatiche usa sempre i flag diretti: senza `--model` / `--backend` i comandi possono chiedere input interattivo.

`init` installa eventuali dipendenze mancanti nello stesso interprete: sentence-transformers, PyMuPDF e quelle del backend. Per Qdrant servono qdrant-client e rank-bm25. ChromaDB e LanceDB sono alternative opzionali, non componenti della wiki. La wiki usa un indice distinto Qdrant + BGE-M3 + reranker; il RAG locale usa RRF e non eredita il reranker.

## Corpus ammesso

Per la sintesi PRISMA indicizza **solo gli studi inclusi dopo eligibility umana**:

- `eligibility_prisma.json` (o una tabella di estrazione con soli inclusi), con abstract e dati estratti verificati.
- `pdf_inclusi/`: solo PDF associati a quegli studi. Nel log eligibility registra file, DOI/ID, decisione, motivazione, revisore e data prima dell'indicizzazione.

`pdf_manuali/` è una inbox di identificazione, non un corpus incluso. Non indicizzarla in blocco. Non usare `screening_prisma.json` come fallback: contiene candidati ed esclusi. Se manca l'elenco finale, completa eligibility prima di creare il RAG. Il parser accetta anche liste JSON generiche e `prisma_state.json`, ma questa compatibilità non certifica l'inclusione e lo stato può mancare di abstract.

Linee guida, documenti ministeriali e altri materiali di contesto vanno in una directory dati e un indice separati. Non citarli come evidenza inclusa né contarli nei risultati PRISMA. `--only-pdf` distingue il formato, non l'eleggibilità.

## Comandi

```text
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" index-prisma "eligibility_prisma.json"
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" index-pdf "pdf_inclusi/"
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" status
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" query "self-regulated learning effect size" --n 5
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" query "metacognition" --only-prisma
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" query "intervention outcomes" --only-pdf
python "<PLUGIN_ROOT>/skills/hybrid-rag/hybrid_rag_template.py" query "AI tutor" --filter "year>=2020,source_db=eric"
```

Filtri `>=`, `<=`, `=` disponibili con Qdrant e LanceDB. BM25 è lessicale: usa preferibilmente la lingua dei documenti. L'output Markdown mostra estratti troncati; verifica citazioni e risultati nel documento originale, non solo nello snippet.

L'indicizzazione usa upsert, ma non elimina automaticamente record ritirati dal corpus. Se cambiano inclusioni, modello o backend, conserva una copia del vecchio indice e ricostruisci un indice vuoto dal corpus approvato; verifica lo stato prima della sintesi. Non cancellare directory senza identificare il percorso dati esatto.

## Handoff

Invoca da `prisma-review` dopo l'inclusione; interroga durante il report e `educational-pilot-design`. La provenienza umana nel log, non il semplice recupero RAG, stabilisce quali studi sono evidenza inclusa. Per corpora piccoli la lettura diretta dei documenti può bastare se concordata nel workflow.

Files in this skill

  • SKILL.md4.4 KB
  • hybrid_rag_template.py54.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.