atareao / cerebro-cli main.rs — Rust CLI para búsqueda híbrida RAG
0 likes
0 forks
1 files
Last active 3 weeks 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 |
atareao / rag_hyde.py — HyDE (Hypothetical Document Embeddings) para RAG
0 likes
0 forks
1 files
Last active 3 weeks ago
Genera un documento hipotético con Ollama a partir de una consulta, lo embeddea con bge-m3, y busca por similitud coseno en la BD. Técnica del paper de Gao et al. 2022. Episodio 821 de atareao con Linux.
| 1 | #!/usr/bin/env python3 |
| 2 | """ |
| 3 | rag_hyde.py - HyDE (Hypothetical Document Embeddings) para RAG |
| 4 | |
| 5 | Genera un documento hipotético con Ollama a partir de una consulta, |
| 6 | lo embeddea con bge-m3, y busca por similitud coseno en la BD. |
| 7 | |
| 8 | Uso: |
| 9 | python rag_hyde.py "¿qué es una variable de entorno?" |
| 10 | python rag_hyde.py "explica la configuración de red" --top 10 |
atareao / rag_reranker.py — Reranking con cross-encoder bge-reranker-v2-m3
0 likes
0 forks
1 files
Last active 3 weeks ago
Pipeline de reranking: hybrid search → cross-encoder → top 5. Usa BAAI/bge-reranker-v2-m3 para rerankear candidatos con atención cruzada. Episodio 821 de atareao con Linux.
| 1 | #!/usr/bin/env python3 |
| 2 | """ |
| 3 | rag_reranker.py — Reranking con cross-encoder (bge-reranker-v2-m3). |
| 4 | |
| 5 | Pipeline: |
| 6 | 1. Hybrid search → top 20 candidatos |
| 7 | 2. Cross-encoder reranker → top 5 finales |
| 8 | |
| 9 | Uso: |
| 10 | python3 rag_reranker.py "cómo configurar certificados SSL" |
atareao / rag_hybrid.py — Búsqueda híbrida FTS5 + embeddings
0 likes
0 forks
1 files
Last active 3 weeks ago
Script completo de búsqueda híbrida para la base de conocimiento RAG. Combina FTS5 (BM25) con cosine similarity sobre embeddings de bge-m3. Parámetro alpha para ajustar el peso entre búsqueda exacta y semántica. Episodio 821 de atareao con Linux.
| 1 | #!/usr/bin/env python3 |
| 2 | """ |
| 3 | rag_hybrid.py — Búsqueda híbrida (FTS5 + cosine similarity) para la base de conocimiento RAG. |
| 4 | |
| 5 | Combina lo mejor de dos mundos: |
| 6 | - FTS5: búsqueda textual exacta con stemming y diacríticos |
| 7 | - Embeddings: búsqueda semántica por cosine similarity |
| 8 | |
| 9 | La fórmula de combinación es: |
| 10 | score_total = alpha * sigmoid(fts_score/10) + (1 - alpha) * cosine_sim |
atareao / crustaceo-tools logparse.rs
0 likes
0 forks
1 files
Last active 1 month ago
Subcomando logparse con filtrado por nivel y colores (capitulo 07)
| 1 | use anyhow::{Context, Result}; |
| 2 | use colored::*; |
| 3 | |
| 4 | pub fn ejecutar(archivo: &str, nivel: &str, quiet: bool) -> Result<()> { |
| 5 | let contenido = |
| 6 | std::fs::read_to_string(archivo).with_context(|| format!("No se pudo leer '{}'", archivo))?; |
| 7 | |
| 8 | let nivel_upper = nivel.to_uppercase(); |
| 9 | let mut encontradas = 0; |
atareao / crustaceo-tools sysinfo_mod.rs
0 likes
0 forks
1 files
Last active 1 month ago
Subcomando sysinfo con informacion del sistema (capitulo 07)
| 1 | use anyhow::Result; |
| 2 | |
| 3 | pub fn ejecutar(formato: &str) -> Result<()> { |
| 4 | let mut system = sysinfo::System::new_all(); |
| 5 | system.refresh_all(); |
| 6 | |
| 7 | std::thread::sleep(sysinfo::MINIMUM_CPU_UPDATE_INTERVAL); |
| 8 | |
| 9 | let hostname = sysinfo::System::host_name().unwrap_or_default(); |
| 10 | let kernel = sysinfo::System::kernel_version().unwrap_or_default(); |
atareao / crustaceo-tools completions.rs
0 likes
0 forks
1 files
Last active 1 month ago
Subcomando completions con generacion de autocompletado (capitulo 07)
| 1 | use anyhow::Result; |
| 2 | use clap::CommandFactory; |
| 3 | use clap_complete::{generate_to, Shell}; |
| 4 | use std::path::PathBuf; |
| 5 | |
| 6 | use crate::cli::Cli; |
| 7 | |
| 8 | pub fn ejecutar(shell: &str) -> Result<()> { |
| 9 | let shell = match shell { |
| 10 | "bash" => Shell::Bash, |
atareao / crustaceo-tools dashboard.rs
0 likes
0 forks
1 files
Last active 1 month ago
Subcomando dashboard con monitorizacion en tiempo real (capitulo 07)
| 1 | use anyhow::Result; |
| 2 | use sysinfo::Disks; |
| 3 | |
| 4 | pub fn ejecutar(watch: u64) -> Result<()> { |
| 5 | loop { |
| 6 | print!("\x1B[2J\x1B[H"); |
| 7 | |
| 8 | let mut system = sysinfo::System::new_all(); |
| 9 | system.refresh_all(); |
| 10 | std::thread::sleep(sysinfo::MINIMUM_CPU_UPDATE_INTERVAL); |
atareao / crustaceo-tools grep.rs
0 likes
0 forks
1 files
Last active 1 month ago
Subcomando grep con busqueda recursiva y regex (capitulo 07)
| 1 | use anyhow::Result; |
| 2 | use colored::*; |
| 3 | use regex::Regex; |
| 4 | use walkdir::WalkDir; |
| 5 | |
| 6 | pub fn ejecutar(patron: &str, ignorar_mayusculas: bool, archivo: &str) -> Result<()> { |
| 7 | let re = if ignorar_mayusculas { |
| 8 | Regex::new(&format!("(?i){}", patron))? |
| 9 | } else { |
| 10 | Regex::new(patron)? |
atareao / crustaceo-tools main.rs
0 likes
0 forks
1 files
Last active 1 month ago
Punto de entrada y enrutador de subcomandos (capitulo 07)
| 1 | mod cli; |
| 2 | mod completions; |
| 3 | mod dashboard; |
| 4 | mod grep; |
| 5 | mod logparse; |
| 6 | mod stats; |
| 7 | mod sysinfo_mod; |
| 8 | |
| 9 | use anyhow::Result; |
| 10 | use clap::Parser; |