Last active 2 months ago
Tres técnicas de RAG implementadas en Python para buscar en tu base de conocimiento: hybrid_search (FTS5 + cosine similarity con alpha), reranker (cross-encoder BAAI/bge-reranker-v2-m3), y HyDE (documentos hipotéticos con Ollama + Llama 3.2). Incluye CLI cerebro con argparse y pipe a fzf.
1 #!/usr/bin/env python3
2 """rag_reranker.py — Re-ranking con cross-encoder"""
3 from sentence_transformers import CrossEncoder
4
5 class Reranker:
6 def __init__(self, model_name="BAAI/bge-reranker-v2-m3", use_fp16=True):
7 self.model = CrossEncoder(model_name, max_length=512, device="cpu")
8
9 def rerank(self, query: str, candidates: list[dict], top_k: int = 5) -> list[dict]:
10 pairs = [(query, c["contenido"]) for c in candidates]
Last active 2 months ago
CLI en Rust para la base de conocimiento RAG. Combina FTS5 + cosine similarity con el parámetro alpha. Subcomandos: query, list (tags/docs/stats) y similar (query-by-example). Dependencias: rusqlite (bundled), clap, bytemuck, colored, reqwest, serde_json.
1 // cerebro-cli — CLI en Rust para la base de conocimiento RAG
2 //
3 // Compilación:
4 // cd cerebro-cli && cargo build --release
5 // cp target/release/cerebro ~/.local/bin/
6 //
7 // Uso:
8 // cerebro query "hooks de git"
9 // cerebro query "instalar docker" --alpha 0.6
10 // cerebro query "nginx" --tag web